瀏覽代碼

查研观向11.0

hbchen 1 年之前
父節點
當前提交
431ef33e56

+ 164 - 19
activityPages/activityDetail/jurisdiction/components.vue

@@ -35,14 +35,79 @@
         {{ jurisdictionList.IsResearch ? "提交申请" : "立即申请" }}
       </view>
       <view class="btn-cont back-btn" @click="backIndex"> 返回</view>
-      <view style="margin-top: 100rpx" v-if="jurisdictionList.IsResearch">
-        <view class="research-btn" @click="goRouterResearch('介绍')">
+      <view class="product-introduction-box" v-if="reportInfo.IsResearch">
+<!--    <view class="research-btn" @click="goRouterResearch('介绍')">
           <image src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/czbk/report_Yx.png"></image>
           点击查看买方研选产品介绍
         </view>
         <view class="research-btn" @click="goRouterResearch('报价')">
           <image src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/quotation_icon.png"></image>
           点击查看买方研选服务报价单
+        </view> -->
+        <view class="product-introduction">
+          <view class="introduction-header">
+            <view class="introduction-header-left"></view>
+            <view class="introduction-header-right">
+              <view class="introduction-title-CN">
+                产品介绍
+              </view>
+              <view class="introduction-title-US">
+                Product Introduction
+              </view>
+            </view>
+          </view>
+          <view class="introduction-body">
+            <view class="introduction-body-box">
+              <view class="body-box-title">
+                独家亮点
+              </view>
+              <view class="introduction-body-row"><span class="highHight-text">低至1000元</span>起访谈优质专家</view>
+              <view class="introduction-body-row">重点公司小范围交流<span class="highHight-text">破圈</span>参加</view>
+              <view class="introduction-body-row"><span class="highHight-text">海量</span>调研过程及纪要共享</view>
+            </view>
+            <view class="introduction-body-box">
+              <view class="body-box-title">
+                优质资源
+              </view>
+              <view class="introduction-body-row"><span class="highHight-text">500+</span>篇/年调研纪要更新,</view>
+              <view class="introduction-body-row"><span class="highHight-text">300+</span>场/年海内外重点公司小范围交流,</view>
+              <view class="introduction-body-row"><span class="highHight-text">100+</span>场/年热点线下调研,</view>
+              <view class="introduction-body-row"><span class="highHight-text">30000+</span>名优质行业专家长期合作,</view>
+              <view class="introduction-body-row"><span class="highHight-text">1000+</span>名优秀买方汇集,</view>
+            </view>
+            <view class="introduction-body-box">
+              <view class="body-box-title" style="margin-bottom: 18rpx;">
+                服务报价
+              </view>
+              <view class="body-row-content">
+                <view class="body-row-title">
+                  3万/年
+                </view>
+                <view class="introduction-body-row">含无限量调研纪要查阅</view>
+                <view class="introduction-body-row"><span class="highHight-text">以及3次</span>公开专家访谈;</view>
+              </view>
+              <view class="body-row-content">
+                <view class="body-row-title">
+                  5万/年
+                </view>
+                <view class="introduction-body-row">含无限量调研纪要查阅</view>
+                <view class="introduction-body-row">
+                  <span class="highHight-text">以及15次</span>公开专家访谈<span class="highHight-text">或30次</span>重点公司、专家小范围交流;
+                </view>
+              </view>
+              <view class="body-row-content" style="margin-bottom: 0;">
+                <view class="body-row-title">
+                  10万/年
+                </view>
+                <view class="introduction-body-row">含无限量调研纪要查阅</view>
+                <view class="introduction-body-row">
+                  <span class="highHight-text">以及40次</span>公开专家访谈
+                  <span class="highHight-text">或80次</span>重点公司、专家小范围交流
+                  <span class="highHight-text">或20次</span>私享专家一对一。
+                </view>
+              </view>
+            </view>
+          </view>
         </view>
       </view>
     </block>
@@ -155,7 +220,7 @@ export default {
 
 <style scoped lang="scss">
 .noauth-cont {
-  padding-top: 150rpx;
+  padding-top: 170rpx;
   text-align: center;
   font-size: 28rpx;
 
@@ -210,6 +275,86 @@ export default {
       z-index: 1;
     }
   }
+  .product-introduction-box{
+    background-color: #F7F7F7;
+    padding-top: 10rpx;
+    margin-top: 60rpx;
+    .product-introduction{
+      padding: 60rpx 60rpx 0;
+      background-color: white;
+      .introduction-header{
+        margin-bottom: 40rpx;
+        display: flex;
+        .introduction-header-left{
+          background-color: #CAAF8B;
+          height: 90rpx;
+          width: 14rpx;
+          margin-right: 20rpx;
+        }
+        .introduction-header-right{
+          text-align: left;
+          .introduction-title-CN{
+            font-weight: 500;
+            font-size: 34rpx;
+            color: #333333;
+            line-height: 42rpx;
+            margin-bottom: 8rpx;
+          }
+          .introduction-title-US{
+            font-weight: 400;
+            font-size: 28rpx;
+            color: #C0C4CC;
+            line-height: 42rpx;
+          }
+        }
+      }
+      .introduction-body{
+        .introduction-body-box{
+          text-align: left;
+          margin-bottom: 40rpx;
+          .body-row-content{
+            margin-bottom: 40rpx;
+            font-size: 34rpx;
+            line-height: 48rpx;
+            font-weight: 600;
+            color: #CAAF8B;
+            .body-row-title{
+              margin-left: 40rpx;
+            }
+          }
+          .body-box-title{
+            font-weight: 600;
+            font-size: 34rpx;
+            line-height: 48rpx;
+            padding-left: 40rpx;
+            position: relative;
+            margin-bottom: 22rpx;
+            &::before{
+              content: "";
+              height: 20rpx;
+              width: 20rpx;
+              background-color: #CAAF8B;
+              border-radius: 20rpx;
+              position: absolute;
+              left: 0;
+              top: 16rpx;
+            }
+          }
+          .introduction-body-row{
+            margin-left: 40rpx;
+            font-weight: 400;
+            font-size: 26rpx;
+            color: #333333;
+            line-height: 36rpx;
+          }
+          .highHight-text{
+            color: #CAAF8B;
+          }
+        }
+
+      }
+    }
+  }
   .month_card {
     width: 100%;
     height: 565rpx;
@@ -248,21 +393,21 @@ export default {
       margin-top: 10rpx;
     }
   }
-  .research-btn {
-    display: flex;
-    align-items: center;
-    font-size: 32rpx;
-    width: 546rpx;
-    height: 78rpx;
-    margin: 30rpx auto;
-    background: #f8f8fa;
-    border-radius: 4rpx;
-    padding-left: 40rpx;
-    image {
-      width: 40rpx;
-      height: 40rpx;
-      margin-right: 10rpx;
-    }
-  }
+  // .research-btn {
+  //   display: flex;
+  //   align-items: center;
+  //   font-size: 32rpx;
+  //   width: 546rpx;
+  //   height: 78rpx;
+  //   margin: 30rpx auto;
+  //   background: #f8f8fa;
+  //   border-radius: 4rpx;
+  //   padding-left: 40rpx;
+  //   image {
+  //     width: 40rpx;
+  //     height: 40rpx;
+  //     margin-right: 10rpx;
+  //   }
+  // }
 }
 </style>

+ 12 - 5
components/ItemComponent/activityItem.vue

@@ -632,19 +632,26 @@ export default {
       color: #fff;
     }
     .is-up {
-      background: linear-gradient(90deg, #0151ff 0%, #01b9ff 100%);
+      // background: linear-gradient(90deg, #0151ff 0%, #01b9ff 100%);
+      background-color: #DFE8FF;
+      color: #3385FF;
     }
     .is-up-state {
-      background: #ff9110;
+      background-color: #FFFCF6;
+      color:#F1925C ;  
     }
     .is-down-state {
-      background-color: #01a7ff;
+      background-color: #F6F9FF;
+      color: #3385FF;
     }
     .is-down {
-      background: linear-gradient(90deg, #ff8a05 0%, #ffb74d 100%);
+      // background: linear-gradient(90deg, #ff8a05 0%, #ffb74d 100%);
+      background-color: #FFFAF2;
+      color: #FF8A00;
     }
     .is-end {
-      background: #dddddd;
+      color: #C0C0C0;
+      background-color: #EDF2F5;
     }
     .state {
       border-radius: 4rpx 0 4rpx 0;

+ 1 - 0
components/activity/indexActivity.js

@@ -69,6 +69,7 @@ export default {
     signupIsAddOfCancel(item, type, valName = "") {
       let id = this.activityIdAdd || item.ActivityId;
       this.itemData = item;
+			console.log(this.itemData,item.IsSignup);
       if (item && item.IsSignup == 1) {
         if (item.IsResearchPoints) {
           if (isTimeGreaterThanCurrent(item.SiginupDeadline)) {

+ 16 - 9
components/activity/indexActivity.scss

@@ -20,19 +20,23 @@
     border-bottom: 1px solid #e5e5e5;
 
     text {
-      background: linear-gradient(264deg, #01baff 0%, #0044ff 100%);
-      width: 95rpx;
+      // background: linear-gradient(264deg, #01baff 0%, #0044ff 100%);
+      background-color: #DFE8FF;
+      color: #3385FF;
+      width: 110rpx;
       height: 40rpx;
       text-align: center;
       margin-right: 20rpx;
       font-size: 24rpx;
       line-height: 40rpx;
-      color: #fff;
-      border-radius: 8rpx;
+      // color: #fff;
+      border-radius: 4rpx;
     }
 
     .xianxia {
-      background: linear-gradient(264deg, #ff8801 0%, #ffb950 100%);
+      // background: linear-gradient(264deg, #ff8801 0%, #ffb950 100%);
+      background-color: #FFFAF2;
+      color: #FF8A00;
     }
   }
 
@@ -75,20 +79,23 @@
         width: 95rpx;
         height: 40rpx;
         background: #c9c9c9;
-        border-radius: 8rpx 0rpx 8rpx 0rpx;
+        border-radius: 4rpx;
         font-size: 20rpx;
         text-align: center;
         line-height: 40rpx;
-        color: #fff;
+        color: #C0C0C0;
+        background-color: #EDF2F5;
         z-index: 5;
       }
 
       .proceed {
-        background-color: #ffb54a;
+        background-color: #FFFCF6;
+        color:#F1925C ;        
       }
 
       .begin {
-        background-color: #01a7ff;
+        background-color: #F6F9FF;
+        color: #3385FF;
       }
     }
 

+ 277 - 0
components/activity/purchaserActivityList.vue

@@ -0,0 +1,277 @@
+<template>
+	<block v-if="isLoad">
+		<view class="purchaser-activity-list" v-if="collectList && collectList.length > 0">
+			<view class="purchaser-activity-box" v-for="(item,index) in collectList" :key="item.ActivityId"
+			:style="{'border-color':item.ActivityType==1?'#E7E0CD':'#8FA4C4'}">
+				<view class="purchaser-activity-head" >
+					<text :class="item.ActivityType == 1 ? 'online' : 'offline'" 
+					class="activity-which-line">{{ item.ActivityType == 1 ? "线上" : "线下" }}</text>
+					<text class="activity-label-text">
+						{{item.ActivityTypeName}}
+					</text>
+					<text class="activity-label-text">
+						{{item.Label}}
+					</text>
+				</view>
+				<view class="activity-title text_twoLine" @click="goDetail(item)">
+					<image v-if="item.IsResearchPoints" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/Research_Points.png"></image>
+					<image v-else-if="item.IsResearch" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/Research_Points.png"></image>
+					<image v-if="item.IsExternalLabel" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/activity_external.png"></image>
+					{{ item.ActivityName }}
+				</view>
+				<view class="activity-time-city-row" @click="goDetail(item)">
+					<text class="activity-time">{{ item.SourceType == 2 ? "" : item.ActivityTimeText }}</text>
+					<view class="activity-city" v-if="item.City">
+						<image src="../../static/location-new.png"></image>
+						{{ item.City }}
+					</view>
+				</view>
+				<view class="activity-buttons-row">
+					<block v-if="item.ActiveState == 1">
+						<text v-if="item.IsShowOutboundCall && item.ActivityTypeId == 1"
+						class="main-button" @click="signupIsAddOfCancel(item, 1)">{{ item.IsSignup == 1 ? "取消外呼" : "预约外呼" }}</text>
+						<text v-if="item.IsShowAppointment" @click="summaryIsHandel(item)">{{ item.IsAppointment == 1 ? "取消纪要" : "预约纪要" }}</text>
+						<text v-if="item.IsShowMeetingReminder" @click="meetingReminderAdd(item.ActivityId, item.IsCancelMeetingReminder)">
+							{{ item.IsCancelMeetingReminder == 0 ? "消息提醒" : "取消提醒" }}
+						</text>
+						<view v-if="item.IsShowHelpSsk">
+							<text @click="askingGo(item)">帮我带问</text>
+						</view>
+						<text v-if="item.IsShowOutboundCall && item.ActivityTypeId != 1"
+						 class="main-button" @click="signupIsAddOfCancel(item, 1)">{{ item.IsSignup == 1 ? "取消外呼" : "预约外呼" }}</text>
+						<text v-if="item.IsShowDetails" @click="goDetail(item)" class="main-button">查看详情</text>
+						<block v-if="item.IsShowSignup">
+							<block v-if="item.IsCClassMeeting && !item.IsYidongConduct">
+								<text class="main-button" @click="signupIsAddOfCancel(item, 3, 'CClass')">{{ item.IsSignup == 1 ? "取消报名" : "我要报名" }}</text>
+							</block>
+							<block v-else>
+								<text class="main-button" v-if="item.IsSignup !== 1" @click="wanttosignup(item)">我要报名</text>
+								<text class="main-button" v-else @click="signupIsAddOfCancel(item, 2)">{{ item.SignupType == 1 ? "取消外呼" : "取消报名" }}</text>
+							</block>
+						</block>
+					</block>
+					<view class="bottom-box real-time" v-if="item.ActiveState == 2 && item.ActivityTypeId == 1">
+						<text class="main-button" @click="askingGo(item, '提问')">实时提问</text>
+					</view>
+				</view>
+			</view>
+			<slot name="finished"></slot>
+			<SelectPopup :selectShow.sync="selectShow" @signupIsAddOfCancel="signupIsAddOfCancel" :selectYdong="selectYdong" />
+			<!-- 所有自定义弹框 -->
+			<modalDialog
+				:isShow="isShow"
+				:signupType="signupType"
+				:goFollow="goFollow"
+				:hasPermission="hasPermission"
+				:jurisdictionList="jurisdictionList"
+				:editIsShow="editIsShow"
+				:isCancelShow="isCancelShow"
+				:idTypeCancel="idTypeCancel"
+				:countryCode="countryCode"
+				:mobileEdit="mobileEdit"
+				:goOnNextStep="goOnNextStep"
+				:isShowhasPermission="isShowhasPermission"
+				:applyForIsShow="applyForIsShow"
+				:mailboxBinding="mailboxBinding"
+			/>
+		</view>
+		<slot v-else></slot>
+	</block>
+	<view  v-else>
+		
+	</view>
+</template>
+
+<script>
+	import myActivityMixin from "@/components/activity/indexActivity.js";
+	import modalDialog from "@/components/modalDialog.vue";
+	import SelectPopup from "@/components/activity/selectPopup";
+	import {  activity} from "@/config/api.js";
+	
+	export default {
+		mixins: [myActivityMixin],
+		components:{modalDialog,SelectPopup},
+		props:{
+			// 1-未开始、进行中 0-已结束
+			activityType:{
+				type: Number,
+				default:1
+			},
+			whichDay:{
+				type: String,
+				default:''
+			},
+			typeName:{
+				type: String,
+				default:''
+			}
+		},
+		data(){
+			return {
+				pageSize:10,
+				page_no:1,
+				collectList:[],
+				pages:0,
+				isLoad:false
+			}
+		},
+		methods:{
+			// 获取列表数据
+			async getActivityList() {
+				console.log(this.whichDay,this.typeName);
+			  const res = await activity.getActivityListNew({
+			    PageSize: this.pageSize,
+			    CurrentIndex: this.page_no,
+					IsResearch:true,
+					ActiveState:this.activityType==1? '':3,
+					WhichDay:this.whichDay,
+					TypeName:this.typeName
+			  })
+			  if (res.Ret === 200) {
+			    if (this.page_no === 1) {
+			      this.collectList = res.Data.List || [];
+			    } else {
+			      this.collectList = this.collectList.concat(res.Data.List || []);
+			    }
+					this.pages = res.Data.Paging.Pages || 0
+					this.isLoad=true
+			  }
+			},
+			reloadActivityList(){
+				this.page_no=1
+				this.getActivityList()
+			},
+			loadActivityMore(){
+				this.page_no++
+				this.getActivityList()
+			},
+		},
+		created() {
+			// this.getActivityList()
+		}
+	}
+</script>
+
+<style scoped lang="scss">
+	// 从查研观向11.0 版本开始陆续更换各个页面的页面主题。先从研选页面开始
+	.purchaser-activity-box{
+		width: 100%;
+		padding: 40rpx 20rpx 30rpx;
+		border-top: solid 10rpx ;
+		border-radius: 16rpx;
+		background-color: white;
+		margin-bottom: 20rpx;
+		.purchaser-activity-head{
+			display: flex;
+			align-items: center;
+			margin-bottom: 40rpx;
+			.activity-which-line{
+				min-width: 110rpx;
+				height: 40rpx;
+				border-radius: 4rpx;
+				font-size: 24rpx;
+				line-height: 34rpx;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				color: #333333;
+				font-weight: 500;
+			}
+			.online{
+				background-color: #F2E8CC;
+			}
+			.offline{
+				background-color: #DFE8FF;
+			}
+			.activity-label-text{
+				white-space: nowrap;
+				margin-left: 20rpx;
+				background-color:#F0F1F3 ;
+				color: #333333;
+				font-weight: 400;
+				font-size: 24rpx;
+				line-height: 34rpx;
+				height: 40rpx;
+				min-width: 154rpx;
+				padding: 0 12rpx;
+				border-radius: 40rpx;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				&:last-child{
+					overflow: hidden;
+					text-overflow: ellipsis;
+					white-space: nowrap;
+					display: block;
+					padding: 3rpx 12rpx;
+					text-align: center;
+				}
+			}
+		}
+		.activity-title{
+			font-weight: 700;
+			margin-bottom: 20rpx;
+			image{
+				width: 73rpx;
+				height: 30rpx;
+				vertical-align: bottom;
+				margin-right: 8rpx;
+				margin-bottom: 4rpx;
+			}
+		}
+		.activity-time-city-row{
+			display: flex;
+			margin-bottom: 40rpx;
+			.activity-time{
+				font-size: 24rpx;
+				font-weight: 400;
+				line-height: 34rpx;
+				color: #333333;
+				margin-right: 20rpx;
+				white-space: nowrap;
+			}
+			.activity-city{
+				display: flex;
+				align-items: center;
+				font-size: 24rpx;
+				line-height: 34rpx;
+				color: #376CBB;
+				overflow: hidden;
+				image{
+					height: 24rpx;
+					min-width: 24rpx;
+					width: 24rpx;
+				}
+				text{
+					white-space: nowrap;
+					overflow: hidden;
+					text-overflow: ellipsis;
+				}
+			}
+		}
+		.activity-buttons-row{
+			display: flex;
+			align-items: center;
+			justify-content: flex-end;
+			text{
+				height: 52rpx;
+				min-width: 136rpx;
+				width: 136rpx;
+				padding: 4rpx 20rpx;
+				box-sizing: border-box;
+				color: #376CBB;
+				background-color: white;
+				border: solid 2rpx #376CBB;
+				white-space: nowrap;
+				font-size: 24rpx;
+				line-height: 44rpx;
+				margin-left: 20rpx;
+				border-radius: 52rpx;
+			}
+			.main-button{
+				color: white;
+				background-color: #376CBB;
+			}
+		}
+	}
+</style>

+ 16 - 2
config/modules/purchaser.js

@@ -6,5 +6,19 @@ export const purchaserApi = {
     getPurchaserBanner: () => {
       return getHttp("/banner/listYx");
     },
-   
-  };
+		/**
+		 * 调研提交
+		 * params:{string Content:Content}
+		 */
+		purchaserSurveySubmit: (params) => {
+		  return postHttp("/banner/add/yxSurvey",params);
+		},
+		/**
+		 * 调研详情
+		 * params:{number SuveryId:SuveryId}
+		 */
+		purchaserSurveyDetail: (params) => {
+		  return getHttp("/banner/yxSurvey/detail",params);
+		},
+  };
+	

+ 167 - 22
pageMy/reportDetail/reportDetail.vue

@@ -42,15 +42,80 @@
             </view>
             <view v-if="haveAuth === 3" class="btn-cont" @click="sellerApplyAuth"> {{ isShowText ? "提交申请" : "立即申请" }}</view>
             <view class="btn-cont back-btn" @click="backIndex"> 返回 </view>
-            <view style="margin-top: 100rpx" v-if="reportInfo.IsResearch">
-              <view class="research-btn" @click="goRouterResearch('介绍')">
+            <view class="product-introduction-box" v-if="reportInfo.IsResearch">
+<!--              <view class="research-btn" @click="goRouterResearch('介绍')">
                 <image src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/czbk/report_Yx.png"></image>
                 点击查看买方研选产品介绍
               </view>
               <view class="research-btn" @click="goRouterResearch('报价')">
                 <image src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/quotation_icon.png"></image>
                 点击查看买方研选服务报价单
-              </view>
+              </view> -->
+							<view class="product-introduction">
+								<view class="introduction-header">
+									<view class="introduction-header-left"></view>
+									<view class="introduction-header-right">
+										<view class="introduction-title-CN">
+											产品介绍
+										</view>
+										<view class="introduction-title-US">
+											Product Introduction
+										</view>
+									</view>
+								</view>
+								<view class="introduction-body">
+                  <view class="introduction-body-box">
+                    <view class="body-box-title">
+                      独家亮点
+                    </view>
+                    <view class="introduction-body-row"><span class="highHight-text">低至1000元</span>起访谈优质专家</view>
+                    <view class="introduction-body-row">重点公司小范围交流<span class="highHight-text">破圈</span>参加</view>
+                    <view class="introduction-body-row"><span class="highHight-text">海量</span>调研过程及纪要共享</view>
+                  </view>
+                  <view class="introduction-body-box">
+                    <view class="body-box-title">
+                      优质资源
+                    </view>
+                    <view class="introduction-body-row"><span class="highHight-text">500+</span>篇/年调研纪要更新,</view>
+                    <view class="introduction-body-row"><span class="highHight-text">300+</span>场/年海内外重点公司小范围交流,</view>
+                    <view class="introduction-body-row"><span class="highHight-text">100+</span>场/年热点线下调研,</view>
+                    <view class="introduction-body-row"><span class="highHight-text">30000+</span>名优质行业专家长期合作,</view>
+                    <view class="introduction-body-row"><span class="highHight-text">1000+</span>名优秀买方汇集,</view>
+                  </view>
+                  <view class="introduction-body-box">
+                    <view class="body-box-title" style="margin-bottom: 18rpx;">
+                      服务报价
+                    </view>
+                    <view class="body-row-content">
+                      <view class="body-row-title">
+                        3万/年
+                      </view>
+                      <view class="introduction-body-row">含无限量调研纪要查阅</view>
+                      <view class="introduction-body-row"><span class="highHight-text">以及3次</span>公开专家访谈;</view>
+                    </view>
+                    <view class="body-row-content">
+                      <view class="body-row-title">
+                        5万/年
+                      </view>
+                      <view class="introduction-body-row">含无限量调研纪要查阅</view>
+                      <view class="introduction-body-row">
+                        <span class="highHight-text">以及15次</span>公开专家访谈<span class="highHight-text">或30次</span>重点公司、专家小范围交流;
+                      </view>
+                    </view>
+                    <view class="body-row-content" style="margin-bottom: 0;">
+                      <view class="body-row-title">
+                        10万/年
+                      </view>
+                      <view class="introduction-body-row">含无限量调研纪要查阅</view>
+                      <view class="introduction-body-row">
+                        <span class="highHight-text">以及40次</span>公开专家访谈
+                        <span class="highHight-text">或80次</span>重点公司、专家小范围交流
+                        <span class="highHight-text">或20次</span>私享专家一对一。
+                      </view>
+                    </view>
+                  </view>
+								</view>
+							</view>
             </view>
           </block>
           <block v-else>
@@ -346,7 +411,7 @@ export default {
 <style lang="scss" scoped>
 .reportDetail-container {
   background-color: #fff;
-  padding: 20rpx 34rpx 134rpx;
+  padding: 20rpx 0 134rpx;
   .report-top {
     color: #999999;
     .report-title {
@@ -408,7 +473,7 @@ export default {
     }
   }
   .noauth-cont {
-    padding-top: 150rpx;
+    padding-top: 170rpx;
     text-align: center;
     font-size: 28rpx;
     .noauth-ico {
@@ -456,6 +521,86 @@ export default {
         z-index: 1;
       }
     }
+    .product-introduction-box{
+			background-color: #F7F7F7;
+			padding-top: 10rpx;
+			margin-top: 60rpx;
+			.product-introduction{
+				padding: 60rpx 60rpx 0;
+				background-color: white;
+				.introduction-header{
+					margin-bottom: 40rpx;
+					display: flex;
+					.introduction-header-left{
+						background-color: #CAAF8B;
+						height: 90rpx;
+						width: 14rpx;
+						margin-right: 20rpx;
+					}
+					.introduction-header-right{
+						text-align: left;
+						.introduction-title-CN{
+							font-weight: 500;
+							font-size: 34rpx;
+							color: #333333;
+							line-height: 42rpx;
+							margin-bottom: 8rpx;
+						}
+						.introduction-title-US{
+							font-weight: 400;
+							font-size: 28rpx;
+							color: #C0C4CC;
+							line-height: 42rpx;
+						}
+					}
+				}
+				.introduction-body{
+          .introduction-body-box{
+            text-align: left;
+            margin-bottom: 40rpx;
+            .body-row-content{
+              margin-bottom: 40rpx;
+              font-size: 34rpx;
+              line-height: 48rpx;
+              font-weight: 600;
+              color: #CAAF8B;
+              .body-row-title{
+                margin-left: 40rpx;
+              }
+            }
+            .body-box-title{
+              font-weight: 600;
+              font-size: 34rpx;
+              line-height: 48rpx;
+              padding-left: 40rpx;
+              position: relative;
+              margin-bottom: 22rpx;
+              &::before{
+                content: "";
+                height: 20rpx;
+                width: 20rpx;
+                background-color: #CAAF8B;
+                border-radius: 20rpx;
+                position: absolute;
+                left: 0;
+                top: 16rpx;
+              }
+            }
+            .introduction-body-row{
+              margin-left: 40rpx;
+              font-weight: 400;
+              font-size: 26rpx;
+              color: #333333;
+              line-height: 36rpx;
+            }
+            .highHight-text{
+              color: #CAAF8B;
+            }
+          }
+
+				}
+			}
+		}
   }
   .month_card {
     width: 100%;
@@ -494,22 +639,22 @@ export default {
       margin-top: 10rpx;
     }
   }
-  .research-btn {
-    display: flex;
-    align-items: center;
-    font-size: 32rpx;
-    width: 546rpx;
-    height: 78rpx;
-    margin: 30rpx auto;
-    background: #f8f8fa;
-    border-radius: 4rpx;
-    padding-left: 40rpx;
-    /* 字体/333 */
-    image {
-      width: 40rpx;
-      height: 40rpx;
-      margin-right: 10rpx;
-    }
-  }
+  // .research-btn {
+  //   display: flex;
+  //   align-items: center;
+  //   font-size: 32rpx;
+  //   width: 546rpx;
+  //   height: 78rpx;
+  //   margin: 30rpx auto;
+  //   background: #f8f8fa;
+  //   border-radius: 4rpx;
+  //   padding-left: 40rpx;
+  //   /* 字体/333 */
+  //   image {
+  //     width: 40rpx;
+  //     height: 40rpx;
+  //     margin-right: 10rpx;
+  //   }
+  // }
 }
 </style>

+ 164 - 19
pageMy/reportPage/reportPage.vue

@@ -69,14 +69,79 @@
           </view>
           <view v-if="haveAuth === 3" class="btn-cont" @click="sellerApplyAuth"> {{ isShowText ? "提交申请" : "立即申请" }}</view>
           <view class="btn-cont back-btn" @click="backIndex"> 返回 </view>
-          <view style="margin-top: 100rpx" v-if="reportInfo.IsResearch">
-            <view class="research-btn" @click="goRouterResearch('介绍')">
+          <view class="product-introduction-box" v-if="reportInfo.IsResearch">
+  <!--      <view class="research-btn" @click="goRouterResearch('介绍')">
               <image src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/czbk/report_Yx.png"></image>
               点击查看买方研选产品介绍
             </view>
             <view class="research-btn" @click="goRouterResearch('报价')">
               <image src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/quotation_icon.png"></image>
               点击查看买方研选服务报价单
+            </view> -->
+            <view class="product-introduction">
+              <view class="introduction-header">
+                <view class="introduction-header-left"></view>
+                <view class="introduction-header-right">
+                  <view class="introduction-title-CN">
+                    产品介绍
+                  </view>
+                  <view class="introduction-title-US">
+                    Product Introduction
+                  </view>
+                </view>
+              </view>
+              <view class="introduction-body">
+                <view class="introduction-body-box">
+                  <view class="body-box-title">
+                    独家亮点
+                  </view>
+                  <view class="introduction-body-row"><span class="highHight-text">低至1000元</span>起访谈优质专家</view>
+                  <view class="introduction-body-row">重点公司小范围交流<span class="highHight-text">破圈</span>参加</view>
+                  <view class="introduction-body-row"><span class="highHight-text">海量</span>调研过程及纪要共享</view>
+                </view>
+                <view class="introduction-body-box">
+                  <view class="body-box-title">
+                    优质资源
+                  </view>
+                  <view class="introduction-body-row"><span class="highHight-text">500+</span>篇/年调研纪要更新,</view>
+                  <view class="introduction-body-row"><span class="highHight-text">300+</span>场/年海内外重点公司小范围交流,</view>
+                  <view class="introduction-body-row"><span class="highHight-text">100+</span>场/年热点线下调研,</view>
+                  <view class="introduction-body-row"><span class="highHight-text">30000+</span>名优质行业专家长期合作,</view>
+                  <view class="introduction-body-row"><span class="highHight-text">1000+</span>名优秀买方汇集,</view>
+                </view>
+                <view class="introduction-body-box">
+                  <view class="body-box-title" style="margin-bottom: 18rpx;">
+                    服务报价
+                  </view>
+                  <view class="body-row-content">
+                    <view class="body-row-title">
+                      3万/年
+                    </view>
+                    <view class="introduction-body-row">含无限量调研纪要查阅</view>
+                    <view class="introduction-body-row"><span class="highHight-text">以及3次</span>公开专家访谈;</view>
+                  </view>
+                  <view class="body-row-content">
+                    <view class="body-row-title">
+                      5万/年
+                    </view>
+                    <view class="introduction-body-row">含无限量调研纪要查阅</view>
+                    <view class="introduction-body-row">
+                      <span class="highHight-text">以及15次</span>公开专家访谈<span class="highHight-text">或30次</span>重点公司、专家小范围交流;
+                    </view>
+                  </view>
+                  <view class="body-row-content" style="margin-bottom: 0;">
+                    <view class="body-row-title">
+                      10万/年
+                    </view>
+                    <view class="introduction-body-row">含无限量调研纪要查阅</view>
+                    <view class="introduction-body-row">
+                      <span class="highHight-text">以及40次</span>公开专家访谈
+                      <span class="highHight-text">或80次</span>重点公司、专家小范围交流
+                      <span class="highHight-text">或20次</span>私享专家一对一。
+                    </view>
+                  </view>
+                </view>
+              </view>
             </view>
           </view>
         </block>
@@ -478,7 +543,7 @@ export default {
     }
   }
   .noauth-cont {
-    padding-top: 150rpx;
+    padding-top: 170rpx;
     text-align: center;
     font-size: 28rpx;
     .noauth-ico {
@@ -526,6 +591,86 @@ export default {
         z-index: 1;
       }
     }
+    .product-introduction-box{
+			background-color: #F7F7F7;
+			padding-top: 10rpx;
+			margin-top: 60rpx;
+			.product-introduction{
+				padding: 60rpx 60rpx 0;
+				background-color: white;
+				.introduction-header{
+					margin-bottom: 40rpx;
+					display: flex;
+					.introduction-header-left{
+						background-color: #CAAF8B;
+						height: 90rpx;
+						width: 14rpx;
+						margin-right: 20rpx;
+					}
+					.introduction-header-right{
+						text-align: left;
+						.introduction-title-CN{
+							font-weight: 500;
+							font-size: 34rpx;
+							color: #333333;
+							line-height: 42rpx;
+							margin-bottom: 8rpx;
+						}
+						.introduction-title-US{
+							font-weight: 400;
+							font-size: 28rpx;
+							color: #C0C4CC;
+							line-height: 42rpx;
+						}
+					}
+				}
+				.introduction-body{
+          .introduction-body-box{
+            text-align: left;
+            margin-bottom: 40rpx;
+            .body-row-content{
+              margin-bottom: 40rpx;
+              font-size: 34rpx;
+              line-height: 48rpx;
+              font-weight: 600;
+              color: #CAAF8B;
+              .body-row-title{
+                margin-left: 40rpx;
+              }
+            }
+            .body-box-title{
+              font-weight: 600;
+              font-size: 34rpx;
+              line-height: 48rpx;
+              padding-left: 40rpx;
+              position: relative;
+              margin-bottom: 22rpx;
+              &::before{
+                content: "";
+                height: 20rpx;
+                width: 20rpx;
+                background-color: #CAAF8B;
+                border-radius: 20rpx;
+                position: absolute;
+                left: 0;
+                top: 16rpx;
+              }
+            }
+            .introduction-body-row{
+              margin-left: 40rpx;
+              font-weight: 400;
+              font-size: 26rpx;
+              color: #333333;
+              line-height: 36rpx;
+            }
+            .highHight-text{
+              color: #CAAF8B;
+            }
+          }
+
+				}
+			}
+		}
   }
   .month_card {
     width: 100%;
@@ -564,21 +709,21 @@ export default {
       margin-top: 10rpx;
     }
   }
-  .research-btn {
-    display: flex;
-    align-items: center;
-    font-size: 32rpx;
-    width: 546rpx;
-    height: 78rpx;
-    margin: 30rpx auto;
-    background: #f8f8fa;
-    border-radius: 4rpx;
-    padding-left: 40rpx;
-    image {
-      width: 40rpx;
-      height: 40rpx;
-      margin-right: 10rpx;
-    }
-  }
+  // .research-btn {
+  //   display: flex;
+  //   align-items: center;
+  //   font-size: 32rpx;
+  //   width: 546rpx;
+  //   height: 78rpx;
+  //   margin: 30rpx auto;
+  //   background: #f8f8fa;
+  //   border-radius: 4rpx;
+  //   padding-left: 40rpx;
+  //   image {
+  //     width: 40rpx;
+  //     height: 40rpx;
+  //     margin-right: 10rpx;
+  //   }
+  // }
 }
 </style>

+ 4 - 2
pages-purchaser/components/cssAuthorTheme.scss

@@ -113,11 +113,13 @@
     }
 
     .li-type {
+        min-width: 126rpx;
         padding: 0 15rpx;
-        height: 29rpx;
-        margin-top: 6rpx;
+        height: 34rpx;
+        // margin-top: 6rpx;
         display: flex;
         align-items: center;
+        justify-content: center;
         border-radius: 4rpx;
         color: #fff;
         font-size: 24rpx;

+ 15 - 14
pages-purchaser/components/purchaser-report-list.scss

@@ -6,20 +6,21 @@
 	.content-ul {
 		border-top: 1px solid #f6f6f6;
 		padding:0;
-		.li-type {
-			padding: 0;
-			width: 91rpx;
-			height: 28rpx;
-			margin-top: 6rpx;
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			flex-shrink: 0;
-			border-radius: 4rpx;
-			color: #fff;
-			font-size: 20rpx;
-			font-weight: 500;
-		}
+		// .li-type {
+		// 	min-width: 126rpx;
+		// 	padding: 0 15rpx;
+		// 	// width: 91rpx;
+		// 	height: 34rpx;
+		// 	// margin-top: 6rpx;
+		// 	display: flex;
+		// 	align-items: center;
+		// 	justify-content: center;
+		// 	flex-shrink: 0;
+		// 	border-radius: 4rpx;
+		// 	color: #fff;
+		// 	font-size: 20rpx;
+		// 	font-weight: 500;
+		// }
 		.li-item {
 			.li-user {
 				width: 200rpx;

+ 75 - 0
pages-purchaser/finishedActivity/finishedActivity.vue

@@ -0,0 +1,75 @@
+<template>
+	<view class="finished-activity-container">
+		<purchaserActivityList style="width: 682rpx;" ref="purchaserActivityListRef" :activityType="0">
+			<view class="no-data-box">
+				<view class="no-data">
+					<image src="../../static/no-data-activity.png" ></image>
+					<text>暂无对应活动</text>
+				</view>
+			</view>
+		</purchaserActivityList>
+		<Loading />
+	</view>
+</template>
+
+<script>
+	import purchaserActivityList from "@/components/activity/purchaserActivityList.vue"
+	import { Throttle } from "@/config/util.js";
+	import { activity } from "@/config/api";
+	
+	export default {
+		components:{purchaserActivityList},
+		data() {
+			return {
+				
+			}
+		},
+		methods: {
+			
+		},
+		onLoad() {
+			this.$refs.purchaserActivityListRef.reloadActivityList();
+		},
+		onReachBottom: Throttle(function () {
+		  if (this.$refs.purchaserActivityListRef.page_no >= this.$refs.purchaserActivityListRef.pages) return;
+		  this.$refs.purchaserActivityListRef.loadActivityMore();
+		}),
+	}
+</script>
+
+<style lang="scss" scoped>
+	.finished-activity-container{
+		background-color: #F3F5F9;
+		// height: 100vh;
+		min-height: 100vh;
+		padding: 20rpx 34rpx 36rpx;
+		.no-data-box{
+			width: 682rpx;
+			height: calc(100vh - 56rpx);
+			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;
+				justify-content: center;
+				margin-bottom: 40rpx;
+				image{
+					width: 412rpx;
+					height: 380rpx;
+					margin-bottom: 40rpx;
+				}
+				text{
+					font-size: 24rpx;
+					line-height: 34rpx;
+					color: #999999;
+				}
+			}
+		}
+	}
+	
+</style>

+ 176 - 0
pages-purchaser/purchaserActivity/purchaserActivity.vue

@@ -0,0 +1,176 @@
+<template>
+	<view class="purchaser-activity-container">
+		<view class="search-bar">
+			<text v-for="item in activityTimeList" :key="item.Id" :class="item.IsChoose ? 'active' : ''" 
+			@click="isActivityDate(item.Id)">{{ item.StatusName }}</text>
+			<text v-for="item in activityTypeList" :key="item.Id" :class="item.IsChoose ? 'active' : ''" 
+			@click="isActivityType(item.Id)">{{ item.StatusName }}</text>
+		</view>
+		<view class="purchaser-activity-list">
+			<purchaserActivityList style="width: 682rpx;" ref="purchaserActivityListRef" :whichDay="whichDay"
+			:typeName="typeName">
+				<view class="no-data-box">
+					<view class="no-data">
+						<image src="../../static/no-data-activity.png" ></image>
+						<text>暂无对应活动</text>
+					</view>
+				</view>
+			</purchaserActivityList>
+		</view>
+		<Loading />
+	</view>
+</template>
+
+<script>
+	import purchaserActivityList from "@/components/activity/purchaserActivityList.vue"
+	import { Throttle } from "@/config/util.js";
+	import { activity } from "@/config/api";
+	
+	export default {
+		components:{purchaserActivityList},
+		data() {
+			return {
+				activityTimeList: [
+				  { Id: 1, IsChoose: false, StatusName: "今日活动" },
+				  { Id: 2, IsChoose: false, StatusName: "明日活动" },
+				],
+				activityTypeList: [
+				  { Id: 1, IsChoose: false, StatusName: "公司调研电话会" }
+				],
+				whichDay:'',
+				typeName:''
+			}
+		},
+		methods: {
+			// 今日明日的点击事件
+			isActivityDate(id) {
+			  this.activityTimeList.forEach((item) => {
+			    if (item.Id == id) item.IsChoose = !item.IsChoose;
+			  });
+			  const arr = [];
+			  this.activityTimeList.forEach((item) => item.IsChoose && arr.push(item.Id));
+			  this.whichDay = arr.join(",");
+				this.typeName=""
+				this.activityTypeList.map(item =>{
+					item.IsChoose=false
+				})
+				this.$nextTick(()=>{
+					this.$refs.purchaserActivityListRef.reloadActivityList();
+				})
+				
+			},
+			isActivityType(id){
+				this.activityTypeList.forEach((item) => {
+				  if (item.Id == id) item.IsChoose = !item.IsChoose;
+				});
+				const arr = [];
+				this.activityTypeList.forEach((item) => item.IsChoose && arr.push(item.Id));
+				this.typeName = arr.join(",");
+				this.whichDay=""
+				this.activityTimeList.map(item =>{
+					item.IsChoose=false
+				})
+				this.$nextTick(()=>{
+					this.$refs.purchaserActivityListRef.reloadActivityList();
+				})
+			},
+			loadShare(option){
+				// if(!option) return
+				this.whichDay = option.whichDay || ""
+				let whichDayArr = this.whichDay.split(',')
+				this.typeName = option.typeName || ""
+				let typeNameArr = this.typeName.split(',')
+				this.activityTimeList.map(item =>{
+					item.IsChoose=  whichDayArr.includes(item.Id+'') 
+				})
+				this.activityTypeList.forEach((item) => {
+				  item.IsChoose=  typeNameArr.includes(item.Id+'') 
+				});
+				this.$nextTick(()=>{
+					this.$refs.purchaserActivityListRef.reloadActivityList();
+				})
+			}
+		},
+		/** 用户点击分享 */
+		onShareAppMessage: function (res) {
+		  return {
+		    title: this.isHorzMobile ? "好友向您推荐此内容,上传名片享查研观向免费月卡!" : "近期所有研选活动预告",
+		    path: "/pages-purchaser/purchaserActivity/purchaserActivity?whichDay=" + this.whichDay + "&typeName=" + this.typeName,
+		  };
+		},
+		onLoad(option) {
+			this.loadShare(option);
+		},
+		onReachBottom: Throttle(function () {
+		  if (this.$refs.purchaserActivityListRef.page_no >= this.$refs.purchaserActivityListRef.pages) return;
+		  this.$refs.purchaserActivityListRef.loadActivityMore();
+		}),
+	}
+</script>
+
+<style lang="scss" scoped>
+	.purchaser-activity-container{
+		background-color: #F3F5F9;
+		min-height: 100vh;
+		// height: 100vh;
+		.search-bar{
+			width: 100vw;
+			height: 82rpx;
+			display: flex;
+			align-items: center;
+			padding: 0 34rpx;
+			background-color: white;
+			position: sticky;
+			top: 0;
+			text {
+			  // width: 136rpx;
+				min-width: 136rpx;
+				padding: 4rpx 20rpx;
+				height: 42rpx;
+			  text-align: center;
+			  line-height: 34rpx;
+			  background-color: #f8f8fa;
+			  box-sizing: border-box;
+			  border-radius: 44rpx;
+				margin-right: 20rpx;
+				font-size: 24rpx;
+				white-space: nowrap;
+			}
+			.active {
+			  background-color: #3385ff;
+			  color: #fff;
+			}
+		}
+		.purchaser-activity-list{
+			padding: 20rpx 34rpx 36rpx;
+			.no-data-box{
+				width: 682rpx;
+				// height: 100%;
+				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;
+					justify-content: center;
+					height: calc(100vh - 138rpx);
+					image{
+						width: 412rpx;
+						height: 380rpx;
+						margin-bottom: 40rpx;
+					}
+					text{
+						font-size: 24rpx;
+						line-height: 34rpx;
+						color: #999999;
+					}
+				}
+			}
+		}
+	}
+	
+</style>

+ 13 - 5
pages-purchaser/survey/surveyDetail.vue

@@ -5,24 +5,32 @@
 </template>
 
 <script>
+	import {purchaserApi} from "@/config/modules/purchaser.js"
 	export default {
 		data() {
 			return {
-				surveyText:"放假都是就覅噢积分穷人家自己辅导费加工费记得根据佛倒计时发件地是和覅风刀霜剑爱附件活塞和分类撒谎腐败的世界杯金飞达"+
-					"的附件萨林杰爱 房间打扫季付比赛覅多少返回蒂萨发哈覅红诶过Hi好个覅和覅活动if和第四幅和实地"
+				surveyText:""
 			}
 		},
 		methods: {
-
+			getDetail(surveyId){
+				purchaserApi.purchaserSurveyDetail({SuveryId:surveyId}).then(res=>{
+					if(res.Ret == 200){
+						this.surveyText = res.Data.Detail.Content || '暂无'
+					}
+				})
+			}
 		},
 		onLoad(option) {
-
+			// console.log(option,'option');
+			this.getDetail(option.surveyId || 0)
 		}
 	}
 </script>
 
 <style lang="scss" scoped>
 	.survey-box{
-		padding: 30rpx 20rpx;
+		padding: 60rpx 40rpx;
+		font-size: 32rpx;
 	}
 </style>

+ 12 - 8
pages-purchaser/survey/surveySubmit.vue

@@ -13,6 +13,7 @@
 
 <script>
 	import {leafletUrl} from '@/config/config'
+	import {purchaserApi} from "@/config/modules/purchaser.js"
 	export default {
 		data() {
 			return {
@@ -32,15 +33,18 @@
 					})
 					return
 				}
-				//TODO: 提交接口对接
-				uni.showToast({
-					title:'提交成功,请等待销售与您联系',
-					duration:1500,
-					icon:'none'
+				purchaserApi.purchaserSurveySubmit({Content:this.surveyText}).then(res=>{
+					if (res.Ret === 200) {
+						uni.showToast({
+							title:'提交成功,请等待销售与您联系',
+							duration:2000,
+							icon:'none'
+						})
+						setTimeout(()=>{
+							uni.navigateBack()
+						},2000)
+					}
 				})
-				setTimeout(()=>{
-					uni.navigateBack()
-				},1500)
 			}
 		},
 		onLoad(option) {

+ 19 - 1
pages.json

@@ -487,7 +487,25 @@
 							"enablePullDownRefresh": false
 						}
 					}
-			]
+			    ,
+					{
+						"path" : "finishedActivity/finishedActivity",
+						"style" :                                                                                    
+						{
+								"navigationBarTitleText": "已结束活动",
+								"enablePullDownRefresh": false
+						}
+					}
+					,
+					{
+						"path" : "purchaserActivity/purchaserActivity",
+						"style" :                                                                                    
+						{
+								"navigationBarTitleText": "研选活动",
+								"enablePullDownRefresh": false
+						}
+					}
+				]
     },
     {
       "root": "pages-message",

+ 161 - 124
pages/purchaser/purchaser.vue

@@ -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 {

二進制
static/location-new.png


二進制
static/no-data-activity.png


二進制
static/purchaser-icon.png


二進制
static/report.png


二進制
static/right-arrow.png