|
@@ -3,50 +3,71 @@
|
|
|
<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 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="../../static/report.png"></image>
|
|
|
+ <text>近期报告更新</text>
|
|
|
</view>
|
|
|
- <view class="banner-box-right">
|
|
|
- <image :src="researchBanner.IndexImg" @click="bannerSwiperHandler(null)"></image>
|
|
|
+ <view class="content-box-head-more" @click="toReportTotal">
|
|
|
+ <text>全部更新</text>
|
|
|
+ <image src="../../static/right-arrow.png"></image>
|
|
|
</view>
|
|
|
</view>
|
|
|
- <view class="recent-report-box">
|
|
|
- <view class="recent-report-box-head">
|
|
|
- <text class="report-box-head-title">近期报告更新</text>
|
|
|
- <text @click="toReportTotal">查看全部 >></text>
|
|
|
- </view>
|
|
|
- <view class="recent-report-box-body">
|
|
|
- <view class="recent-report-box-row" v-for="item in recentReportList" :key="item.ArticleId">
|
|
|
- <text class="recent-report-row-tag" :style="{ background: item.ButtonStyle }">
|
|
|
- {{item.ArticleTypeName}}
|
|
|
- </text>
|
|
|
- <view class="recent-report-row-title" :style="{ marginLeft: item.Title.substr(0, 1) != '【' ? '14rpx' : 0 }"
|
|
|
- @click="goDetail(item)">
|
|
|
- {{item.Title}}
|
|
|
- <text v-for="it in item.List" class="recent-report-row-object" :key="it.IndustrialManagementId"
|
|
|
- @click="(e) =>themeDetails(e,it, '月度收藏榜')">{{it.IndustryName}}</text>
|
|
|
- </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">
|
|
|
+ {{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="(e) =>themeDetails(e,it, '月度收藏榜')">{{it.IndustryName}}</text>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- <view class="resear-activity-box" v-if="activityData && activityData.length > 0">
|
|
|
- <view class="resear-activity-head">
|
|
|
- <text class="resear-activity-head-title">研选活动</text>
|
|
|
+ </view>
|
|
|
+ <view class="purchaser-content-box">
|
|
|
+ <view class="purchaser-content-box-head">
|
|
|
+ <view class="content-box-head-title">
|
|
|
+ <image src="../../static/purchaser-icon.png"></image>
|
|
|
+ <text>研选活动</text>
|
|
|
</view>
|
|
|
- <view class="" style="padding: 10rpx;">
|
|
|
+ <view class="content-box-head-more" @click="toActivityTotal">
|
|
|
+ <text>查看全部</text>
|
|
|
+ <image src="../../static/right-arrow.png"></image>
|
|
|
</view>
|
|
|
-
|
|
|
</view>
|
|
|
- <view class="end-activity-text" @click="endActivity">已结束活动 >></view>
|
|
|
+
|
|
|
+ <purchaserActivityList style="width: 682rpx;" ref="purchaserActivityListRef" >
|
|
|
+ <view class="no-data-box">
|
|
|
+ <view class="no-data">
|
|
|
+ <image src="../../static/no-data-activity.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>
|
|
@@ -63,20 +84,19 @@
|
|
|
<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 { Throttle } from "@/config/util.js";
|
|
|
|
|
|
export default {
|
|
|
- components: { freeCharge, SearchBar },
|
|
|
+ components: { freeCharge, SearchBar ,purchaserActivityList},
|
|
|
data() {
|
|
|
return {
|
|
|
//==============================
|
|
|
- pageSize:10,
|
|
|
- page_no:1,
|
|
|
bannerDataList:[],
|
|
|
researchBanner:{},
|
|
|
recentReportList:[],
|
|
|
- activityData:[]
|
|
|
};
|
|
|
},
|
|
|
methods: {
|
|
@@ -102,21 +122,6 @@ export default {
|
|
|
this.recentReportList = res.Data.List || []
|
|
|
}
|
|
|
},
|
|
|
- // 获取列表数据
|
|
|
- async getActivityList() {
|
|
|
- const res = await activity.getActivityListNew({
|
|
|
- PageSize: this.pageSize,
|
|
|
- CurrentIndex: this.page_no,
|
|
|
- IsResearch:true
|
|
|
- });
|
|
|
- if (res.Ret === 200) {
|
|
|
- if (this.page_no === 1) {
|
|
|
- this.activityData = res.Data.List || [];
|
|
|
- } else {
|
|
|
- this.activityData = this.activityData.concat(res.Data.List);
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
//去往文章详情页面
|
|
|
goDetail(item) {
|
|
|
this.$store.commit("setRouterReport", "月度收藏榜");
|
|
@@ -130,7 +135,7 @@ export default {
|
|
|
// 跳转研选已结束活动
|
|
|
endActivity() {
|
|
|
uni.navigateTo({
|
|
|
- url: "/activityPages/endActivity/endActivity?type=research",
|
|
|
+ url: "/pages-purchaser/finishedActivity/finishedActivity",
|
|
|
});
|
|
|
},
|
|
|
// 宣传单跳转
|
|
@@ -145,22 +150,17 @@ export default {
|
|
|
uni.navigateTo({
|
|
|
url: "/"+item.Path
|
|
|
})
|
|
|
- // if(item.type=='popup'){
|
|
|
- // // 调研
|
|
|
- // uni.navigateTo({
|
|
|
- // url: "/pages-purchaser/survey/surveySubmit"
|
|
|
- // })
|
|
|
- // }else{
|
|
|
- // uni.navigateTo({
|
|
|
- // url: "/pages-purchaser/leaflet/leaflet?leafletImage=https%3A%2F%2Fhzstatic.hzinsights.com%2Fcygx%2Fconfig%2Fresearch_11_0.png"
|
|
|
- // })
|
|
|
- // }
|
|
|
},
|
|
|
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=买方研选页面");
|
|
@@ -170,7 +170,7 @@ export default {
|
|
|
onLoad() {
|
|
|
this.getBannerData()
|
|
|
this.getRecentReportList()
|
|
|
- this.getActivityList()
|
|
|
+ this.$refs.purchaserActivityListRef.reloadActivityList();
|
|
|
},
|
|
|
onShow() {
|
|
|
this.$store.commit("setRouterReport", "买方研选");
|
|
@@ -187,11 +187,15 @@ export default {
|
|
|
fail: (err) => {},
|
|
|
};
|
|
|
},
|
|
|
+ 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: #f7f7f7;
|
|
|
+ background-color:#F3F5F9;
|
|
|
.top-content-box {
|
|
|
position: sticky;
|
|
|
top: 0;
|
|
@@ -209,7 +213,7 @@ export default {
|
|
|
align-items: center;
|
|
|
margin-bottom: 20rpx;
|
|
|
.banner-box-left{
|
|
|
- height: 170rpx;
|
|
|
+ height: 110rpx;
|
|
|
width: 448rpx;
|
|
|
margin-right: 20rpx;
|
|
|
swiper{
|
|
@@ -224,16 +228,16 @@ export default {
|
|
|
}
|
|
|
.banner-box-right{
|
|
|
image{
|
|
|
- height: 170rpx;
|
|
|
+ height: 110rpx;
|
|
|
width: 214rpx;
|
|
|
vertical-align: bottom;
|
|
|
border-radius: 8rpx;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- .recent-report-box{
|
|
|
- margin-bottom: 40rpx;
|
|
|
- .recent-report-box-head{
|
|
|
+ .purchaser-content-box{
|
|
|
+ margin-bottom: 20rpx;
|
|
|
+ .purchaser-content-box-head{
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
justify-content: space-between;
|
|
@@ -241,37 +245,73 @@ export default {
|
|
|
font-size: 28rpx;
|
|
|
font-weight: 400;
|
|
|
color: #3385FF;
|
|
|
- .report-box-head-title{
|
|
|
- font-weight: bold;
|
|
|
- color: #333333;
|
|
|
- font-size: 32rpx;
|
|
|
- line-height: 45rpx;
|
|
|
+ .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;
|
|
|
+ padding: 4rpx 10rpx;
|
|
|
+ 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;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- .recent-report-box-body{
|
|
|
- padding: 20rpx;
|
|
|
+ .purchaser-content-box-body{
|
|
|
+ padding: 0 20rpx 20rpx;
|
|
|
background-color: white;
|
|
|
- border-radius: 20rpx;
|
|
|
- .recent-report-box-row{
|
|
|
- padding: 24rpx 0;
|
|
|
+ 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;
|
|
|
}
|
|
|
- .recent-report-row-tag{
|
|
|
+ .purchaser-content-row-tag{
|
|
|
white-space: nowrap;
|
|
|
- padding: 0 15rpx;
|
|
|
- min-width: 78rpx;
|
|
|
- height: 34rpx;
|
|
|
+ padding: 4rpx 15rpx;
|
|
|
+ min-width: 110rpx;
|
|
|
+ height: 36rpx;
|
|
|
color: white;
|
|
|
- font-size: 24rpx;
|
|
|
- font-weight: bold;
|
|
|
- border-radius: 8rpx;
|
|
|
- margin-top: 6rpx;
|
|
|
+ font-size: 20rpx;
|
|
|
+ line-height: 28rpx;
|
|
|
+ font-weight: 500;
|
|
|
+ border-radius: 38rpx;
|
|
|
+ color: #928563;
|
|
|
+ background-color: #F2E8CC;
|
|
|
+ text-align: justify;
|
|
|
+ text-justify: inter-ideograph; // IE兼容
|
|
|
+ text-align-last: justify;
|
|
|
+ margin-right:8px ;
|
|
|
}
|
|
|
- .recent-report-row-title{
|
|
|
+ .purchaser-content-row-title{
|
|
|
-webkit-line-clamp: 2;
|
|
|
text-overflow: ellipsis;
|
|
|
overflow: hidden;
|
|
@@ -281,50 +321,47 @@ export default {
|
|
|
font-size: 28rpx;
|
|
|
font-weight: bold;
|
|
|
color: #333333;
|
|
|
- line-height: 40rpx;
|
|
|
- .recent-report-row-object{
|
|
|
+ line-height: 46rpx;
|
|
|
+ .purchaser-content-row-object{
|
|
|
color: #3385FF;
|
|
|
display: inline-block;
|
|
|
- margin-left: 2rpx;
|
|
|
+ margin-left: 4rpx;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
- .resear-activity-box{
|
|
|
- background-color: white;
|
|
|
- .resear-activity-head{
|
|
|
- padding:20rpx;
|
|
|
+ .no-data-box{
|
|
|
+ width: 682rpx;
|
|
|
+ height: 710rpx;
|
|
|
+ border-radius: 16rpx;
|
|
|
+ background-color: white;
|
|
|
display: flex;
|
|
|
+ flex-direction: column;
|
|
|
align-items: center;
|
|
|
- .resear-activity-head-title{
|
|
|
- font-size: 28rpx;
|
|
|
- font-weight: bold;
|
|
|
- color: #333333;
|
|
|
- line-height: 44rpx;
|
|
|
- }
|
|
|
- .resear-activity-head-options{
|
|
|
- width: 156rpx;
|
|
|
- text-align: center;
|
|
|
- line-height: 44rpx;
|
|
|
- background-color: #f8f8fa;
|
|
|
- box-sizing: border-box;
|
|
|
- border-radius: 48rpx;
|
|
|
- margin-left: 20rpx;
|
|
|
- font-size: 24rpx;
|
|
|
- color: #333333;
|
|
|
- }
|
|
|
- .active {
|
|
|
- background-color: #3385ff;
|
|
|
- color: #fff;
|
|
|
+ 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 {
|
|
|
- display: flex;
|
|
|
- justify-content: center;
|
|
|
- margin-top: 20rpx;
|
|
|
- color: #3385ff;
|
|
|
+ .end-activity-text{
|
|
|
+ text-align: center;
|
|
|
+ font-size: 24rpx;
|
|
|
+ line-height: 34rpx;
|
|
|
+ color:#376CBB ;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
// .notice-content {
|