Browse Source

小程序二期二次优化

db 3 years ago
parent
commit
cd3090ad7f

+ 2 - 3
pages.json

@@ -113,12 +113,11 @@
             
         }
         ,{
-            "path" : "pages/landscape/landscape",
+            "path" : "pages/downloadFile/downloadFile",
             "style" :                                                                                    
             {
                 "navigationBarTitleText": "",
-                "enablePullDownRefresh": false,
-				"pageOrientation": "landscape" //横屏
+                "enablePullDownRefresh": false
             }
             
         }

+ 28 - 12
pages/IndustryReport/IndustryReport.vue

@@ -31,7 +31,7 @@
 					<text class="title text_twoLine">{{item.Title}}
           <text class="reg-text" v-if="item.IsRed"></text>
           </text>
-					<text class="text_twoLine desc">{{item.CreateDate}}</text>
+					<text class="text_twoLine desc">{{item.PublishDate}}</text>
 				</view>
 				<u-icon name="arrow-right" color="#BDBDBD" size="34"></u-icon>
 			</view>
@@ -74,7 +74,8 @@
           	nomore: '已经到底了'
           },
           totalPage:'',
-		  toggleTabIndex:0
+		  toggleTabIndex:0,
+		  titleReport:''
 			};
 		},
     onLoad(option) {
@@ -86,6 +87,8 @@
         tabAct_id: {
         			handler() {
         			if(this.tabAct_id){
+						this.page_no=1,
+						this.collectList=[]
 						this.getCollectList()
 					}
         			},
@@ -113,13 +116,12 @@
 					uni.setNavigationBarTitle({
 					    title: res.Data.IndustryName
 					});
+					this.titleReport=res.Data.IndustryName
 					this.layoutTime=res.Data.LayoutTime
-					if(res.Data.List){
-						
+					if(res.Data.List){	
 							this.tabAct_id=res.Data.List[0].CategoryId
-							this.tabBars=res.Data.List
+							this.tabBars=res.Data.List 
 					}else {
-					console.log(112312312)
 						this.haveDatas=false
 					}
 				}
@@ -161,7 +163,7 @@
    		if((!res.IsAuth) && (!res.IsBind)) { // 已授权已绑定
    			uni.navigateTo({
    				url:'/pages/reportDetail/reportDetail?idReport=' + item.ArticleId,
-   				// url:'/pages/landscape/landscape?id=' + id,
+   				// url:'/pages/landscape/landscape?id=' + item.ArticleId,
    			});
    		}else if(res.IsAuth) { //未授权
    			uni.navigateTo({
@@ -174,7 +176,7 @@
    		}
    	})
    	
-   },
+   }
   },
     /* 触底 */
     	onReachBottom: Throttle(function() {
@@ -192,14 +194,28 @@
     
 	onBackPress	() {
 		console.log(123000000000000)
-	}
+	},
+	/**
+	* 用户点击分享
+	*/
+	onShareAppMessage: function (res) {
+		console.log(this.industrialManagementId)
+		return {
+			title: this.titleReport,
+			path: '/pages/IndustryReport/IndustryReport?id='+this.industrialManagementId,
+			success: (res)=> {
+			},
+			fail: (err)=> {
+			}
+		}
+	},
 	}
 </script>
 
 <style lang="scss">
 .industry-content {
   background-color: #F7F7F7;
-  height: 100vh;
+  // height: 100vh;
   .top-bg {
 	position: fixed;
 	top: 0;
@@ -270,7 +286,7 @@
         .reg-hint {
           position: absolute;
           top: 0rpx;
-          right: -8rpx;
+          right: -10rpx;
           width: 14rpx;
           height: 14rpx;
           background-color: #FF0000;
@@ -281,7 +297,7 @@
   }
   .collect-ul {
     // margin-top: 30rpx;s
-	margin-top: 175rpx;
+	padding-top: 175rpx;
   	// padding-top: 4rpx;
   	.collect-ltem {
   		display: flex;

+ 42 - 0
pages/downloadFile/downloadFile.vue

@@ -0,0 +1,42 @@
+<template>
+	 <view class="progress-box">
+	       <progress :percent="progress" show-info stroke-width="3" />
+	  </view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				progress:0
+			}
+		},
+		methods: {
+			
+		},
+		onLoad(option) {
+			const downloadTask = uni.downloadFile({
+			    url: option.url,
+			    success: (res) => {
+			        if (res.statusCode === 200) {
+							   uni.openDocument({
+							   		filePath:res.tempFilePath,
+							   })
+			        }
+			    }
+			});
+			downloadTask.onProgressUpdate((res) => {
+				this.progress=res.progress
+			});
+		},
+		onShow() {
+			if(this.progress==100){
+				uni.navigateBack()
+			}		
+		}
+	}
+</script>
+
+<style>
+
+</style>

+ 1 - 1
pages/index/index.vue

@@ -100,7 +100,7 @@ export default {
 			immediate:true
 		}
 	},
-	onLoad() {
+	onLoad(optios) {
 		this.getTabs();
 	},
 	onShow() {

+ 17 - 3
pages/industrialReport/industrialReport.vue

@@ -7,7 +7,7 @@
     					<text class="title text_twoLine">{{item.Title}}
               <text class="reg-text" v-if="item.IsRed"></text>
               </text>
-    					<text class="text_twoLine desc">{{item.CreateDate}}</text>
+    					<text class="text_twoLine desc">{{item.PublishDate}}</text>
     				</view>
     				<u-icon name="arrow-right" color="#BDBDBD" size="34"></u-icon>
     			</view>
@@ -39,7 +39,8 @@
           	loading: '加载中',
           	nomore: '已经到底了'
           },
-          totalPage:''
+          totalPage:'',
+		  titleReport:''
 			};
 		},
     onLoad(option) {
@@ -58,6 +59,7 @@
 				uni.setNavigationBarTitle({
 				    title: res.Data.MatchTypeName
 				});
+				this.titleReport=res.Data.MatchTypeName
     			this.status = this.page_no < res.Data.Paging.Pages ? 'loadmore' : 'nomore';
     			this.totalPage = res.Data.Paging.Pages;//总页数
     			if(this.page_no === 1) {
@@ -110,7 +112,19 @@
     		this.getCollectList()
     	}),
     
-   
+   /**
+   * 用户点击分享
+   */
+   onShareAppMessage: function (res) {
+   	return {
+   		title: this.titleReport,
+   		path: '/pages/industrialReport/industrialReport?id='+this.categoryId,
+   		success: (res)=> {
+   		},
+   		fail: (err)=> {
+   		}
+   	}
+   },
 	}
 </script>
 

+ 0 - 334
pages/landscape/landscape.vue

@@ -1,334 +0,0 @@
-<template>
-	<view class="container reportDetail-container">
-		<view class="report-top">
-			<view class="report-title">国内风能企业国产替代路径分析</view>
-			<view class="report_desc">
-				<text class="author">弘则权益研究</text>
-				<text>2020.12.18 10:10:10</text>
-			</view>
-			<view>
-				注:请务必阅读<text class="tip" @click="isShowTip=true">免责声明</text>
-			</view>
-		</view>
-		    <block v-if="haveAuth===1" >
-				 <!-- <editor id="editor" class="ql-container" :placeholder="placeholder" @ready="onEditorReady"></editor> -->
-				   <rich-text nodes="{{htmlSnip}}"></rich-text>
-			</block>
-			<view class="noauth-cont" v-else-if="haveAuth===2||haveAuth===3||haveAuth===4||haveAuth===5">
-				<image src="@/static/img/noauth.png" class="noauth-ico"></image>
-				<block v-if="haveAuth!==3">
-					<view class="tip">您暂无权限查看{{industry}}内容,若想查看可以申请开通哦</view>
-					<view class="btn-cont"  @click="applyAuth">
-		            立即申请
-						<!-- <image src="@/static/img/btn_bg.png" class="btn_bg"></image> --> 
-						<!-- <text class="btn-txt" @click="applyAuth">立即申请</text> -->
-					</view>	
-				</block>
-				<view class="tip" v-if="haveAuth===3">
-					您暂无权限查看{{industry}}内容
-					<view class="contract">
-						若想查看可以联系对口销售
-						<text @click="callPhone(sale_number)">{{sale_name}}:<text style="color:#D4BF86;">{{sale_number}}</text></text>
-					</view>
-					<view>开通该行业的试用权限</view>
-				</view>
-		<!-- 		<view class="btn-cont back-btn" @click="backIndex">
-					<text>返回首页</text>
-				</view> -->
-				<view class="btn-cont back-btn" @click="backIndex">
-		    返回首页
-					<!-- <image src="@/static/img/btn_bg.png" class="btn_bg"></image> -->
-					<!-- <text class="btn-txt">返回首页</text> -->
-				</view>
-			</view>
-	</view>
-</template>
-
-<script>
-	import { Report,User } from '@/config/api.js'
-	let app = getApp();
-	export default {
-		data() {
-			return {
-				haveAuth:false,
-				// haveFree:false,//是否付费
-				access_token:'',//用户标识
-				isIphoneX:false,//判断机型
-				reportInfo:'',
-				showNav:false,
-				isShowTip:false,
-				sale_name:'',//可联系销售名称
-				sale_number:'',//可联系销售电话
-				industry:'',//行业
-				htmlSnip:''
-			};
-		},
-		methods: {
-			/* 获取详情 */
-			getDetail() {
-				Report.reportDtlTwo({
-					ArticleId: Number(this.id) 
-				}).then(res => {
-					if(res.Ret === 200) {
-						console.log(res)
-						this.htmlSnip=res.Data.Detail.Body
-						this.haveAuth = res.Data.HasPermission;
-						this.industry = res.Data.Detail.CategoryName;
-						this.sale_name = res.Data.Detail.SellerName;
-						this.sale_number = res.Data.Detail.SellerMobile;
-						if(res.Data.HasPermission === 1) { //有访问权限
-							this.reportInfo = res.Data.Detail;
-							this.access_token = this.access_token || this.$db.get('access_token');
-						}
-					}
-				})
-			},
-			/* 无权限申请开通权限 */
-			applyAuth() {
-				/* 区分是否是潜在用户 */
-				this.haveAuth === 2
-				?  User.applyTry({
-						ApplyMethod:3
-					}).then(res => {
-						if(res.Ret === 200) {								
-							uni.navigateTo({
-								url:"/pages/applyResult/applyResult"
-							})
-						}
-					})
-				:	this.haveAuth === 4
-				?  uni.navigateTo({
-						url:"/pages/applyTrial/applyTrial"
-					})
-				: 	uni.showModal({
-						title: '',
-						content: '您已经提交过申请了,请耐心等待',
-						showCancel:false,
-						confirmColor:'#365595',
-						success: function (res) {
-						}
-					});
-			},
-			// 返回首頁
-			backIndex() {
-				uni.switchTab({
-					url:'/pages/index/index',
-				})
-			},
-			callPhone(num) {
-				uni.makePhoneCall({
-					phoneNumber: num
-				})
-			},
-			/* 申请访谈 */
-			applyHandle() {
-				 // 申请访谈 
-				!this.reportInfo.IsInterviewApply && this.$util.modal('','专家访谈申请会提交给您的对口销售,销售会线下与您取得联系,确定申请吗?',()=> {
-					this.interviewApi()
-				}) 
-				 // 取消申请访谈 区分状态 '待邀请','待访谈','已完成','已取消'
-				if( this.reportInfo.IsInterviewApply) {
-					// this.reportInfo.InterviewApplyStatus
-					this.$util.modal('',
-					this.reportInfo.InterviewApplyStatus=='待访谈'
-					?'当前无法取消访谈,若有疑问,请联系对口销售'
-					:this.reportInfo.InterviewApplyStatus=='待邀请'
-					?'您要取消此次访谈申请吗?'
-					:'该访谈已完成',
-					()=> {
-						this.reportInfo.InterviewApplyStatus=='待邀请' 
-						? this.interviewApi()
-						:this.reportInfo.InterviewApplyStatus=='待访谈'
-						? uni.makePhoneCall({
-							phoneNumber: '18767183922',
-						})
-						:''
-					})
-				}
-			},
-			/* 访谈接口 */
-			interviewApi() {
-				Report.applyRpt({
-					ArticleId: Number(this.id)
-				}).then(res => {
-					this.reportInfo.IsInterviewApply = !this.reportInfo.IsInterviewApply;
-				})
-			},
-			/* 收藏 */
-			collectHandle() {
-				Report.collectRpt({
-					ArticleId: Number(this.id) 
-				}).then(res => {
-					this.reportInfo.IsCollect = !this.reportInfo.IsCollect;
-					this.$util.toast(res.Msg)
-				})
-			}
-		},
-		onShow() {
-			let page = getCurrentPages();//查看路径
-			if(page.length === 1) { //分享入口
-				this.$store.dispatch('checkHandle').then(res => {
-					app.globalData.isAuth = res.IsAuth;
-					app.globalData.isBind = res.IsBind;
-					if((!res.IsAuth) && (!res.IsBind)) { //已授权已绑定
-						this.getDetail();
-					}else if(res.IsAuth) { //未授权
-						uni.navigateTo({
-							url:'/pages/authGuide/authGuide'
-						})
-					}else if(res.IsBind && !res.IsAuth){ //已授权未绑定
-						uni.navigateTo({
-							url:'/pages/login/login'
-						})
-					}
-				})				
-			}else { // 跳转入口
-			this.getDetail();				
-			}
-		},
-		onLoad(option) {
-			// console.log(option)
-			/* 兼容iphonex底部 */
-			uni.getSystemInfo({
-				success: res => {
-				   let ua = res.model;
-				   if (ua.search('iPhone X') != -1 || ua.search('iPhone 11') != -1 || ua.search('iPhone 11 Pro Max') != -1) {
-						this.isIphoneX = true;
-				   }
-				}
-			})
-			this.id = option.id || '';
-			console.log(option)
-		},
-		 /**
-		    * 用户点击分享
-		  */
-		onShareAppMessage: function (res) {
-			return {
-				title: this.reportInfo.Title,
-				path: '/pages/reportDetail/reportDetail?id='+this.id ||this.idReport,
-				// imageUrl: '/static/img/detail_share.jpg',
-				success: (res)=> {
-				},
-				fail: (err)=> {
-				}
-			}
-		}
-	}
-</script>
-
-<style lang="scss" scoped>
-.reportDetail-container {
-	background-color: #fff;
-	padding: 20rpx 34rpx 134rpx;
-	.report-top {
-		color: #999999;
-		.report-title {
-			color: #4A4A4A;
-			font-size: 34rpx;
-		}
-		.report_desc {
-			display: flex;
-			justify-content: space-between;
-			align-items: center;
-			margin: 20rpx 0;
-		}
-		.tip {
-			color: #586EB5;
-			display: inline;
-		}
-	}
-	.detail-report {
-		padding: 40rpx 0;
-	}
-	.statement {
-		max-width: 670rpx;
-		max-height: 900rpx;
-		line-height: 42rpx;
-		overflow-y: auto;
-		padding: 40rpx;
-	}
-	.fixed_cont {
-		width: 100%;
-		// height: 114rpx;
-		padding: 10rpx 0;
-		position: fixed;
-		bottom: 0;
-		left: 0;
-		z-index: 99999;
-		display: flex;
-		justify-content: center;
-		align-items: center;
-		flex-direction: row;
-		background-color: #fff;
-		box-shadow: 0 	-3rpx 6rpx rgba($color: #6A6A6A, $alpha: 0.16);
		.handle-item {
-			font-size: 24rpx;
-			color: #D0CFD5;
-			text-align: center;
-			margin-right: 130rpx;
-			&:last-child {
-				margin-right: 0;
-			}
-			.img_ico {
-				width: 56rpx;
-				height: 54rpx;
-				margin: 0 auto;
-			}
-		}
-		.button-item {
-			background-color: transparent;
-			line-height: normal;
-		}
-	}
-	.noauth-cont {
-		padding-top: 150rpx;
-		text-align: center;
-		font-size: 28rpx;
-		.noauth-ico {
-			width: 365rpx;
-			height: 229rpx;
-			margin-bottom: 70rpx;
-		}
-		.tip {
-			width: 532rpx;
-			margin: 0 auto 100rpx;
-			.contract {
-				padding: 40rpx 90rpx 0;
-				line-height: 44rpx;
-				text {
-					display: inline-block;
-				}
-			}
-		}
-		.btn-cont {
-			width: 368rpx;
-			height: 80rpx;
-			// position: relative;
-      background-color: #3385FF;
-			color: #fff;
-			font-size: 34rpx;
-			margin: 0 auto;
-			text-align: center;
-			line-height: 80rpx;
-			&.back-btn {
-         background-color: #fff !important;
-         border: 2rpx solid #3385FF;
-         color: #3385FF;
-				margin-top: 30rpx;
-			}
-			.btn_bg {
-				width: 100%;
-				height: 80rpx;
-				position: absolute;
-				left: 0;
-				top: 0;
-			}
-			.btn-txt {
-				width: 100%;
-				position: absolute;
-				z-index: 1;
-			}
-		}
-	}
-}
-</style>

+ 23 - 10
pages/reportDetail/reportDetail.vue

@@ -62,7 +62,7 @@
 				//linkurl:'http://192.168.1.61:2000/raiReportDtl',//链接地址
 				// linkurl:'http://8.136.199.33:8088/raiReportDtl',//链接地址
 				//linkurl:'https://details.hzinsights.com/raiReportDtl',//线上链接地址
-        linkurl:' http://192.168.1.155:2000/raiReportDtl',//链接地址
+				linkurl:' http://192.168.1.155:2000/raiReportDtl',//链接地址
 				showNav:false,
 				id:'',
 				idReport:null,
@@ -249,16 +249,29 @@
 		 /**
 		    * 用户点击分享
 		  */
-		onShareAppMessage: function (res) {
-			return {
-				title: this.reportInfo.Title,
-				path: '/pages/reportDetail/reportDetail?id='+this.id ||this.idReport,
-				// imageUrl: '/static/img/detail_share.jpg',
-				success: (res)=> {
-				},
-				fail: (err)=> {
-				}
+		onShareAppMessage: function (res) {
+			if(this.idReport) {
+				return {
+					title: this.reportInfo.Title,
+					path: '/pages/reportDetail/reportDetail?idReport='+this.idReport,
+					// imageUrl: '/static/img/detail_share.jpg',
+					success: (res)=> {
+					},
+					fail: (err)=> {
+					}
+				}
+			}else if(this.id) {
+				return {
+					title: this.reportInfo.Title,
+					path: '/pages/reportDetail/reportDetail?id='+this.id,
+					// imageUrl: '/static/img/detail_share.jpg',
+					success: (res)=> {
+					},
+					fail: (err)=> {
+					}
+				}
 			}
+			
 		}
 	}
 </script>

+ 9 - 6
pages/reportForm/components/strategy.vue

@@ -4,14 +4,14 @@
     <!-- 季度策略 -->
     <view class="collect-ul">
     			<view class="collect-ltem" v-for="(item,index) in collectList" :key="index" @click="goDetail(item,index)">
-    				<view class="item-left">
-    					<text class="title text_twoLine" v-html="">{{item.Title}}
+    			<view class="item-left">
+				<text class="title text_twoLine" >{{item.Title}}
               <text class="reg-text" v-if="item.IsRed"></text>
               </text>
               <text v-if="isText" :class="threeFour?'text-threeFour':'text_one'" >
 			  {{item.Abstract}}
 			  </text>
-    					<text class="text_twoLine desc">{{item.CreateDate}}</text>
+    				<text class="text_twoLine desc">{{item.PublishDate}}</text>
     				</view>
     				<u-icon name="arrow-right" color="#BDBDBD" size="34"></u-icon>
     			</view>
@@ -39,6 +39,9 @@
 		  type:Number,
 		  default:null
 	  },
+	  matchTypeName:{
+		  type:String
+	  }
     },
 		data() {
 			return {
@@ -60,12 +63,12 @@
 			};
 		},
     watch:{
-      strategyIndexTwo:{
+      matchTypeName:{
         handler() {
-        	if(this.strategyIndexTwo==2||this.strategyIndexTwo==3){
+        	if(this.matchTypeName=="资金流向"||this.matchTypeName=="大类资产"){
               this.threeFour=true
             }
-            if(this.strategyIndexTwo==1) {
+            if(this.matchTypeName=="周度思考"||this.matchTypeName=="估值研究") {
               this.isText=false
             }else {
               this.isText=true

+ 152 - 58
pages/reportForm/reportForm.vue

@@ -34,7 +34,7 @@
                    class="scroll-tab-item"
                     :class="{ active: tabAct_idTwo === item.CategoryId }" 
                     @click.stop="toggleTabTwo(item,index)">
-       						{{item.SubCategoryName}}
+       						{{item.MatchTypeName}}
                   <text class="reg-text" v-if="item.IsRed"></text>
        						</view>
        					</block>
@@ -44,7 +44,7 @@
         
       </view>
   <!-- 子组件 -->
-      <strategy :strategyIndexTwo="strategyIndexTwo" :pageNumFather='pageNumFather'  :tabAct_idTwo="tabAct_idTwo" :isNum="isNum" :isSwitchover="isSwitchover"  @hideIsred="hideIsred"/>
+      <strategy :strategyIndexTwo="strategyIndexTwo" :pageNumFather='pageNumFather' :matchTypeName="matchTypeName" :tabAct_idTwo="tabAct_idTwo" :isNum="isNum" :isSwitchover="isSwitchover"  @hideIsred="hideIsred"/>
      </view>
    <!-- </view> -->
   <view class="industrial_eport_one" v-else>  
@@ -71,15 +71,19 @@
    </view>
     <!-- 产业报告 -->
    <view class="industry">
-	   <view style="height: 12rpx;" v-if="!tradeList"></view>
-     <view class="industry-top">
+	 <!-- <view style="" class="industry-box-sticky"></view> -->
+	 <view style="height: 12rpx;" v-if="!tradeList"></view>
+     <view class="industry-top industry-sticky" >
       <view>
         <image src="@/static/img/property_ico.png" style="height: 50rpx;"></image>
         <text class="text-sub">细分产业报告</text>
       </view>
 	  <text class="equilateral-triangle" v-if="isPitchOnShow"></text>
       <view class="pop-box">
-          <image src="@/static/img/property_inco.png" style="height: 50rpx;" @click="isPitchOnShowBtn"></image>
+          <!-- <image src="@/static/img/property_inco.png" style="height: 50rpx;" @click="isPitchOnShowBtn"></image> -->
+		  <text @click="isPitchOnShowBtn" class="pop-text">
+			 {{pitchOnName}}
+		  </text>
           <view class="pop-up" v-if="isPitchOnShow">
             <view v-for="(item,index) in pitchOn" :key="item.id" @click="pitchClick(item,index)" :class="pitchOnId==item.id?'pitch-on':''">{{item.name}}</view>
 			
@@ -92,19 +96,23 @@
      <view class="forindustry" v-for="item in industryList" :key="item.IndustrialManagementId" >
        <!-- 火锅底料这个位置 -->
        <view class="industry-box industry-content" >
-         <view class="box-left">
+         <view class="industry-box-left">
            <image src="@/static/img/top_ico.png" v-if="item.IsTop" @click="isOverhead(item.IndustrialManagementId)"></image>
            <image src="@/static/img/top_no_ico.png" v-else  @click="isOverhead(item.IndustrialManagementId)"></image>
-            {{item.IndustryName}}
-           <text v-if="item.IsRed"></text>
          </view>
-         <view class="box-right" @click="goIndustryReport(item.IndustrialManagementId)">
-           <text>{{item.UpdateTime}}更新</text>
-          	<u-icon name="arrow-right" color="#BDBDBD" size="34"></u-icon>
+         <view class="industry-box-right" @click="goIndustryReport(item.IndustrialManagementId)">
+			 <view class="ndustry-box-read"> 
+					<text>{{item.IndustryName}}</text>
+					<text v-if="item.IsRed" class="read"></text>
+			 </view>
+           <view class="ndustry-box-arrow">
+           	<text class="ndustry-box-text">{{item.UpdateTime}}更新</text>
+           	<u-icon name="arrow-right" color="#BDBDBD" size="34"></u-icon>
+           </view>
          </view>
        </view>
-        <view class="content-box">
-          <view class="img-box">
+        <view class="content-box" v-if="item.IndustrialSubjectList.length>6">
+         <!-- <view class="img-box">
             <image src="@/static/img/fenxi_ico.png"></image>
             <text> 分析师:&nbsp; {{item.Analyst}}</text>
           </view>
@@ -112,16 +120,20 @@
               <image src="@/static/img/fugai_ico.png"></image>
             <text>覆盖标的</text>
           </view>
-         
+        -->
             <u-read-more :toggle="true" :show-height="item.IndustrialSubjectList.length>6 ? 140 :150" :shadow-style="shadowStyle" close-text="展开" color="#D1D1D1">
                  <view class="read-more">
-                 <view v-for="val in item.IndustrialSubjectList" :key="val.IndustrialSubjectId" class="text-box">{{val.SubjectName}}</view>
+                 <view v-for="val in item.IndustrialSubjectList" :key="val.IndustrialSubjectId"  @click="goIndustryReport(item.IndustrialManagementId)" class="text-box">{{val.SubjectName}}</view>
                  </view>
             </u-read-more>
-         
-         
         </view>
+		<view class="content-box" v-else   @click="goIndustryReport(item.IndustrialManagementId)" >
+		         <view class="read-more">
+		         <view v-for="val in item.IndustrialSubjectList" :key="val.IndustrialSubjectId" class="text-box">{{val.SubjectName}}</view>
+		         </view>
+		</view>
      </view>
+	  <u-loadmore :status="status" icon-type="flower" :load-text="loadText" margin-top="20" v-if="totalPage>1"/> 
    </view>
     <!-- <text class="text-bottom-none">没有更多了</text> -->
    </view>
@@ -138,14 +150,15 @@
    components:{strategy},
     data(){
       return {
-        tabAct_id:null,
+		tabAct_id:null,
         tabAct_idTwo:null,
         tabBars: [],
 		pageNumFather:null,
         shadowStyle: {	backgroundImage: "none"},
         tabBarsTow:[],
-        pitchOn:[{  name:'最近更新',  id:'NewTime' }, {  name:'弘则推荐', id:'Recommend',}],
+        pitchOn:[{  name:'按最近更新排序',  id:'NewTime' }, {  name:'按推荐关注排序', id:'Recommend',}],
 		pitchOnId:'NewTime',
+		pitchOnName:'按最近更新排序',
         isPitchOnShow:false,  
         isNum:1,
 		strategyIndex:null,
@@ -153,27 +166,42 @@
 		isSwitchover:1,
 		tradeList:null,
 		OrderColumn:'',
-		industryList:[]
+		industryList:[],
+		loadText: {
+			loadmore: '上拉加载更多',
+			loading: '加载中',
+			nomore: '已经到底了'
+		},
+		refresh: false,//正在下拉
+		page_no:1,
+		pageSize:10,
+		status:'loadmore',
+		haveData:true,
+		 totalPage:'',
+		 matchTypeName:'',
       }
     },
      onLoad() {
 	this.getClassify()	
 	},
+	computed:{
+	},
     watch:{
       //监听tabs的变化
         tabAct_id: {
         			handler() {
-        				// this.searchHandle();
 						if(this.strategyIndex==4) {
 							this.getstrategyAll()
 						}
 						if(this.tabAct_id) {
 							this.OrderColumn='NewTime'
 							this.pitchOnId='NewTime'
+							this.pitchOnName='按最近更新排序'
+							this.page_no = 1;
+							this.refresh = true;
 							this.getIndustryList()
 							this.getTradeList()
-						}
-						
+						}	
         			},
         			immediate:true
         		}
@@ -183,8 +211,7 @@
 	 getClassify(){
 			Reports.getClassify().then(res=>{
 				this.tabBars=res.Data.List
-				this.tabAct_id=res.Data.List[0].ChartPermissionId
-				
+				this.tabAct_id=res.Data.List[0].ChartPermissionId			
 			})
 		},
 	 //获取二级事件
@@ -192,6 +219,7 @@
 			Reports.getstrategyAll().then(res=>{
 				this.tabBarsTow=res.Data.List
 				this.tabAct_idTwo=res.Data.List[0].CategoryId
+				this.matchTypeName=res.Data.List[0].MatchTypeName
 			})
 		},
      //tabs切换事件
@@ -209,7 +237,8 @@
       		}
       	},
 	 //tabs切换二级事件
-     toggleTabTwo (item,index) {
+     toggleTabTwo (item,index) { 
+		 this.matchTypeName=item.MatchTypeName
 			this.strategyIndexTwo=index
       		if(this.tabAct_idTwo !== item.CategoryId) {
       			this.tabAct_idTwo = item.CategoryId;
@@ -223,14 +252,20 @@
      //产业报告筛选条件
       isPitchOnShowBtn(){
         this.isPitchOnShow=!this.isPitchOnShow
-		
       },
 	  //点击产业报告的筛选条件
       pitchClick(item) {
+		  this.pitchOnName=item.name
 		  this.OrderColumn=item.id
 		  if(this.pitchOnId !== item.id) {
 		  	this.pitchOnId = item.id;}
-		  this.getIndustryList()
+			this.page_no = 1;
+			this.refresh = true;
+			this.getIndustryList()
+		  uni.pageScrollTo({
+		  scrollTop: 0,
+		  duration: 300
+		  });
 		this.isPitchOnShow=false
       },
 	  //获取报告所有品种接口
@@ -243,21 +278,31 @@
 					  this.tradeList=res.Data.List[0]
 				  }else{
 					   this.tradeList=null
-				  }
-				   
+				  }   
 			  }
-			 
 		  })
 	  },
 	  //获取产业报告所有品种接口
 	  getIndustryList(){
 	  		  Reports.getIndustryList({
 	  			  ChartPermissionId:this.tabAct_id,
-				  OrderColumn: this.OrderColumn
+				  OrderColumn: this.OrderColumn,
+				  PageSize: this.pageSize,
+				  CurrentIndex: this.page_no
 	  		  }).then(res=>{	
-				  
-				  this.industryList=res.Data.List
-				 
+				 // this.industryList=res.Data.List
+				 this.status = this.page_no < res.Data.Paging.Pages ? 'loadmore' : 'nomore';
+				 this.totalPage = res.Data.Paging.Pages;//总页数
+				 if(this.page_no === 1) {
+				 	this.industryList = res.Data.List || [];
+				 	this.haveData = this.industryList.length ? true : false
+				 	if(this.refresh) {
+				 		uni.stopPullDownRefresh();
+				 		this.refresh = false;
+				 	} 
+				 }else {
+				 	this.industryList = this.industryList.concat(res.Data.List)
+				 }
 				  
 	  		  })
 	  },
@@ -278,9 +323,11 @@
 	  isOverhead(id){
 		  Reports.postToptt({
 			  IndustrialManagementId:id
-		  }).then(res=>{
-			   
+		  }).then(res=>{   
 			  if(res.Ret===200){
+				  this.page_no = 1;
+				  this.refresh = true;
+				  this.industryList=[]
 				   this.getIndustryList()
 				   uni.showToast({
 				       title: res.Msg,
@@ -291,19 +338,25 @@
 	  },
 	  hideIsred(is){
 		  this.tabBarsTow[this.strategyIndexTwo].IsRed=is
-		  console.log(this.tabBarsTow,this.strategyIndexTwo)
 	  }
     },
 	   /* 触底 */
    	onReachBottom: Throttle(function() {
        this.isNum++
+	   if(this.status === 'nomore') return ;
+	   this.status = 'loading';
+	   this.page_no++;
+	   this.getIndustryList()
    	}),
 	/* 下拉刷新 */
 	onPullDownRefresh: Throttle(function() {
 	if(this.strategyIndex==4) {
 		this.pageNumFather=1
 	}else {
+		this.industryList=[]
 		this.pageNumFather=null
+		this.page_no = 1;
+		this.refresh = true;
 		this.getIndustryList()
 		this.getTradeList()
 	}
@@ -314,7 +367,8 @@
 			this.getTradeList()
 		}
 		
-	}
+	},
+	
   }
 </script>
 
@@ -322,8 +376,6 @@
   .reportForm-container {
        background-color: #f6f6f6;
 	   height: 100vh;
-	    // padding-bottom: 300rpx;
-	   // margin-top: ;
 	   .top-box {
 		   position: fixed;
 		   height: 100rpx;
@@ -352,14 +404,11 @@
    		padding: 0 26rpx;
    		background-color: #fff;
    		font-size: 32rpx;
-   		// box-shadow: 0 3rpx 6rpx rgba(187,216,255,0.2);
-    
    		.scroll-tab {
    			width: 100%;
    			white-space: nowrap;
    		}
    		.scroll-tab-item {
-   			// flex-grow: 1;
    			text-align: center;
    			display: inline-block;
    			padding: 0 8rpx 30rpx 8rpx;
@@ -391,7 +440,6 @@
   .industrial_eport_one {
 	 padding-top: 80rpx;
 	 background-color:  #f6f6f6;
-	 // height: 100vh;
 	 padding-bottom: 10rpx;
   }
   .strategy {
@@ -446,6 +494,21 @@
   }
   .industry {
     margin-top: 20rpx;
+	// .industry-box-sticky{
+	// 	position: sticky;
+	// 	border: 2rpx solid #ccc;
+	// 	top:98rpx;
+	// 	z-index:999;
+	// 	width: 100%;
+	// 	height: 12rpx;
+	// 	// background-color: #fff;;
+	// }
+	.industry-sticky{
+		// border-bottom: 2rpx solid #f6f6f6;
+		position: sticky;
+		top:98rpx;
+		z-index:99;
+	}
     .industry-top {
       display: flex;
       justify-content: space-between;
@@ -457,11 +520,10 @@
       font-weight: 700;
       font-size: 32rpx;
       line-height:90rpx ;
-      // vertical-align:middle;
 	  .equilateral-triangle {
 	  	 position: relative;
 	  	 bottom:-78rpx;
-		 right: -216rpx;
+		 right:-300rpx;
 		 padding: 0;
 	  	 width: 0;
 	  	 height: 0;
@@ -471,14 +533,20 @@
 	  }
       .pop-box {
         position: relative;
+		width: 280rpx;
+		text-align: right;
 		.pop-up view:nth-child(2) {
 			border: none !important;
 		}
+		.pop-text {
+			font-size: 28rpx;
+			color: #2C83FF;
+		}
         .pop-up {
           position: absolute;
-          left: -200rpx;
-          bottom: -208rpx;
-          width: 256rpx;
+          left: -30rpx;
+          bottom: -210rpx;
+          width: 317rpx;
 		  text-align: center;
 		  overflow: hidden;
           font-size: 24rpx;
@@ -492,7 +560,7 @@
           view {
             padding: 0;
 			height: 105rpx;
-			width: 190rpx;
+			width: 258rpx;
 			font-size: 28rpx;
 			margin-left: 30rpx;
             line-height: 104rpx;
@@ -548,7 +616,7 @@
       .box-right { 
         color: #999999;
         font-size: 26rpx;
-		width: 45%;
+		// width: 45%;
         display: flex;
 		justify-content: flex-end;
         // justify-content: space-between;
@@ -562,25 +630,51 @@
     .industry-content {
       padding-left: 40rpx;
       vertical-align:middle;
+	  display: flex;
       margin-bottom: 3rpx;
       image {
-         // vertical-align:top;
-        margin-right: 20rpx;
+      padding-right: 20rpx;
         width: 24rpx;
         height: 30rpx;
       }
-      .box-left {
-        // width: 200rpx !important;
+      .industry-box-left {
+		  width: 48rpx;
 		image {
 			vertical-align: middle;
-			 margin-top: -8rpx;
+			 margin-top: -8rpx; 
+			 padding:5rpx 20rpx 5rpx 0;
 		}
       }
+	  .industry-box-right {
+		  width: 100%;
+		  display: flex;
+		  justify-content: space-between;
+		  .ndustry-box-read {
+			  position: relative;
+			  .read {
+				  position: absolute;
+				  top: 20rpx;
+				  right: -20rpx;
+				  width: 14rpx;
+				  height: 14rpx;
+				  background-color: #FF0000;
+				  border-radius: 50%;
+			  }
+		  }
+		  .ndustry-box-arrow {
+			  display: flex;
+			  .ndustry-box-text {
+				  font-size: 26rpx;
+				  color: #999999;
+				  padding-right: 20rpx;
+			  }
+		  }
+	  }
     
   }
   .content-box {
     background-color: #fff;
-    padding: 0 30rpx;
+    padding: 20rpx 25rpx 0;
       .img-box {
          display: flex;
         height: 90rpx;

+ 3 - 1
pages/search/search.vue

@@ -148,7 +148,8 @@
       tabAct_id: {
       			handler() {
 					if(this.isTabAct){
-						this.getDataList();
+						// console.log(111)
+						// this.getDataList();
 					}
       				
       			},
@@ -162,6 +163,7 @@
      			if(this.tabAct_id !== item.ChartPermissionId) {
      				this.tabAct_id = item.ChartPermissionId;
      				this.pageNum = 1;
+					this.getDataList();
      				uni.pageScrollTo({
      				   scrollTop: 0,
      				   duration: 0,