Bladeren bron

小程序二期

小彬 3 jaren geleden
bovenliggende
commit
99eef6f834

+ 11 - 0
.hbuilderx/launch.json

@@ -0,0 +1,11 @@
+{ // launch.json 配置了启动调试时相关设置,configurations下节点名称可为 app-plus/h5/mp-weixin/mp-baidu/mp-alipay/mp-qq/mp-toutiao/mp-360/
+  // launchtype项可配置值为local或remote, local代表前端连本地云函数,remote代表前端连云端云函数
+    "version": "0.0",
+    "configurations": [{
+            "type": "uniCloud",
+            "default": {
+                "launchtype": "remote"
+            }
+        }
+    ]
+}

+ 6 - 0
App.vue

@@ -73,6 +73,12 @@
 		margin: 0;padding: 0;
 		box-sizing: border-box;
 	}
+	::-webkit-scrollbar {
+		  display:none;
+		  width:0;
+		  height:0;
+		  color:transparent;
+		}
 	view,text {
 		box-sizing: border-box;
 	}

+ 44 - 0
config/api.js

@@ -19,6 +19,10 @@ export const Report = {
 	reportDtl: params => {
 		return getHttp('/article/detail',params)
 	},
+	/* 报告详情  ArticleId */
+	reportDtlTwo: params => {
+		return getHttp('/tactics/detail',params)
+	},
 	/* 收藏 ArticleId*/
 	collectRpt: params => {
 		return postHttp('/article/collect',params,0)
@@ -128,4 +132,44 @@ export const Search = {
 	getResult: params => {
 		return getHttp('/search/list',params,0)
 	}	
+}
+
+/* 报告  */
+export const Reports = {
+	/* 获取报告一级分类 */
+	getClassify: params => {
+		return getHttp('/permission/reportall',params)
+	},
+	/* 获取策略的分类 */
+	getstrategyAll: params => {
+		return getHttp('/permission/strategyAll',params)
+	},
+	/* 获取策略的文章 */
+	getTacticsList: params => {
+		return getHttp('/tactics/list',params)
+	},
+	/* 获取产业报告分类列表接口*/
+	getTradeList: params => {
+		return getHttp('/report/home/tradeList',params)
+	},
+	/* 获取产业报告分类列表接口*/
+	getIndustryList: params => {
+		return getHttp('/report/home/industryList',params,0)
+	},
+	/* 是否置顶*/
+	postToptt: params => {
+		return postHttp('/report/top',params,0)
+	},
+	/* 获取策略列表接口*/
+	getTactics: params => {
+		return getHttp('/tactics/list',params)
+	},
+	/* 产业下所关联的文章分类列表接口*/
+	toArticleCategoryList: params => {
+		return getHttp('/report/toArticleCategoryList',params)
+	},//
+	/* 产业下所关联的文章分类列表接口*/
+	getArticleList: params => {
+		return getHttp('/report/industry/ArticleList',params)
+	},
 }

+ 2 - 2
config/config.js

@@ -1,6 +1,6 @@
 
-// export const baseUrl = 'http://8.136.199.33:8500/api';//小程序开发接口地址
-export const baseUrl = 'https://cygx.hzinsights.com/api';//小程序线上接口地址
+ export const baseUrl = 'http://8.136.199.33:8500/api';//小程序开发接口地址
+//export const baseUrl = 'https://cygx.hzinsights.com/api';//小程序线上接口地址
 // #ifdef H5
 export const H5baseUrl=process.env.NODE_ENV === 'development'?window.location.origin+'/':baseUrl
 // #endif

+ 1 - 0
config/request.js

@@ -104,6 +104,7 @@ export const postHttp = (url,data,status=1)=> {
 	// 获取用户token和用户信息
 	let token = db.get("access_token");
 	let authHeader =  token || '';
+	
 	if(status) {
 		uni.showLoading({
 			title: '加载中'

+ 1 - 1
config/util.js

@@ -83,7 +83,7 @@ export const modal = (title='',content,callback = function() {}) => {
 	uni.showModal({
 	   title: title,
 	    content: content,
-		 confirmColor:'#365595',
+		 confirmColor:'#3385FF',
 	    success: function (res) {
 	        if (res.confirm) {
 	            callback()

+ 44 - 3
pages.json

@@ -18,6 +18,14 @@
 				"navigationBarTitleText": "绑定联系方式"
 			}
 		},
+    {
+    	"path": "pages/reportForm/reportForm",
+    	"style": {
+    		"navigationBarTitleText": "报告",
+    		 "enablePullDownRefresh":true
+    		
+    	}
+    },
 		{
             "path" : "pages/search/search",
             "style" : {
@@ -39,7 +47,8 @@
       ,{
 			"path" : "pages/reportDetail/reportDetail",
 			"style" : {
-				"navigationBarTitleText": "纪要详情"
+				"navigationBarTitleText": ""
+				// "pageOrientation": "auto"
 			}
        }
 	   ,{
@@ -87,6 +96,32 @@
 					"navigationBarTitleText": "用户服务协议"
 				}
         }
+        ,{
+            "path" : "pages/industrialReport/industrialReport",
+            "style" : {
+					"navigationBarTitleText": "",
+					 "enablePullDownRefresh":true
+				}
+        }
+        ,{
+            "path" : "pages/IndustryReport/IndustryReport",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "",
+                "enablePullDownRefresh": true
+            }
+            
+        }
+        ,{
+            "path" : "pages/landscape/landscape",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "",
+                "enablePullDownRefresh": false,
+				"pageOrientation": "landscape" //横屏
+            }
+            
+        }
     ],
 	"globalStyle": {
 		"navigationBarTextStyle": "black",
@@ -97,14 +132,20 @@
 	},
 	"tabBar": {
 		"color": "#D0CFD5",
-		"selectedColor": "#4A4A4A",
+		"selectedColor": "#3DA3FF",
 		"backgroundColor": "#fff",
 		"list": [{
 				"pagePath": "pages/index/index",
-				"text": "素材库",
+				"text": "纪要库",
 				"iconPath": "static/img/tab/index_ico.png",
 				"selectedIconPath": "static/img/tab/index_actico.png"
 			},
+      {
+      		"pagePath": "pages/reportForm/reportForm",
+      		"text": "报告",
+      		"iconPath": "static/img/tab/report_ico.png",
+      		"selectedIconPath": "static/img/tab/report_actico.png"
+      	},
 			{
 				"pagePath": "pages/my/my",
 				"text": "我的",

+ 319 - 0
pages/IndustryReport/IndustryReport.vue

@@ -0,0 +1,319 @@
+<template>
+	<view class="industry-content">
+	<view v-if="haveDatas">
+	<view class="content-top">
+	  <view class="top-bg">产业赛道布局于{{layoutTime}}</view>
+   <view class="top-box">
+	<view class="top-tab-cont">
+      <view class="tab-cont">
+      				<scroll-view 
+      				scroll-x="true" 
+      				scroll-with-animation 
+      				class="scroll-tab" 
+      				:scroll-into-view="'_'+tabIndex">
+      					<block v-for="(item, index) in tabBars" :key="item.CategoryId">
+      						<view :id="'_'+index" class="scroll-tab-item" :class="{ active: tabAct_id === item.CategoryId }" @click.stop="toggleTab(item,index)">
+      						{{item.MatchTypeName}}
+      						<image src="@/static/img/border_act.png" mode="" class="border_act" v-if="tabAct_id === item.CategoryId"></image>
+                  <text class="reg-hint" v-if="item.IsRed"></text>
+      						</view>
+      					</block>
+      				</scroll-view>
+             
+      			</view>
+            <view class="lucency" v-if="tabBars.length>6"></view>
+    </view>
+	</view>
+	</view>
+   <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">{{item.Title}}
+          <text class="reg-text" v-if="item.IsRed"></text>
+          </text>
+					<text class="text_twoLine desc">{{item.CreateDate}}</text>
+				</view>
+				<u-icon name="arrow-right" color="#BDBDBD" size="34"></u-icon>
+			</view>
+			<u-loadmore :status="status" icon-type="flower" :load-text="loadText" margin-top="20" v-if="totalPage>1"/>
+		</view>
+		
+		
+		</view>
+		<view class="nodata" v-else>
+			<image src="@/static/img/nodata.png" mode="" class="nodata_ico"></image>
+			<text>暂时没有报告的内容</text>
+		</view>
+	</view>
+</template>
+
+<script>
+  import { Mine } from '@/config/api.js' //模拟
+  import { Reports } from '@/config/api.js' //模拟
+  import { Throttle } from '@/config/util.js' 
+    let app = getApp()
+	export default {
+		data() {
+			return {
+          tabAct_id:null,
+		  tabBars: [],
+		  industrialManagementId:null,
+		  layoutTime:null,
+          refresh: false,//正在下拉
+          page_no:1,
+          pageSize:10,
+		  categoryId:null,
+          collectList:[],
+		  isShow:false,
+          haveDatas:true,
+          haveData:true,
+          status:'loadmore',
+          loadText: {
+          	loadmore: '上拉加载更多',
+          	loading: '加载中',
+          	nomore: '已经到底了'
+          },
+          totalPage:'',
+		  toggleTabIndex:0
+			};
+		},
+    onLoad(option) {
+		this.industrialManagementId=option.id
+		this.toArticleCategoryList()
+    },
+    watch:{
+      //监听tabs的变化
+        tabAct_id: {
+        			handler() {
+        			if(this.tabAct_id){
+						this.getCollectList()
+					}
+        			},
+        			immediate:true
+        		}
+      },
+    methods:{
+      //tabs切换事件
+      toggleTab (item,index) {
+		  this.toggleTabIndex=index
+      		if(this.tabAct_id !== item.CategoryId) {
+      			this.tabAct_id = item.CategoryId;
+      			this.pageNum = 1;
+      			uni.pageScrollTo({
+      			   scrollTop: 0,
+      			   duration: 0,
+      			});
+      		}
+      	},
+		toArticleCategoryList(){
+			Reports.toArticleCategoryList({
+				IndustrialManagementId:this.industrialManagementId
+			}).then(res=>{
+				if(res.Ret==200){
+					uni.setNavigationBarTitle({
+					    title: res.Data.IndustryName
+					});
+					this.layoutTime=res.Data.LayoutTime
+					if(res.Data.List){
+						
+							this.tabAct_id=res.Data.List[0].CategoryId
+							this.tabBars=res.Data.List
+					}else {
+					console.log(112312312)
+						this.haveDatas=false
+					}
+				}
+			})
+		},
+    /* 获取列表 */
+    getCollectList() {
+    	    Reports.getArticleList({
+    		PageSize: this.pageSize,
+    		CurrentIndex: this.page_no,
+			CategoryId:this.tabAct_id,
+			IndustrialManagementId:this.industrialManagementId
+    	}).then(res => {
+    		if(res.Ret === 200) {
+    			this.status = this.page_no < res.Data.Paging.Pages ? 'loadmore' : 'nomore';
+    			this.totalPage = res.Data.Paging.Pages;//总页数
+    			if(this.page_no === 1) {
+    				this.collectList = res.Data.List || [];
+    				this.haveData = this.collectList.length ? true : false
+    				if(this.refresh) {
+    					uni.stopPullDownRefresh();
+    					this.refresh = false;
+    				} 
+    			}else {
+    				this.collectList = this.collectList.concat(res.Data.List)
+    			}
+    		}
+    	})
+    },
+   goDetail(item,index) {
+   	/* 无需授权且已绑定 检验是或否有权限 */
+	if(index==0) {
+		this.tabBars[this.toggleTabIndex].IsRed=false
+	}
+	this.collectList[index].IsRed=false
+   	this.$store.dispatch('checkHandle').then(res => {
+   		app.globalData.isAuth = res.IsAuth;
+   		app.globalData.isBind = res.IsBind;
+   		if((!res.IsAuth) && (!res.IsBind)) { // 已授权已绑定
+   			uni.navigateTo({
+   				url:'/pages/reportDetail/reportDetail?idReport=' + item.ArticleId,
+   				// url:'/pages/landscape/landscape?id=' + id,
+   			});
+   		}else if(res.IsAuth) { //未授权
+   			uni.navigateTo({
+   				url:'/pages/authGuide/authGuide'
+   			})
+   		}else if(res.IsBind && !res.IsAuth){ //已授权未绑定
+   			uni.navigateTo({
+   				url:'/pages/login/login'
+   			})
+   		}
+   	})
+   	
+   },
+  },
+    /* 触底 */
+    	onReachBottom: Throttle(function() {
+    		if(this.status === 'nomore') return ;
+    		this.status = 'loading';
+    		this.page_no++;
+    		this.getCollectList()
+    	}),
+    	/* 下拉刷新 */
+    	onPullDownRefresh: Throttle(function() {
+    		this.page_no = 1;
+    		this.refresh = true;
+    		this.getCollectList()
+    	}),
+    
+	onBackPress	() {
+		console.log(123000000000000)
+	}
+	}
+</script>
+
+<style lang="scss">
+.industry-content {
+  background-color: #F7F7F7;
+  height: 100vh;
+  .top-bg {
+	position: fixed;
+	top: 0;
+	left: 0;
+	width: 100%;
+	z-index: 999;
+    background-color: #D1EBFF;
+    height: 73rpx;
+    color: #2C83FF;
+    font-size: 24rpx;
+    line-height: 73rpx;
+    text-align: center;
+  }
+  .top-box {
+  		   position: fixed;
+  		  
+  		   width: 100%;
+  		   
+  		  top: 73rpx;
+  		  left: 0;
+  		  z-index: 999;}
+  		   
+  .top-tab-cont{
+       
+       .lucency{
+         position: absolute;
+         top: 0;
+         right: 0;
+         width: 32px;
+         height: 30px;
+         opacity:0.9;
+         background-color: #fff;
+       }
+   .tab-cont {
+     padding: retu;
+   		padding: 30rpx 26rpx 0;
+   		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: 0rpx 8rpx 30rpx 8rpx;
+   			margin-right: 60rpx;
+   			border-bottom: 8rpx solid transparent;
+   			position: relative;
+   			&:last-child {
+   				margin-right: 0;
+   			}
+   			&.active {
+   				border-bottom: none;
+   				color: #2C83FF;
+   				font-weight: 700;
+   			}
+   			.border_act {
+   				width: 100%;
+   				height: 8rpx;
+   				position: absolute;
+   				bottom: 0;
+   				left: 0;
+   			}
+        .reg-hint {
+          position: absolute;
+          top: 0rpx;
+          right: -8rpx;
+          width: 14rpx;
+          height: 14rpx;
+          background-color: #FF0000;
+          border-radius: 50%;
+        }
+   		}
+   	}
+  }
+  .collect-ul {
+    // margin-top: 30rpx;s
+	margin-top: 175rpx;
+  	// padding-top: 4rpx;
+  	.collect-ltem {
+  		display: flex;
+  		padding: 30rpx 34rpx;
+  		background: #fff;
+  		margin-bottom: 4rpx;
+  		align-items: center;
+  		justify-content: space-between;
+  		.title {
+        position: relative;
+  			max-width: 625rpx;
+  			color: #4A4A4A;
+  			font-size: 34rpx;
+        padding-left: 28rpx;
+        .reg-text {
+          position: absolute;
+          top: 15rpx;
+          left:0rpx;
+          width: 14rpx;
+          height: 14rpx;
+          background-color: #FF0000;
+          border-radius: 50%;
+          z-index: 9;
+        }
+  		}
+  		.desc {
+  			margin-top: 17rpx;
+        padding-left: 28rpx;
+  			width: 625rpx;
+  			color: #999;
+  		}
+  	}
+  }
+}
+</style>

+ 6 - 4
pages/advice/advice.vue

@@ -25,8 +25,9 @@
 			</view>
 		</view>
 		<view class="btn-cont" @click="submitHandle">
-			<image src="@/static/img/btn_bg.png" class="btn_bg"></image>
-			<text class="btn-txt">提交</text>
+      提交
+			<!-- <image src="@/static/img/btn_bg.png" class="btn_bg"></image> -->
+			<!-- <text class="btn-txt">提交</text> -->
 		</view>
 	</view>
 </template>
@@ -191,7 +192,8 @@
 	.btn-cont {
 		width: 368rpx;
 		height: 80rpx;
-		position: relative;
+		// position: relative;
+    background-color: #3385FF;
 		color: #fff;
 		font-size: 34rpx;
 		margin: 0 auto;
@@ -206,7 +208,7 @@
 		}
 		.btn-txt {
 			width: 100%;
-			position: absolute;
+			// position: absolute;
 			z-index: 1;
 		}
 	}

+ 5 - 3
pages/applyResult/applyResult.vue

@@ -12,8 +12,9 @@
 				<text v-else>请等待销售人员与您联系</text>
 			</view> -->
 			<view class="btn-cont" @click="goIndex">
-				<image src="@/static/img/btn_bg.png" class="btn_bg"></image>
-				<text class="btn-txt">返回首页</text>
+        返回首页
+<!-- 				<image src="@/static/img/btn_bg.png" class="btn_bg"></image>
+				<text class="btn-txt">返回首页</text> -->
 			</view>
 		</view>
 	</view>
@@ -72,7 +73,8 @@
 		.btn-cont {
 			width: 368rpx;
 			height: 80rpx;
-			position: relative;
+			// position: relative;
+      background-color: #3385FF;
 			color: #fff;
 			font-size: 34rpx;
 			margin: 140rpx auto 0;

+ 5 - 3
pages/applyTrial/applyTrial.vue

@@ -30,8 +30,9 @@
 				<input type="number" v-model="mobile" class="ipt" maxlength="11" disabled>
 			</view>
 			<view class="btn-cont" @click="applyHandle">
-				<image src="@/static/img/btn_bg.png" class="btn_bg"></image>
-				<text class="btn-txt">提交</text>
+        提交
+				<!-- <image src="@/static/img/btn_bg.png" class="btn_bg"></image>
+				<text class="btn-txt">提交</text> -->
 			</view>
 		</view>
 	</view>
@@ -200,7 +201,8 @@
 		.btn-cont {
 			width: 368rpx;
 			height: 80rpx;
-			position: relative;
+			// position: relative;
+       background-color: #3385FF;
 			color: #fff;
 			font-size: 34rpx;
 			margin: 120rpx auto 0;

+ 1 - 1
pages/index/index.vue

@@ -314,7 +314,7 @@ export default {
 				}
 				&.active {
 					border-bottom: none;
-					color: #385388;
+					color: #2C83FF;
 					font-weight: 700;
 				}
 				.border_act {

+ 156 - 0
pages/industrialReport/industrialReport.vue

@@ -0,0 +1,156 @@
+<template>
+  		<!-- 季度策略 -->
+	<view class="industrial-container">
+    <view class="collect-ul" v-if="haveData">
+    			<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">{{item.Title}}
+              <text class="reg-text" v-if="item.IsRed"></text>
+              </text>
+    					<text class="text_twoLine desc">{{item.CreateDate}}</text>
+    				</view>
+    				<u-icon name="arrow-right" color="#BDBDBD" size="34"></u-icon>
+    			</view>
+    			<u-loadmore :status="status" icon-type="flower" :load-text="loadText" margin-top="20" v-if="totalPage>1"/>
+    		</view>
+		<view class="nodata" v-else>
+			<image src="@/static/img/nodata.png" mode="" class="nodata_ico"></image>
+			<text>暂时没有报告的内容</text>
+		</view>
+	</view>
+</template>
+
+<script>
+  import { Reports } from '@/config/api.js' 
+  import { Throttle } from '@/config/util.js' 
+  let app = getApp()
+	export default {
+		data() {
+			return {
+          refresh: false,//正在下拉
+          page_no:1,
+          pageSize:10,
+		  categoryId:null,
+          collectList:[],
+          haveData:true,
+          status:'loadmore',
+          loadText: {
+          	loadmore: '上拉加载更多',
+          	loading: '加载中',
+          	nomore: '已经到底了'
+          },
+          totalPage:''
+			};
+		},
+    onLoad(option) {
+		this.categoryId= option.id-0
+    	this.getCollectList()
+    },
+    methods:{
+    /* 获取列表 */
+    getCollectList() {
+    	Reports.getTactics({
+    		PageSize: this.pageSize,
+    		CurrentIndex: this.page_no,
+			CategoryId:this.categoryId
+    	}).then(res => {
+    		if(res.Ret === 200) {
+				uni.setNavigationBarTitle({
+				    title: 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) {
+    				this.collectList = res.Data.List || [];
+    				this.haveData = this.collectList.length ? true : false
+    				if(this.refresh) {
+    					uni.stopPullDownRefresh();
+    					this.refresh = false;
+    				} 
+    			}else {
+    				this.collectList = this.collectList.concat(res.Data.List)
+    			}
+    		}
+    	})
+    },
+   goDetail(item,index) {
+   	/* 无需授权且已绑定 检验是或否有权限 */
+	this.collectList[index].IsRed=false
+   	this.$store.dispatch('checkHandle').then(res => {
+   		app.globalData.isAuth = res.IsAuth;
+   		app.globalData.isBind = res.IsBind;
+   		if((!res.IsAuth) && (!res.IsBind)) { // 已授权已绑定
+   			uni.navigateTo({
+   				url:'/pages/reportDetail/reportDetail?idReport=' + item.ArticleId,
+   			});
+   		}else if(res.IsAuth) { //未授权
+   			uni.navigateTo({
+   				url:'/pages/authGuide/authGuide'
+   			})
+   		}else if(res.IsBind && !res.IsAuth){ //已授权未绑定
+   			uni.navigateTo({
+   				url:'/pages/login/login'
+   			})
+   		}
+   	})
+   	
+   },
+    },
+    /* 触底 */
+    	onReachBottom: Throttle(function() {
+    		if(this.status === 'nomore') return ;
+    		this.status = 'loading';
+    		this.page_no++;
+    		this.getCollectList()
+    	}),
+    	/* 下拉刷新 */
+    	onPullDownRefresh: Throttle(function() {
+    		this.page_no = 1;
+    		this.refresh = true;
+    		this.getCollectList()
+    	}),
+    
+   
+	}
+</script>
+
+<style scoped lang="scss">
+.industrial-container {
+  background-color: #f6f6f6;
+  .collect-ul {
+    // margin-top: 30rpx;s
+  	padding-top: 4rpx;
+  	.collect-ltem {
+  		display: flex;
+  		padding: 30rpx 34rpx;
+  		background: #fff;
+  		margin-bottom: 4rpx;
+  		align-items: center;
+  		justify-content: space-between;
+  		.title {
+        position: relative;
+  			max-width: 625rpx;
+  			color: #4A4A4A;
+  			font-size: 34rpx;
+        padding-left: 28rpx;
+        .reg-text {
+          position: absolute;
+          top: 15rpx;
+          left:0rpx;
+          width: 14rpx;
+          height: 14rpx;
+          background-color: #FF0000;
+          border-radius: 50%;
+          z-index: 9;
+        }
+  		}
+  		.desc {
+  			margin-top: 17rpx;
+        padding-left: 28rpx;
+  			width: 625rpx;
+  			color: #999;
+  		}
+  	}
+  }
+}
+</style>

+ 334 - 0
pages/landscape/landscape.vue

@@ -0,0 +1,334 @@
+<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>

+ 5 - 3
pages/login/login.vue

@@ -8,7 +8,8 @@
 			<view class="tel-bind" v-if="bind_type === 1">
 				<view class="ipt-item">
 					<label class="item-label">手机号</label>
-					<input type="text" v-model="phoneIpt" class="ipt" placeholder="请输入手机号">
+					<input type="text" v-model="phoneIpt" class="ipt" placeholder="请输入手机号" style="width: 300rpx;">
+          <button open-type="getPhoneNumber" value="用户授权" @getphonenumber="getPhoneNumber" class='code-btn'>微信手机号绑定</button> 
 				</view>
 				<view class="ipt-item">
 					<label class="item-label">验证码</label>
@@ -22,8 +23,8 @@
 					<view class="tip">我已阅读并同意<text @click="lookArgeement">《用户服务协议》</text> </view>
 				</view>
 				<button @click="bindPhoneHandle" class='infobutton bind-btn'>提交</button>
-				<button v-if="checked" open-type="getPhoneNumber" value="用户授权" @getphonenumber="getPhoneNumber" class='infobutton plain-style'>微信手机号绑定</button> 
-				<button v-else value="用户授权"class='infobutton plain-style' @click="$util.toast('请先勾选用户服务协议')">微信手机号绑定</button> 
+<!-- 				<button v-if="checked" open-type="getPhoneNumber" value="用户授权" @getphonenumber="getPhoneNumber" class='infobutton plain-style'>微信手机号绑定</button> 
+				<button v-else value="用户授权"class='infobutton plain-style' @click="$util.toast('请先勾选用户服务协议')">微信手机号绑定</button> -->
 			</view>
 			<view class="email-bind" v-else>
 				<view class="ipt-item">
@@ -85,6 +86,7 @@
 					}).then(res => {
 						if(res.Ret === 200) {
 							this.phoneNum = res.Data.PhoneNumber;
+              this.phoneIpt=res.Data.PhoneNumber;
 							this.bindHandle()
 						}
 					})

+ 7 - 4
pages/my/my.vue

@@ -185,9 +185,10 @@
 				// width: 139rpx;
 				padding:0 20rpx;
 				height: 56rpx;
-				background-color: #EEEEEE;
-				color: #385388;
+				background-color: #FFF;
+				color: #3385FF;
 				font-size: 24rpx;
+				border: 2rpx solid #3385FF;
 			}
 		}
 	}
@@ -243,13 +244,15 @@
 			.auth-btn {
 				width: 139rpx;
 				height: 56rpx;
-				background-color: #F9F9F9;
+				background:rgba(255,255, 255, 0.1);
+				color: #3385FF;
 				font-size: 24rpx;
 				position: absolute;
 				right: 0;
 				top: 50%;
 				transform: translateY(-50%);
-				border: none;
+				line-height: 56rpx;
+				border: 2rpx solid #3385FF;
 			}	
 		}
 	}

+ 77 - 24
pages/reportDetail/reportDetail.vue

@@ -10,17 +10,22 @@
 				注:请务必阅读<text class="tip" @click="isShowTip=true">免责声明</text>
 			</view>
 		</view> -->
-		<block v-if="haveAuth===1">
+		<block v-if="haveAuth===1 && !idReport">
 			<!-- 链接地址 -->
-			<web-view :src="linkurl+'?id='+id+'&fromType=mpwechat&token='+access_token"></web-view>
-		</block>
+			<web-view :src="linkurl+'?id='+userId+'&fromType=mpwechat&token='+access_token"></web-view>
+		</block>
+		<block v-else-if="haveAuth===1 && idReport">
+					<!-- 链接地址 -->
+					<web-view :src="linkurl+'?idReport='+userId+'&fromType=mpwechat&token='+access_token"></web-view>
+				</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">
-					<image src="@/static/img/btn_bg.png" class="btn_bg"></image>
-					<text class="btn-txt" @click="applyAuth">立即申请</text>
+				<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">
@@ -34,9 +39,10 @@
 	<!-- 		<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 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>
@@ -53,22 +59,29 @@
 				access_token:'',//用户标识
 				isIphoneX:false,//判断机型
 				reportInfo:'',
-				linkurl:'http://192.168.1.61:2000/raiReportDtl',//链接地址
+				//linkurl:'http://192.168.1.61:2000/raiReportDtl',//链接地址
 				// linkurl:'http://8.136.199.33:8088/raiReportDtl',//链接地址
-				// linkurl:'https://details.hzinsights.com/raiReportDtl',//线上链接地址
+				//linkurl:'https://details.hzinsights.com/raiReportDtl',//线上链接地址
+        linkurl:' http://192.168.1.155:2000/raiReportDtl',//链接地址
 				showNav:false,
-				id:'',
+				id:'',
+				idReport:null,
 				isShowTip:false,
 				sale_name:'',//可联系销售名称
 				sale_number:'',//可联系销售电话
 				industry:'',//行业
 			};
+		},
+		computed:{
+			userId(){
+				return this.id ? this.id : this.idReport
+			}
 		},
 		methods: {
 			/* 获取详情 */
 			getDetail() {
 				Report.reportDtl({
-					ArticleId: Number(this.id)
+					ArticleId: Number(this.id) 
 				}).then(res => {
 					if(res.Ret === 200) {
 						this.haveAuth = res.Data.HasPermission;
@@ -81,6 +94,23 @@
 						}
 					}
 				})
+			},
+			/* 获取详情 */
+			getDetailTwo() {
+				Report.reportDtlTwo({
+					ArticleId:Number(this.idReport)
+				}).then(res => {
+					if(res.Ret === 200) {
+						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() {
@@ -148,7 +178,7 @@
 			/* 访谈接口 */
 			interviewApi() {
 				Report.applyRpt({
-					ArticleId: Number(this.id)
+					ArticleId: Number(this.id)||Number(this.idReport)
 				}).then(res => {
 					this.reportInfo.IsInterviewApply = !this.reportInfo.IsInterviewApply;
 				})
@@ -156,7 +186,7 @@
 			/* 收藏 */
 			collectHandle() {
 				Report.collectRpt({
-					ArticleId: Number(this.id)
+					ArticleId: Number(this.id) ||Number(this.idReport)
 				}).then(res => {
 					this.reportInfo.IsCollect = !this.reportInfo.IsCollect;
 					this.$util.toast(res.Msg)
@@ -170,7 +200,11 @@
 					app.globalData.isAuth = res.IsAuth;
 					app.globalData.isBind = res.IsBind;
 					if((!res.IsAuth) && (!res.IsBind)) { //已授权已绑定
-						this.getDetail();
+						if(this.idReport) {
+							this.getDetailTwo()
+						}else {
+							this.getDetail();
+						}
 					}else if(res.IsAuth) { //未授权
 						uni.navigateTo({
 							url:'/pages/authGuide/authGuide'
@@ -181,11 +215,18 @@
 						})
 					}
 				})				
-			}else { // 跳转入口
-				this.getDetail();
+			}else { // 跳转入口
+			if(this.idReport) {
+				this.getDetailTwo()
+			}else {
+				this.getDetail();
+			}
+				
+				
 			}
 		},
-		onLoad(option) {
+		onLoad(option) {
+			// console.log(option)
 			/* 兼容iphonex底部 */
 			// uni.getSystemInfo({
 			// 	success: res => {
@@ -194,8 +235,16 @@
 			// 			this.isIphoneX = true;
 			// 	   }
 			// 	}
-			// })
-			this.id = option.id || '';
+			// })
+			// let pages = getCurrentPages();
+			// let prevPage = pages[pages.length - 2]; //当前页面
+			// console.log(prevPage)
+			uni.setNavigationBarTitle({
+			    title: option.idReport?'报告详情':'纪要详情'
+			});
+			// this.idReport=option.idReport
+			this.id = option.id || '';
+			this.idReport= option.idReport ||null;
 		},
 		 /**
 		    * 用户点击分享
@@ -203,7 +252,7 @@
 		onShareAppMessage: function (res) {
 			return {
 				title: this.reportInfo.Title,
-				path: '/pages/reportDetail/reportDetail?id='+this.id,
+				path: '/pages/reportDetail/reportDetail?id='+this.id ||this.idReport,
 				// imageUrl: '/static/img/detail_share.jpg',
 				success: (res)=> {
 				},
@@ -300,13 +349,17 @@
 		.btn-cont {
 			width: 368rpx;
 			height: 80rpx;
-			position: relative;
+			// position: relative;
+      background-color: #3385FF;
 			color: #fff;
 			font-size: 34rpx;
 			margin: 0 auto;
 			text-align: center;
 			line-height: 80rpx;
-			&.back-btn {
+			&.back-btn {
+         background-color: #fff !important;
+         border: 2rpx solid #3385FF;
+         color: #3385FF;
 				margin-top: 30rpx;
 			}
 			.btn_bg {

+ 234 - 0
pages/reportForm/components/strategy.vue

@@ -0,0 +1,234 @@
+<template>
+  		<!-- 季度策略 -->
+	<view class="industrial-container">
+    <!-- 季度策略 -->
+    <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}}
+              <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>
+    				</view>
+    				<u-icon name="arrow-right" color="#BDBDBD" size="34"></u-icon>
+    			</view>
+    			<u-loadmore :status="status" icon-type="flower" :load-text="loadText" margin-top="20" v-if="totalPage>1"/>
+    		</view>
+	</view>
+</template>
+
+<script>
+  import { Reports } from '@/config/api.js' 
+  import { Throttle } from '@/config/util.js' 
+  let app = getApp()
+	export default {
+    props:{
+      strategyIndexTwo:{
+        type:Number
+      },
+      isNum:{
+         type:Number
+      },
+	  tabAct_idTwo:{
+		  type:Number
+	  },
+	  pageNumFather:{
+		  type:Number,
+		  default:null
+	  },
+    },
+		data() {
+			return {
+          refresh: false,//正在下拉
+          page_no:1,
+          pageSize:10,
+          collectList:[],
+          haveData:true,
+          status:'loadmore',
+          loadText: {
+          	loadmore: '上拉加载更多',
+          	loading: '加载中',
+          	nomore: '已经到底了'
+          },
+          totalPage:'',
+		  isShow:false,
+          threeFour:false,
+          isText:true
+			};
+		},
+    watch:{
+      strategyIndexTwo:{
+        handler() {
+        	if(this.strategyIndexTwo==2||this.strategyIndexTwo==3){
+              this.threeFour=true
+            }
+            if(this.strategyIndexTwo==1) {
+              this.isText=false
+            }else {
+              this.isText=true
+            }
+        	},
+        	immediate:true
+        },
+        isNum:{
+          handler() {
+          		if(this.status === 'nomore') return ;
+          		this.status = 'loading';
+          		this.page_no++;
+          		this.getCollectList()
+          	},
+        },
+		tabAct_idTwo:{
+			handler() {
+				this.page_no=1,
+				this.pageSize=10,
+				this.getCollectList()
+				},
+				// immediate:true
+		},
+		pageNumFather:{
+			handler(){
+					if(this.pageNumFather){
+					this.page_no=1
+					this.getCollectList()
+					}
+				}
+		}
+      },
+    mounted() {
+     if(this.tabAct_idTwo){
+		  this.getCollectList()
+	 }
+    },
+	methods:{
+    /* 获取列表 */
+    getCollectList() {
+    	Reports.getTacticsList({
+    		PageSize: this.pageSize,
+    		CurrentIndex: this.page_no,
+			CategoryId:this.tabAct_idTwo
+    	}).then(res => {
+    		if(res.Ret === 200) {
+    			this.status = this.page_no < res.Data.Paging.Pages ? 'loadmore' : 'nomore';
+    			this.totalPage = res.Data.Paging.Pages;//总页数
+    			if(this.page_no === 1) {
+    				this.collectList = res.Data.List || [];
+    				this.haveData = this.collectList.length ? true : false
+    				if(this.refresh) {
+    					uni.stopPullDownRefresh();
+    					this.refresh = false;
+    				} 
+    			}else {
+    				this.collectList = this.collectList.concat(res.Data.List)
+    			}
+    		}
+    	})
+    },
+   goDetail(item,index) {
+   	/* 无需授权且已绑定 检验是或否有权限 */
+	if(index==0) {
+		this.$emit('hideIsred',this.isShow)
+	}
+	this.collectList[index].IsRed=false
+	
+	// 	console.log(this.collectList[index])
+   	this.$store.dispatch('checkHandle').then(res => {
+   		app.globalData.isAuth = res.IsAuth;
+   		app.globalData.isBind = res.IsBind;
+   		if((!res.IsAuth) && (!res.IsBind)) { // 已授权已绑定
+   			uni.navigateTo({
+   				url:'/pages/reportDetail/reportDetail?idReport=' + item.ArticleId,
+   			});
+   		}else if(res.IsAuth) { //未授权
+   			uni.navigateTo({
+   				url:'/pages/authGuide/authGuide'
+   			})
+   		}else if(res.IsBind && !res.IsAuth){ //已授权未绑定
+   			uni.navigateTo({
+   				url:'/pages/login/login'
+   			})
+   		}
+   	})
+   	
+   },
+    },
+   
+    	/* 下拉刷新 */
+    	onPullDownRefresh: Throttle(function() {
+    		this.page_no = 1;
+    		this.refresh = true;
+    		this.getCollectList()
+    	}),
+    
+   
+	}
+</script>
+
+<style scoped lang="scss">
+.industrial-container {
+  background-color: #f6f6f6;
+  margin-top: 20rpx;
+  .collect-ul {
+    // margin-top: 10rpx;
+    // background-color: #f6f6f6;
+  	// padding-top: rpx;
+  	.collect-ltem {
+  		display: flex;
+  		padding: 30rpx 34rpx;
+  		background: #fff;
+  		margin-top: 10rpx;
+  		align-items: center;
+  		justify-content: space-between;
+  		.title {
+        position: relative;
+  			max-width: 625rpx;
+  			color: #333;
+  			font-size: 30rpx;
+        padding-left: 28rpx;
+        .reg-text {
+          position: absolute;
+          top: 50%;
+          left:0rpx;
+          width: 14rpx;
+          height: 14rpx;	  
+		 transform: translateY(-50%);
+          background-color: #FF0000;
+          border-radius: 50%;
+          z-index: 9;
+        }
+  		}
+  		.desc {
+  			margin-top: 17rpx;
+        padding-left: 28rpx;
+  			width: 625rpx;
+  			color: #999;
+  		}
+      .text_one {
+        max-width: 600rpx;
+        padding-left: 28rpx;
+        color: #666666;
+        font-size: 28rpx;
+        white-space:nowrap;
+        text-overflow:ellipsis;
+        overflow: hidden;
+      }
+      .text-threeFour {
+        max-width: 600rpx;
+        padding-left: 28rpx;
+        color: #666666;
+        font-size: 28rpx;
+         text-overflow: -o-ellipsis-lastline;
+          overflow: hidden;
+          text-overflow: ellipsis;
+          display: -webkit-box;
+          -webkit-line-clamp: 2;
+          line-clamp: 2;
+          -webkit-box-orient: vertical;
+      }
+  	}
+  }
+}
+</style>

+ 631 - 0
pages/reportForm/reportForm.vue

@@ -0,0 +1,631 @@
+<template>
+  <view class="reportForm-container">
+    <!-- tabs -->
+	<view class="top-box">
+	<view class="top-tab-cont">
+     <view class="tab-cont">
+     				<scroll-view 
+     				scroll-x="true" 
+     				scroll-with-animation 
+     				class="scroll-tab" 
+     				:scroll-into-view="'_'+tabIndex">
+     					<block v-for="(item, index) in tabBars" :key="item.ChartPermissionId">
+     						<view :id="'_'+index" class="scroll-tab-item" :class="{ active: tabAct_id === item.ChartPermissionId }" @click.stop="toggleTab(item,index)">
+     						{{item.PermissionName}}
+     						<image src="@/static/img/border_act.png" mode="" class="border_act" v-if="tabAct_id === item.ChartPermissionId"></image>
+     						</view>
+     					</block>
+     				</scroll-view>
+            
+     			</view>
+           <view class="lucency" v-if="tabBars.length>6"></view>
+   </view>
+  	</view>
+   <!-- 内容 -->
+   <view class="strategy" v-if="strategyIndex==4">
+    <view class="tab-cont-two">
+       				<scroll-view 
+       				scroll-x="true" 
+       				scroll-with-animation 
+       				class="scroll-tab-tow" 
+       			>
+       					<block v-for="(item, index) in tabBarsTow" :key="item.CategoryId">
+       						<view :id="'_'+index"
+                   class="scroll-tab-item"
+                    :class="{ active: tabAct_idTwo === item.CategoryId }" 
+                    @click.stop="toggleTabTwo(item,index)">
+       						{{item.SubCategoryName}}
+                  <text class="reg-text" v-if="item.IsRed"></text>
+       						</view>
+       					</block>
+       				</scroll-view>   
+      </view>
+      <view class="row">
+        
+      </view>
+  <!-- 子组件 -->
+      <strategy :strategyIndexTwo="strategyIndexTwo" :pageNumFather='pageNumFather'  :tabAct_idTwo="tabAct_idTwo" :isNum="isNum" :isSwitchover="isSwitchover"  @hideIsred="hideIsred"/>
+     </view>
+   <!-- </view> -->
+  <view class="industrial_eport_one" v-else>  
+      <!-- 行业报告 -->
+   <view class="industry" v-if="tradeList">
+     <view style="height: 12rpx;"></view>
+     <view class="industry-top">
+     <view class="img-top-box">
+       <image src="@/static/img/industry-ico.png" ></image>
+       <text>行业综述</text>
+     </view>
+     <view></view>
+     </view>
+     <view class="industry-box" @click="isClickHandle(tradeList.CategoryId)">
+       <view class="box-left">
+         {{tradeList.SubCategoryName}}
+         <text v-if="tradeList.IsRed"></text>
+       </view>
+       <view class="box-right">
+         <text>{{tradeList.UpdateTime}}更新</text>
+        	<u-icon name="arrow-right" color="#BDBDBD" size="34"></u-icon>
+       </view>
+     </view>
+   </view>
+    <!-- 产业报告 -->
+   <view class="industry">
+	   <view style="height: 12rpx;" v-if="!tradeList"></view>
+     <view class="industry-top">
+      <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>
+          <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>
+			
+          </view>
+           
+      </view>
+	  
+     </view>
+     <!-- 需要循环的地方 -->
+     <view class="forindustry" v-for="item in industryList" :key="item.IndustrialManagementId" >
+       <!-- 火锅底料这个位置 -->
+       <view class="industry-box industry-content" >
+         <view class="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>
+       </view>
+        <view class="content-box">
+          <view class="img-box">
+            <image src="@/static/img/fenxi_ico.png"></image>
+            <text> 分析师:&nbsp; {{item.Analyst}}</text>
+          </view>
+          <view class="img-box">
+              <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>
+            </u-read-more>
+         
+         
+        </view>
+     </view>
+   </view>
+    <!-- <text class="text-bottom-none">没有更多了</text> -->
+   </view>
+  
+   <u-mask :show="isPitchOnShow" @click="isPitchOnShow = false" :z-index="8" :custom-style="{background: 'rgba(0, 0, 0, 0)'}"></u-mask>
+  </view>
+</template>
+
+<script>
+  import strategy from "./components/strategy.vue"
+  import { Throttle } from '@/config/util.js' 
+  import { Reports } from '@/config/api.js' 
+  export default {
+   components:{strategy},
+    data(){
+      return {
+        tabAct_id:null,
+        tabAct_idTwo:null,
+        tabBars: [],
+		pageNumFather:null,
+        shadowStyle: {	backgroundImage: "none"},
+        tabBarsTow:[],
+        pitchOn:[{  name:'最近更新',  id:'NewTime' }, {  name:'弘则推荐', id:'Recommend',}],
+		pitchOnId:'NewTime',
+        isPitchOnShow:false,  
+        isNum:1,
+		strategyIndex:null,
+		strategyIndexTwo:0,
+		isSwitchover:1,
+		tradeList:null,
+		OrderColumn:'',
+		industryList:[]
+      }
+    },
+     onLoad() {
+	this.getClassify()	
+	},
+    watch:{
+      //监听tabs的变化
+        tabAct_id: {
+        			handler() {
+        				// this.searchHandle();
+						if(this.strategyIndex==4) {
+							this.getstrategyAll()
+						}
+						if(this.tabAct_id) {
+							this.OrderColumn='NewTime'
+							this.pitchOnId='NewTime'
+							this.getIndustryList()
+							this.getTradeList()
+						}
+						
+        			},
+        			immediate:true
+        		}
+      },
+    methods:{
+	 //获取一级事件
+	 getClassify(){
+			Reports.getClassify().then(res=>{
+				this.tabBars=res.Data.List
+				this.tabAct_id=res.Data.List[0].ChartPermissionId
+				
+			})
+		},
+	 //获取二级事件
+	 getstrategyAll(){
+			Reports.getstrategyAll().then(res=>{
+				this.tabBarsTow=res.Data.List
+				this.tabAct_idTwo=res.Data.List[0].CategoryId
+			})
+		},
+     //tabs切换事件
+     toggleTab (item,index) {
+		  this.strategyIndex=index
+		  // console.log( this.strategyIndex)
+		  this.isPitchOnShow=false
+      		if(this.tabAct_id !== item.ChartPermissionId) {
+      			this.tabAct_id = item.ChartPermissionId;
+      			this.pageNum = 1;
+      			uni.pageScrollTo({
+      			   scrollTop: 0,
+      			   duration: 0,
+      			});
+      		}
+      	},
+	 //tabs切换二级事件
+     toggleTabTwo (item,index) {
+			this.strategyIndexTwo=index
+      		if(this.tabAct_idTwo !== item.CategoryId) {
+      			this.tabAct_idTwo = item.CategoryId;
+      			this.pageNum = 1;
+      			uni.pageScrollTo({
+      			   scrollTop: 0,
+      			   duration: 0,
+      			});
+      		}
+      	},
+     //产业报告筛选条件
+      isPitchOnShowBtn(){
+        this.isPitchOnShow=!this.isPitchOnShow
+		
+      },
+	  //点击产业报告的筛选条件
+      pitchClick(item) {
+		  this.OrderColumn=item.id
+		  if(this.pitchOnId !== item.id) {
+		  	this.pitchOnId = item.id;}
+		  this.getIndustryList()
+		this.isPitchOnShow=false
+      },
+	  //获取报告所有品种接口
+	  getTradeList(){
+		  Reports.getTradeList({
+			  ChartPermissionId:this.tabAct_id
+		  }).then(res=>{
+			  if(res.Ret==200){
+				  if(res.Data.List){
+					  this.tradeList=res.Data.List[0]
+				  }else{
+					   this.tradeList=null
+				  }
+				   
+			  }
+			 
+		  })
+	  },
+	  //获取产业报告所有品种接口
+	  getIndustryList(){
+	  		  Reports.getIndustryList({
+	  			  ChartPermissionId:this.tabAct_id,
+				  OrderColumn: this.OrderColumn
+	  		  }).then(res=>{	
+				  
+				  this.industryList=res.Data.List
+				 
+				  
+	  		  })
+	  },
+      //跳转季度策略
+      isClickHandle(id){
+        uni.navigateTo({
+        	url:'/pages/industrialReport/industrialReport?id='+id
+        });
+      },
+      //跳转产业报告
+      goIndustryReport(id){
+        uni.navigateTo({
+        	url:'/pages/IndustryReport/IndustryReport?id='+id
+        });
+      },
+	 
+	 //点击顶置的图标
+	  isOverhead(id){
+		  Reports.postToptt({
+			  IndustrialManagementId:id
+		  }).then(res=>{
+			   
+			  if(res.Ret===200){
+				   this.getIndustryList()
+				   uni.showToast({
+				       title: res.Msg,
+				       duration: 2000
+				   });
+			  } 
+		  })
+	  },
+	  hideIsred(is){
+		  this.tabBarsTow[this.strategyIndexTwo].IsRed=is
+		  console.log(this.tabBarsTow,this.strategyIndexTwo)
+	  }
+    },
+	   /* 触底 */
+   	onReachBottom: Throttle(function() {
+       this.isNum++
+   	}),
+	/* 下拉刷新 */
+	onPullDownRefresh: Throttle(function() {
+	if(this.strategyIndex==4) {
+		this.pageNumFather=1
+	}else {
+		this.pageNumFather=null
+		this.getIndustryList()
+		this.getTradeList()
+	}
+	 wx.stopPullDownRefresh();
+	}),
+	onShow() {
+		if(this.tabAct_id) {
+			this.getTradeList()
+		}
+		
+	}
+  }
+</script>
+
+<style lang="scss" >
+  .reportForm-container {
+       background-color: #f6f6f6;
+	   height: 100vh;
+	    // padding-bottom: 300rpx;
+	   // margin-top: ;
+	   .top-box {
+		   position: fixed;
+		   height: 100rpx;
+		   width: 100%;
+		   z-index: 99;
+		   background-color: #fff;
+		   top: 0;
+		   left: 0;
+    .top-tab-cont{
+      height: 60rpx;
+      padding-bottom: 40rpx;
+       position: relative;
+	   background-color: #FFF;
+       .lucency{
+         position: absolute;
+         top: 0;
+         right: 0;
+         width: 32px;
+         height: 30px;
+         opacity:0.9;
+         background-color: #fff;
+       }
+   .tab-cont {
+     margin-top: 20rpx;
+     padding: retu;
+   		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;
+   			margin-right: 70rpx;
+   			border-bottom: 8rpx solid transparent;
+   			position: relative;
+   			&:last-child {
+   				margin-right: 0;
+   			}
+   			&.active {
+   				border-bottom: none;
+   				color: #2C83FF;
+   				font-weight: 700;
+   			}
+   			.border_act {
+   				width: 100%;
+   				height: 8rpx;
+   				position: absolute;
+   				bottom: 0;
+   				left: 0;
+   			}
+   		}
+   	}
+  }
+  }
+  .forindustry {
+	  margin-bottom: 10rpx;
+  }
+  .industrial_eport_one {
+	 padding-top: 80rpx;
+	 background-color:  #f6f6f6;
+	 // height: 100vh;
+	 padding-bottom: 10rpx;
+  }
+  .strategy {
+    margin-top: 20rpx;
+    height: 65rpx;
+    line-height: 65rpx;
+    background-color: #fff;
+    .row {
+      width: 100%;
+      height: 170rpx;
+      background-color: #f6f6f6;
+    }
+    .tab-cont-two {
+		position: fixed;
+		top: 100rpx;
+		left: 0;
+		width: 100%;
+		z-index: 99;
+		height: 100rpx;
+		background-color: #fff;
+       padding: 0 30rpx;
+      .scroll-tab-tow {
+		padding-top: 20rpx;
+        width: 100%;
+        white-space: nowrap;
+        .scroll-tab-item {
+          position: relative;
+          display: inline-block;
+          height: 54rpx;
+          line-height: 54rpx;
+          padding: 0 23rpx;
+          background: #F7F7F7;
+          border-radius: 27px;
+          color: #999999;
+          margin-right: 46rpx;
+          .reg-text {
+            position: absolute;
+            top: -6rpx;
+            right: -8rpx;
+            width: 14rpx;
+            height: 14rpx;
+            background-color: #FF0000;
+            border-radius: 50%;
+          }
+        }
+        .active {
+          color: #FFFFFF !important;
+          background-color: #2C83FF!important;
+        }
+      }
+    }
+  }
+  .industry {
+    margin-top: 20rpx;
+    .industry-top {
+      display: flex;
+      justify-content: space-between;
+      background-color: #fff;
+      width: 100%;
+      height: 90rpx;
+      padding: 0 30rpx;
+      color: #333333;
+      font-weight: 700;
+      font-size: 32rpx;
+      line-height:90rpx ;
+      // vertical-align:middle;
+	  .equilateral-triangle {
+	  	 position: relative;
+	  	 bottom:-78rpx;
+		 right: -216rpx;
+		 padding: 0;
+	  	 width: 0;
+	  	 height: 0;
+	  	 border-left: 18rpx solid transparent;
+	  	 border-right: 18rpx solid transparent;
+	  	 border-bottom: 20rpx solid #434343;
+	  }
+      .pop-box {
+        position: relative;
+		.pop-up view:nth-child(2) {
+			border: none !important;
+		}
+        .pop-up {
+          position: absolute;
+          left: -200rpx;
+          bottom: -208rpx;
+          width: 256rpx;
+		  text-align: center;
+		  overflow: hidden;
+          font-size: 24rpx;
+          background-color: #434343;
+		  border-radius: 10rpx;
+          z-index: 9;
+		 
+		  .pitch-on {
+			  color: #2C83FF !important;
+		  }
+          view {
+            padding: 0;
+			height: 105rpx;
+			width: 190rpx;
+			font-size: 28rpx;
+			margin-left: 30rpx;
+            line-height: 104rpx;
+            border-bottom: 2rpx solid #f6f6f6;
+            text-align: center;
+			color: #FFFFFF;
+          }  
+		
+        }
+      }
+      .img-top-box {
+        padding-left: 5rpx;
+		
+      }
+      image {
+        width: 44rpx;
+        height: 44rpx;
+        vertical-align:middle;
+		margin-top: -6rpx;
+      }
+      text {
+        display: inline-block;
+        padding-left: 16rpx;
+        vertical-align:middle;
+      }
+    }
+    .industry-box{
+      margin-top: 5rpx;
+      background-color: #fff;
+      height: 90rpx;
+      line-height: 90rpx;
+      padding: 0 30rpx;
+      display:flex;
+      justify-content: space-between; 
+      color: #000000;
+      font-size: 30rpx;
+      .box-left {
+        position: relative;
+        // width: 150rpx;
+		padding-right: 30rpx;
+        height: 90rpx;
+         text {
+           position: absolute;
+           top: 20rpx;
+           right: 5rpx;
+           width: 14rpx;
+           height: 14rpx;
+           background-color: #f00;
+           border-radius: 50%;
+         }
+         
+      }
+      .box-right { 
+        color: #999999;
+        font-size: 26rpx;
+		width: 45%;
+        display: flex;
+		justify-content: flex-end;
+        // justify-content: space-between;
+		text-align: right;
+		align-items: right;
+        u-icon {
+          padding-left:15rpx;
+        }
+      }
+    }
+    .industry-content {
+      padding-left: 40rpx;
+      vertical-align:middle;
+      margin-bottom: 3rpx;
+      image {
+         // vertical-align:top;
+        margin-right: 20rpx;
+        width: 24rpx;
+        height: 30rpx;
+      }
+      .box-left {
+        // width: 200rpx !important;
+		image {
+			vertical-align: middle;
+			 margin-top: -8rpx;
+		}
+      }
+    
+  }
+  .content-box {
+    background-color: #fff;
+    padding: 0 30rpx;
+      .img-box {
+         display: flex;
+        height: 90rpx;
+        line-height: 90rpx;
+       box-sizing: border-box;
+        width: 100%;
+        vertical-align:middle !important;
+        image {
+          padding-top: 18rpx;
+         width: 44rpx;
+         height: 44rpx;
+         vertical-align:middle;
+        }
+        text {
+          display: inline-block;
+          padding-left: 16rpx;
+           vertical-align:middle !important;
+        }
+      }
+    }
+  }
+  .read-more {
+   margin-left:60rpx;
+   display: flex;
+   flex-wrap: wrap;
+   .text-box {
+     // display: inline-block;
+     margin-bottom: 27rpx;
+     margin-right:40rpx;
+     padding: 0;
+     font-size: 24rpx;
+     color: #408FFF;
+     width: 170rpx;
+     height: 46rpx;
+     line-height: 46rpx;
+     text-align: center !important;
+     background:url(../../static/img/report_bg.png) no-repeat;
+     background-size: 100% 100%;
+     text-indent:0em;
+   }
+  }
+  
+  }
+  .text-bottom-none {
+	  width: 100%;
+  	  text-align: center;
+  }
+</style>

+ 114 - 11
pages/search/search.vue

@@ -13,7 +13,7 @@
 			<view class="ipt-right">
 				<icon type="clear" size="16" color="#E0E0E0" v-show="searchTxt" @click="clearIpt"/>
 				<text  class="line">|</text>
-				<text @click="searchHandle">搜索</text>
+				<text @click="searchHandle" style="color: #3385FF;">搜索</text>
 			</view>
 		</view>
 		<view class="search-cont">
@@ -38,6 +38,21 @@
 			</template>
 			<template v-else>
 				<block v-if="haveResult">
+          <!-- 等接口待完善 -->
+<view class="tab-cont">
+				<scroll-view 
+				scroll-x="true" 
+				scroll-with-animation 
+				class="scroll-tab" 
+				:scroll-into-view="'_'+tabIndex">
+					<block v-for="(item, index) in tabBars" :key="item.ChartPermissionId">
+						<view :id="'_'+index" class="scroll-tab-item" :class="{ active: tabAct_id === item.ChartPermissionId }" @click.stop="toggleTab(item,index)">
+						{{item.PermissionName}}
+						<image src="@/static/img/border_act.png" mode="" class="border_act" v-if="tabAct_id === item.ChartPermissionId"></image>
+						</view>
+					</block>
+				</scroll-view>
+			</view>
 					<view class="result-data">
 						<view class="report-ul">
 							<view class="report-item" v-for="(report,index) in resultList" :key="index" v-if="index%2 === 0" @click="goDetail(report)">
@@ -66,7 +81,8 @@
 							</view>
 						</view>
 					</view>
-					<u-loadmore :status="status" icon-type="flower" :load-text="loadText" v-if="totalPage>1" bg-color="#F7F7F7" padding-bottom="20rpx"/>
+					<u-loadmore :status="status" icon-type="flower" :load-text="loadText"  bg-color="#F7F7F7" padding-bottom="20rpx"/>
+					<!-- v-if="totalPage>1" -->
 				</block>
 				<view class="nodata" v-else>
 					<image src="@/static/img/nodata.png" mode="" class="nodata_ico"></image>
@@ -96,22 +112,62 @@
 				page_no: 1,
 				pageSize: 10,
 				totalPage: 0,
+				orderColumn:'Comprehensive',
 				loadText:{
 					loadmore: '上拉加载更多',
 					loading: '加载中',
 					nomore: '已经到底了'
 				},
 				status:'loadmore',
+				tabAct_id: 1,
+				isTabAct:true,
+				tabBars: [{
+        					PermissionName: '综合排序',
+							ChartPermissionId:1,
+							mode:'Comprehensive'
+        				}, {
+        					PermissionName: '匹配度排序',
+							ChartPermissionId:2,
+							mode:'Matching'
+        				}, {
+        					PermissionName: '发布时间排序',
+							ChartPermissionId:3,
+							mode:'PublishDate'
+        				}],
 			};
+
 		},
 		watch:{
 			searchTxt(newVal) {
 				if(newVal.length <= 0) {
+					this.tabAct_id=1
 					this.isResult = false;
 				}
-			}
+			},
+      //监听tabs的变化
+      tabAct_id: {
+      			handler() {
+					if(this.isTabAct){
+						this.getDataList();
+					}
+      				
+      			},
+      			// immediate:true
+      		}
 		},
 		methods:{
+      //tabs切换事件
+     	toggleTab (item,index) {
+			this.orderColumn=item.mode
+     			if(this.tabAct_id !== item.ChartPermissionId) {
+     				this.tabAct_id = item.ChartPermissionId;
+     				this.pageNum = 1;
+     				uni.pageScrollTo({
+     				   scrollTop: 0,
+     				   duration: 0,
+     				});
+     			}
+     		},
 			/* 获取关键词 */
 			getKeyWord() {
 				Search.getKeys().then(res => {
@@ -167,11 +223,13 @@
 				this.isResult = true;
 				Search.getResult({
 					KeyWord: this.searchTxt,
-					PageSize: this.pageSize,
-					CurrentIndex: this.page_no,
+					// PageSize: this.pageSize,
+					// CurrentIndex: this.page_no,
+					OrderColumn:this.orderColumn
 				}).then(res => {
 					if(res.Ret === 200) {
-						this.status = this.page_no < res.Data.Paging.Pages ? 'loadmore' : 'nomore';
+						// this.status = this.page_no < res.Data.Paging.Pages ? 'loadmore' : 'nomore';
+						this.status = 'nomore';
 						this.totalPage = res.Data.Paging.Pages;//总页数
 						if(this.page_no === 1) {
 							this.resultList = res.Data.List || [];
@@ -191,7 +249,11 @@
 			},
 			/* 表单清空 */
 			clearIpt() {
+				
 				this.searchTxt = '';
+				this.isTabAct=false
+				this.orderColumn='Comprehensive'
+				// 
 			},
 			/* 历史搜索清空 */
 			clearHistory() {
@@ -208,11 +270,12 @@
 		},
 		/* 触底 */
 		onReachBottom: Throttle(function() {
+			// this.status = 'nomore';
 			if(this.isResult) {
-				if(this.status === 'nomore') return ;
-				this.status = 'loading';
-				this.page_no++;
-				this.getDataList();				
+				// if(this.status === 'nomore') return ;
+				
+				// this.page_no++;
+				// this.getDataList();				
 			}
 		}),
 		onLoad() {
@@ -224,6 +287,7 @@
 		},
 		onShow() {
 			this.getKeyWord();
+			
 		}
 	}
 </script>
@@ -273,7 +337,7 @@
 			right:59rpx;
 			top: 50%;
 			transform: translateY(-50%);
-			color: #385388;
+			color: #3385FF;
 			.line {
 				margin: 0 21rpx;
 				color: #E0E0E0;
@@ -340,6 +404,7 @@
 			}
 		}
 		.result-data {
+			margin-top: 80rpx;
 			min-height: calc(100vh - 130rpx);
 			padding: 20rpx 34rpx 40rpx;
 			display: flex;
@@ -407,5 +472,43 @@
 			}
 		}
 	}
+  	.tab-cont {
+			position: fixed;
+			top: 128rpx;
+			width: 100%;
+  			padding: 0 26rpx;
+  			background-color: #fff;
+  			font-size: 32rpx;
+			z-index: 99;
+  			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;
+  				margin-right: 40rpx;
+  				border-bottom: 8rpx solid transparent;
+  				position: relative;
+  				&:last-child {
+  					margin-right: 0;
+  				}
+  				&.active {
+  					border-bottom: none;
+  					color: #2C83FF;
+  					font-weight: 700;
+  				}
+  				.border_act {
+  					width: 100%;
+  					height: 8rpx;
+  					position: absolute;
+  					bottom: 0;
+  					left: 0;
+  				}
+  			}
+  		}
 }
 </style>

BIN
static/img/advice_ico.png


BIN
static/img/border_act.png


BIN
static/img/fenxi_ico.png


BIN
static/img/fugai_ico.png


BIN
static/img/industry-ico.png


BIN
static/img/property_ico.png


BIN
static/img/property_inco.png


BIN
static/img/report_bg.png


BIN
static/img/report_ico.png


BIN
static/img/success_ico.png


BIN
static/img/tab/index_actico.png


BIN
static/img/tab/index_ico.png


BIN
static/img/tab/my_actico.png


BIN
static/img/tab/my_ico.png


BIN
static/img/tab/report_actico.png


BIN
static/img/tab/report_ico.png


BIN
static/img/top_ico.png


BIN
static/img/top_no_ico.png


+ 9 - 3
uview-ui/components/u-read-more/u-read-more.vue

@@ -9,15 +9,16 @@
 		<view @tap="toggleReadMore" v-if="isLongContent" class="u-content__showmore-wrap"
 		    :class="{ 'u-content__show-more': showMore }"
 		    :style="[innerShadowStyle]">
+			<view class="u-content__showmore-wrap__readmore-btn__icon u-flex">
+				<u-icon class="rotate" :color="color" :size="fontSize" :name="showMore ?  'arrow-left-double':'arrow-right-double' "></u-icon>
+			</view>
 			<text class="u-content__showmore-wrap__readmore-btn" :style="{
 				fontSize: fontSize + 'rpx',
 				color: color
 			}">
 				{{ showMore ? openText : closeText }}
 			</text>
-			<view class="u-content__showmore-wrap__readmore-btn__icon u-flex">
-				<u-icon :color="color" :size="fontSize" :name="showMore ? 'arrow-up' : 'arrow-down'"></u-icon>
-			</view>
+			
 		</view>
 	</view>
 </template>
@@ -175,5 +176,10 @@
 				}
 			}
 		}
+		
+	}
+	.rotate {
+		transform: rotate(90deg);
+		margin-right: 5rpx;
 	}
 </style>