twt пре 1 година
родитељ
комит
dc9c3e1ab9

+ 2 - 2
common/request.js

@@ -1,8 +1,8 @@
  //测试地址
 const baseURL = 'http://api.dms.66km.com.cn/' 
  const burl2='http://api.dms.66km.com.cn/' 
-/*  const baseURL = 'http://192.168.0.147:20189/'
- const burl2='http://192.168.0.147:20189/' */
+/* const baseURL = 'http://192.168.0.132:20189/'
+ const burl2='http://192.168.0.132:20189/' */
 //66正式
 /* const baseURL = 'https://apidms.66km.com/' 
  const burl2='https://apidms.66km.com/' */

+ 215 - 0
components/pcNavLh/pcNav.vue

@@ -0,0 +1,215 @@
+<template>
+	<view>
+		<view class="nav">
+			<view class="navCont">
+				<view class="logo">
+					<!-- <image src="../../static/pcimg/111.png" mode="" class="logoImg euroreparIMg"></image> -->
+			<!-- 	<image :src="info.logo" mode="" class="logoImg euroreparIMg"></image> --><!-- euroreparIMg -->
+				</view>
+				<view class="navTitle">{{info.title}}</view>
+				<view class="indexNav" :class="{'indexActive':data=='index'}" @click="goIndex">首页</view>
+				<view class="allCategory">
+					<view class="allCategoryLine" :class="{'indexActive':itemName==item.name}" v-for="(item,index) in allCategory" v-if="index<7" @click="goItem(item)">{{item.name}}</view>
+				    <view class="allCategoryMore" v-if="allCategory.length>7">
+					 <span @click="moreBtn" class="moreBtn">更多</span> 
+					 <image @click="moreBtn" src="../../static/pcimg/icon_arrow_xia@2x.png" mode="widthFix" class="navmoreImg"></image>
+					 <image  src="../../static/pcimg/mores.png" mode="widthFix" class="navmoreImg2"></image>
+					 <view class="navMoret" >
+					 	<view class="navMoreTline" v-for="(item,index) in allCategory" v-if="index>4" @click="goItem(item)">{{item.name}}</view>
+					 </view>
+					
+					</view>
+					
+				</view>
+				<view class="navSs" @click="gosearchlist">
+					<image src="../../static/pcimg/icon_search@2x.png" mode="widthFix" class="navSsimg"></image>
+				</view>
+			</view>
+		</view>
+
+	</view>
+</template>
+
+<script>
+	export default {
+		name: "searchBox",
+		props: ['data','itemName'],
+		data() {
+			return {
+				allCategory:[],
+				navMoret:false,
+				info:'',
+			};
+		},
+		onLoad() {
+			 
+		},
+		created(){
+			this.getallCategory();
+			this.getInfo()
+		},
+		methods:{
+			gosearchlist(){
+				/* uni.navigateTo({
+					url:'../../pages/pc/searchlist'
+				}) */
+				this.$emit("gosearchlist",1);
+			},
+			goItem(item){
+				/* var pages = getCurrentPages() ;
+				var  currentRoute  = pages[pages.length-1].route;
+				console.log(currentRoute)
+				console.log(item) */
+				/* if(currentRoute=='pages/pc/list'){
+					this.$emit("getChildList",item);
+				}else{
+					uni.navigateTo({
+						url:'list?code='+item.code+'&topName='+item.name+'&comment='+item.comment
+					})
+				} */
+				this.$emit("getChildList",item);
+				uni.pageScrollTo({
+				   scrollTop: 0, duration: 100 
+				}); 
+			},
+			getInfo(){
+				this.$http('/trainingOpenApi/getInfo', {}, 'GET').then(res => {
+					this.info = res.data
+				})
+			},
+			goIndex(){
+				/* uni.navigateTo({
+					url:'../../pages/pc/index'
+				}) */
+				this.$emit("getIndexList",1);
+			},
+			getallCategory(){
+				this.$http('/trainingOpenApiV2/allCategory', {}, 'GET').then(res => {
+					this.allCategory = res.data
+				})
+			},
+			moreBtn(){
+				this.navMoret=!this.navMoret
+			},
+		}
+	}
+</script>
+
+<style scoped>
+	.nav{
+		width: 100%;
+		height: 72px;
+		background: #FFFFFF;
+		box-shadow: 0px 4px 10px 0px rgba(153, 153, 153, 0.12);
+		display: flex;
+		justify-content: center;
+		position: fixed;
+		left: 0;
+		top: 0;
+		z-index: 11;
+	}
+	.navCont{
+		width: 1200px;
+		display: flex;
+		position: relative;
+	}
+	.logoImg{
+		width: 62px;
+		height: 28px;
+		margin-top: 19px;
+	}
+	.navTitle{
+		line-height: 72px;
+		font-weight: 500;
+		color: #3C3C3C;
+		font-size: 20px;
+		padding-left: 10px;
+		font-family: PingFangSC-Medium, PingFang SC;
+	}
+	.indexNav{
+		line-height: 72px;
+		
+		color: #3C3C3C;
+		font-size: 16px;
+		padding-left: 54px;
+		cursor: pointer;
+	}
+	.indexActive{
+		color: #FF4F00 !important;
+	}
+	.allCategory{
+		display: flex;
+		line-height: 72px;
+	}
+	.allCategoryLine{
+		padding-left: 30px;
+		color: #3C3C3C;
+		font-size: 16px;
+		cursor: pointer;
+	}
+	.allCategoryMore{
+		padding-left: 30px;
+		color: #3C3C3C;
+		font-size: 16px;
+		display: flex;
+		cursor: pointer;
+		position: relative;
+	}
+	.navMoret{
+		position: absolute;
+		width: 140px;
+		background: #FFFFFF;
+		box-shadow: 0px 4px 10px 0px rgba(153, 153, 153, 0.12);
+		border-radius: 6px;
+		top: 72px;
+		left:0px ;
+		font-size: 16px;
+		display: none; 
+	}
+	.allCategoryMore:hover .navMoret{
+		display: block;
+	}
+	.navMoreTline{
+		width: 140px;
+		text-align: center;
+		font-size: 16px;
+		line-height: 50px;
+	}
+	.allCategoryMore:hover .moreBtn{
+		 color: #FF4F00; 
+	}
+	.navmoreImg{
+		width: 12px;
+		height: 8px;
+		margin-top: 32px;
+		margin-left: 10px;
+	}
+	.navmoreImg2{
+		width: 12px;
+		height: 8px;
+		margin-top: 32px;
+		margin-left: 10px;
+		display: none;
+	}
+	.allCategoryMore:hover .navmoreImg{
+		display: none;
+	}
+	.allCategoryMore:hover .navmoreImg2{
+		display: block;
+	}
+	.navSsimg{
+		width: 20px;
+		height: 20px;
+	}
+	.navSs{
+		position: absolute;
+		cursor: pointer;
+		top:24px;
+		right: 0;
+	}
+	.euroreparIMg{
+		width: 132px;
+		height: 29px;
+		margin-top: 21px;
+	}
+</style>

+ 86 - 1
pages.json

@@ -15,6 +15,13 @@
 				"enablePullDownRefresh": true
 			}
 		},
+		{
+			"path": "pages/mobileLh/index",
+			"style": {
+				"navigationStyle": "custom",
+				"enablePullDownRefresh": true
+			}
+		},
 		{
 			"path": "pages/pc/index",
 			"style": {
@@ -27,7 +34,16 @@
 				"enablePullDownRefresh": true
 			}
 
-		}, {
+		}, 
+		{
+			"path": "pages/mobileLh/topTab",
+			"style": {
+				"navigationStyle": "custom",
+				"enablePullDownRefresh": true
+			}
+		
+		},
+		{
 			"path": "pages/mobile/search",
 			"style": {
 				"navigationStyle": "custom",
@@ -41,6 +57,21 @@
 				"enablePullDownRefresh": true
 			}
 
+		},
+		{
+			"path": "pages/mobileLh/search",
+			"style": {
+				"navigationStyle": "custom",
+				"enablePullDownRefresh": false
+			}
+		
+		}, {
+			"path": "pages/mobileLh/list",
+			"style": {
+				"navigationStyle": "custom",
+				"enablePullDownRefresh": true
+			}
+		
 		}
 	    // {
 	    //     "path" : "pages/mobile/demo",
@@ -60,6 +91,15 @@
             }
             
         },
+		{
+		    "path" : "pages/mobileLh/detail",
+		    "style" :                                                                                    
+		    {
+		        "navigationStyle": "custom"
+		        
+		    }
+		    
+		},
 		{
 			"path": "pages/pc/list",
 			"style": {
@@ -99,6 +139,51 @@
             }
             
         },
+		{
+		    "path" : "pages/mobileLh/accessory_app",
+		    "style" :                                                                                    
+		    {
+		        "navigationBarTitleText": ""
+		    }
+		    
+		},
+		{
+			"path": "pages/index/indexLh",
+			"style": {
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/pcLh/list",
+			"style": {
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/pcLh/groupingList",
+			"style": {
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/pcLh/detail",
+			"style": {
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/pcLh/searchlist",
+			"style": {
+				"navigationStyle": "custom"
+			}
+		},
+		
+		{
+			"path": "pages/pcLh/indexNew",
+			"style": {
+				"navigationStyle": "custom"
+			}
+		},
 		{
 			"path": "pages/index/reportUni",
 			"style": {

+ 55 - 0
pages/index/indexLh.vue

@@ -0,0 +1,55 @@
+<template>
+	<view class="content">
+		<view id="firstScreenPage">
+			<view class="loader-inner ball-beat">
+			
+			   <view></view> <view></view> <view></view>
+			
+			</view>
+		
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				title: 'Hello'
+			}
+		},
+		onLoad() {
+		  if(navigator.userAgent.indexOf('UCBrowser') > -1) {
+			uni.navigateTo({
+				url:'../mobileLh/index'
+			})
+		  }
+          if (navigator.userAgent.indexOf('Mobile') === -1) {  
+            console.log("PC")
+			uni.navigateTo({
+				url:'../pcLh/indexNew'
+			})
+          }  else{
+			  console.log("移动端")
+			  uni.navigateTo({
+			  	url:'../mobileLh/index'
+			  })
+		  }
+		},
+		methods: {
+
+		}
+	}
+</script>
+
+<style>
+	#firstScreenPage { top:50%; left:50%; position: absolute; -webkit-transform: translateY(-50%) translateX(-50%); transform: translateY(-50%) translateX(-50%); z-index:100; }
+		
+		@-webkit-keyframes ball-beat { 50% { opacity: 0.2; -webkit-transform: scale(0.75); transform: scale(0.75); } 100% { opacity: 1; -webkit-transform: scale(1); transform: scale(1); } }
+		
+		@keyframes ball-beat { 50% { opacity: 0.2; -webkit-transform: scale(0.75); transform: scale(0.75); } 100% { opacity: 1; -webkit-transform: scale(1); transform: scale(1); } }
+		
+		.ball-beat > view { background-color: #279fcf; width: 15px; height: 15px; border-radius: 100% !important; margin: 2px; -webkit-animation-fill-mode: both; animation-fill-mode: both; display: inline-block; -webkit-animation: ball-beat 0.7s 0s infinite linear; animation: ball-beat 0.7s 0s infinite linear; }
+		
+		.ball-beat > view:nth-child(2n-1) { -webkit-animation-delay: 0.35s !important; animation-delay: 0.35s !important; }
+</style>

+ 41 - 0
pages/mobileLh/accessory_app.vue

@@ -0,0 +1,41 @@
+<template>
+	<view class="content">
+
+		<iframe :src="fileUrl"></iframe>
+		
+		
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				fileName: '',
+				fileUrl: '',
+			}
+		},
+		onLoad(opt) {
+			this.fileName = opt.fileName;
+			this.fileUrl = opt.fileUrl;
+
+			uni.setNavigationBarTitle({
+				title: this.fileName
+			})
+		},
+		methods: {
+
+		}
+	}
+</script>
+
+<style>
+	.content {
+		height: 100%;
+		width: 100%;
+		background-color: #FFFFFF;
+		
+	}
+	
+	
+</style>

Разлика између датотеке није приказан због своје велике величине
+ 150 - 0
pages/mobileLh/demo.vue


+ 365 - 0
pages/mobileLh/detail.vue

@@ -0,0 +1,365 @@
+<template>
+	<view class="content">
+
+		<!-- 导航 -->
+
+		<view class="nav">
+			<view class="leftView" @click="back">
+				<image src="../../static/mobile/backBtn.png" mode=""
+					style="width: 22rpx; height: 40rpx; padding-left: 24rpx;"></image>
+			</view>
+			<view class="navTitle">详情</view>
+			<view class="rightView">
+
+			</view>
+		</view>
+
+		<!-- content -->
+
+		<view class="top">{{detailData.title}}</view>
+		<view class="time">{{detailData.createTime}}</view>
+
+
+
+
+		<!-- <rich-text :nodes="couContent"></rich-text> -->
+
+		<view class="html" v-html="detailData.contents"></view>
+
+
+		<!-- item -->
+
+		<view class="itemBg" v-if="itemArr.length != 0">
+			<view v-for="(item,index) in itemArr" :key="index" class="twoItem"
+				:class="{grayLine:index < itemArr.length-1}">
+				<view class="itemLeftView">
+					<image src="../../static/mobile/icon_fujian.png" mode="" class="img2"></image>
+					<view class="title" @click="goUrl(item)">{{item.fileName}}</view>
+					<!-- <a class="title" :href='item.fileUrl'>{{item.fileName}}</a> -->
+				</view>
+
+
+
+
+			</view>
+		</view>
+
+		<view style="display: flex;">
+			<view class="category">{{detailData.parentName}}</view>
+		</view>
+
+
+		<view class="gotop" @click="gotoTop">
+			<image src="../../static/pcimg/btn_top@2x.png" mode="" class="gotopImg"></image>
+		</view>
+
+	</view>
+</template>
+
+<script>
+	export default {
+
+		data() {
+			return {
+				id: '',
+				detailData: {},
+				couContent: '',
+				itemArr: [],
+				userType: '',
+			}
+		},
+		onLoad(opt) {
+			console.log('opt', opt);
+			this.id = opt.id
+
+			this.getDetailData()
+			// uni.setNavigationBarTitle({
+			// 	title: this.topName
+			// })
+
+			this.userType = uni.getStorageSync("userType");
+			console.log('userType', this.userType);
+		},
+		methods: {
+			goUrl(item) {
+				// console.log('item',item);
+				
+				if (this.userType == 'app') {
+					uni.navigateTo({
+						url: 'accessory_app?fileName=' + item.fileName + '&fileUrl=' + item.fileUrl
+
+					})
+				} else {
+					window.location.href = item.fileUrl
+				}
+
+			},
+
+			gotoTop() {
+				uni.pageScrollTo({
+					scrollTop: 0,
+					duration: 300
+				});
+			},
+
+
+
+			getDetailData() {
+				uni.showLoading({
+					title: '加载中'
+				})
+
+				let url = '/trainingOpenApiV2/articleDetail',
+					params = {
+						id: this.id,
+					}
+				this.$http(url, params, 'GET').then(res => {
+					uni.hideLoading();
+					var data = res.data
+
+
+					// 处理 undefined和null转为空白字符串
+
+					for (const key in data) {
+						data[key] = this.$praseStrEmpty(data[key])
+					}
+
+					this.detailData = data
+
+
+					console.log('contents1111', this.detailData.contents);
+                    if (this.detailData.contents) {
+                    	var replaceStr = "application/x-shockwave-flash"
+                        this.detailData.contents=this.detailData.contents.replace(new RegExp(replaceStr,'gm'),'video/webm')//(/''/g,"video/webm")
+                        this.detailData.contents=this.detailData.contents.replace(/<embed([\s\w"-=\/\.:;]+)/ig, '<embed style="width: 100%;" $1');
+                    }
+					if (this.detailData.contents) {
+
+
+						this.detailData.contents = this.detailData.contents.replace(/<iframe([\s\w"-=\/\.:;]+)/ig,
+							'<iframe style="width: 100%;height:300px;" $1');
+
+					}
+
+					if (this.detailData.contents) {
+						this.detailData.contents = this.detailData.contents.replace(
+								/<p([\s\w"=\/\.:;]+)((?:(style="[^"]+")))/ig, '<p')
+							.replace(/<p>/ig, '<p style="font-size: 15px; line-height: 25px;">')
+							.replace(/<img([\s\w"-=\/\.:;]+)((?:(height="[^"]+")))/ig, '<img$1')
+							.replace(/<img([\s\w"-=\/\.:;]+)((?:(width="[^"]+")))/ig, '<img$1')
+							.replace(/<img([\s\w"-=\/\.:;]+)((?:(style="[^"]+")))/ig, '<img$1')
+							.replace(/<img([\s\w"-=\/\.:;]+)((?:(alt="[^"]+")))/ig, '<img$1')
+							.replace(/<img([\s\w"-=\/\.:;]+)/ig, '<img style="width: 100%;" $1');
+					}
+
+					console.log('contents', this.detailData.contents);
+					this.itemArr = this.detailData.fileList
+
+				})
+			},
+
+			back() {
+				uni.navigateBack({
+
+				})
+			},
+
+
+
+
+			// // 下拉刷新 上拉加载更多
+			// onPullDownRefresh() {
+			// 	this.page = 1;
+			// 	this.getItemData()
+
+			// 	this.getDetailData()
+			// 	setTimeout(function() {
+			// 		uni.stopPullDownRefresh();
+			// 	}, 1000);
+			// },
+			// onReachBottom() {
+			// 	this.page++;
+
+			// 	this.getItemData()
+
+			// }
+		}
+	}
+</script>
+
+<style scoped>
+	.content {
+		min-height: 100vh;
+		background-color: #FFFFFF;
+		padding-top: 88rpx;
+		padding-bottom: 10rpx;
+		margin: 0 24rpx;
+	}
+
+	.nav {
+		position: fixed;
+		left: 0;
+		top: 0;
+		width: 100vw;
+		height: 88rpx;
+		background-color: #FFFFFF;
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+		z-index: 999;
+		border-bottom: #eeeeee 2rpx solid;
+	}
+
+	.navTitle {
+		font-size: 36rpx;
+		font-weight: bold;
+		color: #3c3c3c;
+		text-align: center;
+	}
+
+	.leftView {
+		width: 30%;
+	}
+
+
+	.rightView {
+		width: 30%;
+		display: flex;
+		justify-content: flex-end;
+		padding-right: 24rpx;
+	}
+
+	.rightImg {
+		width: 40rpx;
+		height: 40rpx;
+
+	}
+
+
+
+	.top {
+		background-color: #FFFFFF;
+
+		padding-top: 40rpx;
+
+		font-weight: bold;
+		color: #3c3c3c;
+		font-size: 32rpx;
+		text-align: left;
+
+	}
+
+	.time {
+
+		font-size: 24rpx;
+		color: #999999;
+
+
+		padding-top: 15rpx;
+		padding-bottom: 30rpx;
+		border-bottom: #EEEEEE 2rpx solid;
+	}
+
+
+	.html {
+		padding-top: 18px;
+	}
+
+	.html img {
+		width: 100% !important;
+	}
+
+	.itemBg {
+
+		background-color: #FFFFFF;
+		border-radius: 10rpx;
+		border: #eeeeee 1rpx solid;
+	}
+
+	.twoItem {
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+		background-color: #FFFFFF;
+		margin: 0 15rpx;
+		padding-top: 24rpx;
+		padding-bottom: 30rpx;
+
+	}
+
+	.grayLine {
+		border-bottom: #EEEEEE 1rpx solid;
+	}
+
+	.itemLeftView {
+		display: flex;
+		align-items: center;
+		width: 100%;
+	}
+
+	.title {
+		font-size: 28rpx;
+		color: #333333;
+		width: 100%;
+		word-break: break-all;
+		text-decoration:underline;
+		
+	}
+
+	.title2 {
+
+		background-color: #3F90F7;
+		border-radius: 6rpx;
+		width: 90rpx;
+		height: 52rpx;
+		line-height: 52rpx;
+		text-align: center;
+		margin-right: 15rpx;
+
+	}
+
+	.table-btn {
+		color: #FFFFFF;
+		font-size: 26rpx;
+		text-decoration: none;
+	}
+
+
+	.img2 {
+		width: 28rpx;
+		height: 28rpx;
+		margin-right: 6rpx;
+	}
+
+	.category {
+		background: rgba(63, 144, 247, 0.1);
+		font-size: 22rpx;
+		color: #3F90F7;
+		height: 36rpx;
+		line-height: 36rpx;
+		border-radius: 18rpx;
+		padding: 3rpx 14rpx;
+		min-width: 0;
+		max-width: 138rpx;
+		margin-bottom: 10rpx;
+		text-align: center;
+		margin: 30rpx 0;
+		/* 隐藏文字显示 ...不换行 */
+		overflow: hidden;
+		text-overflow: ellipsis;
+		white-space: nowrap;
+	}
+
+	.gotopImg {
+		width: 100rpx;
+		height: 100rpx;
+	}
+
+	.gotop {
+		position: fixed;
+		right: 15rpx;
+		bottom: 50rpx;
+		cursor: pointer;
+		z-index: 999;
+	}
+</style>

+ 509 - 0
pages/mobileLh/index.vue

@@ -0,0 +1,509 @@
+<template>
+	<view class="content">
+
+		<!-- 导航 -->
+		<view class="nav">
+			<view class="leftView" @click="back">
+				<image v-if="type == 'app'" src="../../static/mobile/backBtn.png" mode=""
+					style="width: 22rpx; height: 40rpx; padding-left: 24rpx;"></image>
+			</view>
+			<view class="navTitle">门店学院</view>
+			<view class="rightView">
+				<image src="../../static/mobile/icona_fenlei@2x.png" mode="" class="rightImg" @click="goSift"></image>
+				<image src="../../static/mobile/icon_search@2x.png" mode="" class="rightImg" style="margin-left: 40rpx;"
+					@click="goSearch"></image>
+			</view>
+		</view>
+
+		<!-- 推荐 -->
+		<view class="commend" v-if="bannerArr.length != 0">
+			<view class="top">
+				<image src="../../static/mobile/icon_tuijian@2x.png" mode="" style="width: 28rpx; height: 28rpx;">
+					<text class="tuijian">推荐文章</text>
+				</image>
+			</view>
+
+			<!-- item -->
+			<view class="scrollBg">
+				<scroll-view scroll-x="true" @scroll="scroll">
+					<view class="itemBg">
+						<view v-for="(item,index) in bannerArr" :key="index" class="item" @click="goDetail(item)">
+							<image :src="item.logoImg" mode="" class="swpImg"></image>
+							<view class="title">{{item.title}}</view>
+							<view style="display: flex;">
+								<view class="title2" @click.stop="goTuijianTab(item)">{{item.categoryName}}</view>
+							</view>
+
+						</view>
+					</view>
+				</scroll-view>
+			</view>
+
+		</view>
+
+		<!-- 分类 -->
+		<view v-for="(item,index) in itemArr" :key="index">
+			<view class="fenleiBg">
+				<!-- 头 -->
+				<view class="fenTop" :class="{fenTopNo:item.children == 0}">
+					<view class="leftTop">
+						<view class="tuijian">{{item.name}}</view>
+						<view class="sum">共{{item.count}}篇文章</view>
+					</view>
+					<view class="rightTop">
+						<view class="allBtn" @click="goTopTab(item)">查看全部
+							<image src="../../static/mobile/icon_arrow@2x.png" mode=""
+								style="width: 11rpx; height: 18rpx; margin-left: 10rpx;"></image>
+						</view>
+					</view>
+				</view>
+				<!-- item -->
+				<view class="itemBg">
+					<view v-for="(item2,index2) in item.children" :key="index2" v-if="index2<2" class="twoItem"
+						@click="goList(item2)">
+						<image :src="item2.logoImg" mode="" class="img2"></image>
+						<view class="itemTitle">{{item2.title}}</view>
+
+
+					</view>
+				</view>
+
+
+			</view>
+		</view>
+
+
+
+		<!-- 下拉菜单 -->
+		<view class="sift" v-show="showSift" @click="goHide()">
+			<view class="siftItemBg">
+				<view v-for="(item,index) in siftData" :key="index" class="siftItem">
+					<view @click="goTopTab(item)">{{item.name}}</view>
+				</view>
+			</view>
+		</view>
+
+
+		<view class="gotop" @click="gotoTop">
+			<image src="../../static/pcimg/btn_top@2x.png" mode="" class="gotopImg"></image>
+		</view>
+
+
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				bannerArr: [],
+				scrollTop: 0,
+				old: {
+					scrollTop: 0
+				},
+				itemArr: [],
+				showSift: false,
+				siftData: [],
+				type: '',
+			}
+		},
+		onLoad(opt) {
+			this.getDetailData()
+			this.getSiftData()
+			this.type = opt.type
+			
+			if (this.type) {
+				uni.setStorage({
+					key: 'userType',
+					data: this.type,
+					success: function() {
+						
+					}
+				});
+			}
+		},
+		methods: {
+
+			back() {
+
+				console.log('type', this.type);
+				if (this.type == "app") {
+
+					var standalone = window.navigator.standalone
+					var userAgent = window.navigator.userAgent.toLowerCase()
+					var safari = /safari/.test(userAgent)
+					var ios = /iphone|ipod|ipad|mac/.test(userAgent)
+					var android = /android/.test(userAgent)
+					if (ios) {
+						if (true) { //!standalone&& !safari
+							window.webkit.messageHandlers.goMyNav.postMessage(null)
+						}
+					} else if (android) {
+						window.android.postMessage()
+					}
+				} else {
+					uni.navigateBack({
+
+					})
+				}
+			},
+			gotoTop() {
+				uni.pageScrollTo({
+					scrollTop: 0,
+					duration: 300
+				});
+			},
+			goHide() {
+				this.showSift = false
+			},
+			goDetail(item) {
+				uni.navigateTo({
+					url: 'detail?id=' + item.id
+				})
+			},
+			goTuijianTab(item) {
+
+				uni.navigateTo({
+					url: 'topTab?topCode=' + item.categoryCode + '&comment=' + item.comment + '&topName=' + item
+						.categoryName
+				})
+			},
+			goList(item) {
+
+				// 1分类2文章
+				if (item.type == 1) {
+					uni.navigateTo({
+						url: 'list?topCode=' + item.code + '&comment=' + item.comment + '&topName=' + item.name
+					})
+				}
+				if (item.type == 2) {
+					uni.navigateTo({
+						url: 'detail?id=' + item.id
+					})
+				}
+			},
+			goTopTab(item) {
+
+				this.showSift = false
+				uni.navigateTo({
+					url: 'topTab?topCode=' + item.code + '&comment=' + item.comment + '&topName=' + item.name
+				})
+			},
+			goSift() {
+				this.showSift = !this.showSift
+			},
+			goSearch() {
+				uni.navigateTo({
+					url: 'search'
+				})
+			},
+			scroll: function(e) {
+				console.log(e)
+				this.old.scrollTop = e.detail.scrollTop
+			},
+			goNav(urlStr) {
+				uni.navigateTo({
+					url: urlStr
+				})
+			},
+
+			getDetailData() {
+				uni.showLoading({
+					title: '加载中'
+				})
+				let url = '/trainingOpenApiV2/indexData',
+					params = {
+
+					}
+				this.$http(url, params, 'GET').then(res => {
+					uni.hideLoading();
+					var data = res.data
+
+
+					// 处理 undefined和null转为空白字符串
+
+					for (const key in data) {
+						data[key] = this.$praseStrEmpty(data[key])
+					}
+
+					this.detailData = data
+
+					this.bannerArr = this.detailData.recommendList
+					this.itemArr = this.detailData.categoryList
+
+				})
+			},
+
+
+			getSiftData() {
+				uni.showLoading({
+					title: '加载中'
+				})
+				let url = '/trainingOpenApiV2/allCategory',
+					params = {
+
+					}
+				this.$http(url, params, 'GET').then(res => {
+					uni.hideLoading();
+					var data = res.data
+
+
+					// 处理 undefined和null转为空白字符串
+
+					for (const key in data) {
+						data[key] = this.$praseStrEmpty(data[key])
+					}
+
+					this.siftData = data
+
+
+				})
+			},
+
+
+
+
+
+			// 下拉刷新 上拉加载更多
+			onPullDownRefresh() {
+				// this.page = 1;
+				// this.getItemData()
+
+				this.getDetailData()
+				setTimeout(function() {
+					uni.stopPullDownRefresh();
+				}, 1000);
+			},
+			// onReachBottom() {
+			// 	this.page++;
+
+			// 	this.getItemData()
+
+			// },
+
+		}
+	}
+</script>
+
+<style scoped>
+	.content {
+		min-height: 100vh;
+		background-color: #f4f5f7;
+		padding-top: 88rpx;
+		padding-bottom: 20rpx;
+
+	}
+
+	.nav {
+		position: fixed;
+		left: 0;
+		top: 0;
+		width: 100vw;
+		height: 88rpx;
+		background-color: #FFFFFF;
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+		z-index: 999;
+		border-bottom: #eeeeee 2rpx solid;
+	}
+
+	.navTitle {
+		font-size: 36rpx;
+		font-weight: bold;
+		color: #3c3c3c;
+
+	}
+
+	.leftView {
+		width: 30%;
+	}
+
+	.rightView {
+		width: 30%;
+		display: flex;
+		justify-content: flex-end;
+		padding-right: 24rpx;
+	}
+
+	.rightImg {
+		width: 40rpx;
+		height: 40rpx;
+
+	}
+
+	.commend {
+
+		background-color: #FFFFFF;
+		margin: 20rpx 0;
+		padding: 30rpx 25rpx;
+
+	}
+
+	.top {
+		padding-bottom: 24rpx;
+	}
+
+	.tuijian {
+		font-size: 32rpx;
+		font-weight: bold;
+		color: #3c3c3c;
+		margin-left: 10rpx;
+	}
+
+	.scrollBg {
+		background-color: #FFFFFF;
+
+	}
+
+	.scroll-view {
+		white-space: nowrap;
+	}
+
+	.itemBg {
+		display: flex;
+
+	}
+
+	.item {
+
+		width: 398rpx;
+		margin-right: 25rpx;
+	}
+
+	.swpImg {
+
+		border-radius: 10rpx;
+		width: 398rpx;
+		height: 224rpx;
+	}
+
+	.title {
+		font-size: 28rpx;
+
+		color: #3c3c3c;
+		/* 隐藏文字显示 ...不换行 */
+		overflow: hidden;
+		text-overflow: ellipsis;
+		white-space: nowrap;
+		margin: 14rpx 0;
+	}
+
+	.itemTitle {
+		font-size: 28rpx;
+		color: #3c3c3c;
+		/* 隐藏文字显示 ...不换行 */
+		overflow: hidden;
+		text-overflow: ellipsis;
+		white-space: nowrap;
+		margin-top: 14rpx;
+	}
+
+	.title2 {
+
+		background: rgba(63, 144, 247, 0.1);
+		font-size: 22rpx;
+		color: #3F90F7;
+		height: 36rpx;
+		line-height: 36rpx;
+		border-radius: 18rpx;
+		padding: 3rpx 14rpx;
+		min-width: 0;
+		max-width: 138rpx;
+		margin-bottom: 10rpx;
+		text-align: center;
+		/* 隐藏文字显示 ...不换行 */
+		overflow: hidden;
+		text-overflow: ellipsis;
+		white-space: nowrap;
+
+	}
+
+	.fenleiBg {
+		background-color: #FFFFFF;
+		margin: 20rpx 0;
+		padding: 30rpx 25rpx;
+	}
+
+	.fenTop {
+		padding-bottom: 24rpx;
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+	}
+
+	.fenTopNo {
+		padding-bottom: 0;
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+	}
+
+	.leftTop {
+		display: flex;
+		align-items: center;
+	}
+
+	.allBtn {
+		font-size: 24rpx;
+		color: #999999;
+	}
+
+	.sum {
+		font-size: 24rpx;
+		color: #999999;
+		margin-left: 16rpx;
+	}
+
+	.twoItem {
+
+		width: 339rpx;
+		margin-right: 25rpx;
+	}
+
+	.img2 {
+
+		width: 339rpx;
+		height: 191rpx;
+		border-radius: 10rpx;
+		border: #EEEEEE 2rpx solid;
+	}
+
+	.sift {
+
+		position: fixed;
+		left: 0;
+		top: 88rpx;
+		width: 100vw;
+		min-height: 100vh;
+		background-color: rgba(0, 0, 0, 0.4);
+
+	}
+
+	.siftItemBg {
+		background-color: #FFFFFF;
+		width: 100%;
+		height: 500rpx;
+		overflow-y: scroll;
+	}
+
+	.siftItem {
+		background-color: #FFFFFF;
+		color: #333333;
+		font-size: 30rpx;
+		text-align: center;
+		padding: 30rpx 0;
+	}
+
+	.gotopImg {
+		width: 100rpx;
+		height: 100rpx;
+	}
+
+	.gotop {
+		position: fixed;
+		right: 15rpx;
+		bottom: 100rpx;
+		cursor: pointer;
+	}
+</style>

+ 317 - 0
pages/mobileLh/list.vue

@@ -0,0 +1,317 @@
+<template>
+	<view class="content">
+
+		<!-- 导航 -->
+		<view class="nav">
+			<view class="leftView" @click="back">
+				<image src="../../static/mobile/backBtn.png" mode=""
+					style="width: 22rpx; height: 40rpx; padding-left: 24rpx;"></image>
+			</view>
+			<view class="navTitle">{{topName}}</view>
+			<view class="rightView">
+				<image src="../../static/mobile/icon_search@2x.png" mode="" class="rightImg" style="margin-left: 40rpx;"
+					@click="goSearch"></image>
+			</view>
+		</view>
+
+		<!-- content -->
+		
+			<view class="top" v-if="comment.length != 0">{{comment}}</view>
+
+
+		<!-- item -->
+
+		<view class="itemBg">
+			<view v-for="(item,index) in itemArr" :key="index" class="twoItem" :class="{line:index>0}" @click="goDetail(item)">
+				<image :src="item.LogoImg" mode="" class="img2"></image>
+				<view class="rightItem">
+					<view class="title">{{item.Title}}</view>
+					<view class="title2">{{item.Comment}}</view>
+				</view>
+			</view>
+		</view>
+
+
+		<!-- 上拉 加载更多 -->
+		<view class="noMore" v-if="noMoreShow">没有更多数据</view>
+		<!-- 无数据空白页 -->
+		<nodata v-if="itemArr.length==0"></nodata>
+		
+		<view class="gotop" @click="gotoTop">
+			<image src="../../static/pcimg/btn_top@2x.png" mode="" class="gotopImg"></image>
+		</view>
+		
+
+	</view>
+</template>
+
+<script>
+	import nodata from '../../components/nodata/nodata.vue'
+	export default {
+		components: {
+			nodata,
+		},
+		data() {
+			return {
+				topName: '',
+				topCode: '',
+				comment: '',
+				page: 1,
+
+
+				itemArr: [],
+
+				noMoreShow: false,
+			}
+		},
+		onLoad(opt) {
+			console.log('opt', opt);
+			this.topName = opt.topName
+			this.topCode = opt.topCode
+			this.comment = opt.comment
+			this.page = 1
+			this.getItemData()
+			// uni.setNavigationBarTitle({
+			// 	title: this.topName
+			// })
+		},
+		methods: {
+			gotoTop(){
+				uni.pageScrollTo({ 
+				      scrollTop: 0, duration: 300 
+				    }); 
+			},
+			goDetail(item){
+				uni.navigateTo({
+					url:'detail?id=' + item.ID
+				})
+			},
+			getItemData() {
+				uni.showLoading({
+					title: '加载中'
+				})
+
+				let url = 'trainingOpenApiV2/groupPageData',
+					params = {
+						page: this.page,
+						limit: 10,
+						parentCode: this.topCode,
+
+					}
+				this.$http(url, params, 'GET').then(res => {
+					uni.hideLoading();
+					var data = res.data
+
+
+					// 处理 undefined和null转为空白字符串
+
+					for (const key in data) {
+						data[key] = this.$praseStrEmpty(data[key])
+					}
+
+
+
+					if (this.page == 1) {
+						this.itemArr = data.Items
+					} else {
+						this.itemArr = this.itemArr.concat(data.Items)
+					}
+					if (data.Items.length < 10) {
+						this.noMoreShow = true
+					} else {
+						this.noMoreShow = false
+					}
+					if (this.itemArr.length == 0) {
+						this.noMoreShow = false
+					}
+
+
+
+				})
+			},
+			goSearch() {
+				uni.navigateTo({
+					url: 'search'
+				})
+			},
+			back() {
+				uni.navigateBack({
+
+				})
+			},
+
+
+
+
+			// 下拉刷新 上拉加载更多
+			onPullDownRefresh() {
+				this.page = 1;
+				this.getItemData()
+
+				// this.getDetailData()
+				setTimeout(function() {
+					uni.stopPullDownRefresh();
+				}, 1000);
+			},
+			onReachBottom() {
+				this.page++;
+
+				this.getItemData()
+
+			}
+		}
+	}
+</script>
+
+<style scoped>
+	.content {
+		min-height: 100vh;
+		background-color: #FFFFFF;
+		padding-top: 88rpx;
+		padding-bottom: 20rpx;
+
+	}
+
+	.nav {
+		position: fixed;
+		left: 0;
+		top: 0;
+		width: 100vw;
+		height: 88rpx;
+		background-color: #FFFFFF;
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+		z-index: 999;
+		border-bottom: #eeeeee 2rpx solid;
+	}
+
+	.navTitle {
+		font-size: 36rpx;
+		font-weight: bold;
+		color: #3c3c3c;
+
+	}
+
+	.leftView {
+		width: 30%;
+	}
+
+	.rightView {
+		width: 30%;
+		display: flex;
+		justify-content: flex-end;
+		padding-right: 24rpx;
+	}
+
+	.rightImg {
+		width: 40rpx;
+		height: 40rpx;
+
+	}
+
+	.commend {
+		position: fixed;
+		left: 0;
+		top: 90rpx;
+		width: calc(100vw - 50rpx);
+
+		background-color: #FFFFFF;
+
+		padding: 0 25rpx 30rpx;
+		z-index: 999;
+		height: 140rpx;
+
+	}
+
+	.top {
+		
+		background-color: #FFFFFF;
+		
+		padding: 40rpx 74rpx;
+		
+		
+		color: #999999;
+		font-size: 24rpx;
+		text-align: center;
+	
+	}
+
+
+
+
+
+	.itemBg {
+
+		background-color: #FFFFFF;
+		padding: 0 24rpx;
+
+	}
+
+	.twoItem {
+		display: flex;
+
+		background-color: #FFFFFF;
+		padding: 30rpx 0;
+		
+	}
+	.line {
+		border-top: #eeeeee 2rpx solid;
+	}
+
+	.title {
+		font-size: 28rpx;
+		font-weight: bold;
+		color: #3c3c3c;
+		
+		/* 隐藏文字显示 ...不换行 */
+		overflow: hidden;
+		text-overflow: ellipsis;
+		white-space: nowrap;
+	}
+	
+	.title2 {
+	
+		font-size: 24rpx;
+		color: #999999;
+	
+		//超过固定行数 隐藏
+		display: -webkit-box;
+		overflow: hidden;
+		text-overflow: ellipsis;
+		word-wrap: break-word;
+		white-space: normal !important;
+		-webkit-line-clamp: 3;
+		-webkit-box-orient: vertical;
+		margin: 14rpx 0;
+	}
+
+
+	.img2 {
+		width: 240rpx;
+		height: 135rpx;
+		border-radius: 10rpx;
+	}
+
+	.rightItem {
+		margin-left: 30rpx;
+		width: calc(100vw - 300rpx);
+	}
+
+	.noMore {
+		text-align: center;
+		line-height: 50rpx;
+		color: #999999;
+		font-size: 28rpx;
+	}
+	.gotopImg{
+		width: 100rpx;
+		height: 100rpx;
+	}
+	.gotop{
+		position: fixed;
+		right: 15rpx;
+		bottom: 100rpx;
+		cursor: pointer;
+	}
+</style>

+ 298 - 0
pages/mobileLh/search.vue

@@ -0,0 +1,298 @@
+<template>
+	<view class="content">
+
+		<!-- 导航 -->
+		<view class="nav">
+			<view class="leftView" @click="back">
+				<image src="../../static/mobile/backBtn.png" mode=""
+					style="width: 22rpx; height: 40rpx; padding-left: 24rpx;"></image>
+			</view>
+			<view class="navTitle">搜索</view>
+			<view class="rightView">
+
+			</view>
+		</view>
+
+		<!-- content -->
+		<!-- <view class="commend"> -->
+		<!-- 搜索 -->
+		<view class="searchBoxBg">
+			<searchBox placeholder="请输入搜索内容" @search='search($event)'></searchBox>
+		</view>
+		<view class="top" v-if="itemArr.length!=0">为你找到“{{searchValue}}”相关结果共{{TotalSize}}条</view>
+
+		<!-- </view> -->
+
+		<!-- item -->
+
+		<view class="itemBg">
+			<view v-for="(item,index) in itemArr" :key="index" :class="{line:index>0}" class="twoItem" @click="goDetail(item)">
+				<image :src="item.LogoImg" mode="" class="img2"></image>
+				<view class="rightItem">
+					<view class="title">{{item.Title}}</view>
+					<view class="title2">{{item.Comment}}</view>
+				</view>
+			</view>
+		</view>
+
+
+
+		<!-- 上拉 加载更多 -->
+		<view class="noMore" v-if="noMoreShow">没有更多数据</view>
+		<!-- 无数据空白页 -->
+		<nodata v-if="itemArr.length==0 && isFirst == false" style="padding-top: 30%;"></nodata>
+
+		<view class="gotop" @click="gotoTop">
+			<image src="../../static/pcimg/btn_top@2x.png" mode="" class="gotopImg"></image>
+		</view>
+
+	</view>
+</template>
+
+<script>
+	import searchBox from '@/components/searchBox/searchBox.vue'
+	import nodata from '../../components/nodata/nodata.vue'
+	export default {
+		components: {
+			searchBox,
+			nodata
+		},
+
+
+		data() {
+			return {
+				searchValue: '',
+				page: 1,
+				itemArr: [],
+				TotalSize: '',
+				noMoreShow: false,
+				isFirst:true,
+			}
+		},
+		onLoad() {
+
+		},
+		methods: {
+			gotoTop() {
+				uni.pageScrollTo({
+					scrollTop: 0,
+					duration: 300
+				});
+			},
+			goDetail(item) {
+				uni.navigateTo({
+					url: 'detail?id=' + item.ID
+				})
+			},
+			back() {
+				uni.navigateBack({
+
+				})
+			},
+			search(val) {
+				console.log(val);
+				this.isFirst = false
+				this.searchValue = val
+				if (this.searchValue.length != 0) {
+					this.page = 1
+					this.getItemData()
+				} else {
+					this.itemArr = [];
+					this.TotalSize = ''
+					this.noMoreShow = false
+				}
+			},
+			getItemData() {
+				uni.showLoading({
+					title: '加载中'
+				})
+
+				let url = 'trainingOpenApiV2/searchPageData',
+					params = {
+						page: this.page,
+						limit: 10,
+						title: this.searchValue,
+
+					}
+				this.$http(url, params, 'GET').then(res => {
+					uni.hideLoading();
+					var data = res.data
+
+
+					// 处理 undefined和null转为空白字符串
+
+					for (const key in data) {
+						data[key] = this.$praseStrEmpty(data[key])
+					}
+
+					this.TotalSize = data.TotalSize
+
+
+					if (this.page == 1) {
+						this.itemArr = data.Items
+					} else {
+						this.itemArr = this.itemArr.concat(data.Items)
+					}
+					if (data.Items.length < 10) {
+						this.noMoreShow = true
+					} else {
+						this.noMoreShow = false
+					}
+					if (this.itemArr.length == 0) {
+						this.noMoreShow = false
+					}
+
+
+
+				})
+			},
+
+		}
+	}
+</script>
+
+<style scoped>
+	.content {
+		min-height: 100vh;
+		background-color: #FFFFFF;
+		padding-top: 88rpx;
+		padding-bottom: 20rpx;
+
+	}
+
+	.nav {
+		position: fixed;
+		left: 0;
+		top: 0;
+		width: 100vw;
+		height: 88rpx;
+		background-color: #FFFFFF;
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+		z-index: 999;
+		border-bottom: #eeeeee 2rpx solid;
+	}
+
+	.navTitle {
+		font-size: 36rpx;
+		font-weight: bold;
+		color: #3c3c3c;
+
+	}
+
+	.leftView {
+		width: 30%;
+	}
+
+	.rightView {
+		width: 30%;
+		display: flex;
+		justify-content: flex-end;
+		padding-right: 24rpx;
+	}
+
+	.rightImg {
+		width: 40rpx;
+		height: 40rpx;
+
+	}
+
+	.searchBoxBg {
+		position: fixed;
+		left: 0;
+		top: 88rpx;
+		width: calc(100vw - 50rpx);
+
+		background-color: #FFFFFF;
+
+		padding: 0 24rpx;
+		z-index: 999;
+
+	}
+
+
+	.top {
+		padding: 130rpx 24rpx 0;
+		text-align: left;
+		font-size: 24rpx;
+		color: #999999;
+		background-color: #FFFFFF;
+	}
+
+
+
+
+	.itemBg {
+
+		background-color: #FFFFFF;
+		padding: 0 30rpx;
+
+	}
+
+	.twoItem {
+		display: flex;
+		background-color: #FFFFFF;
+		padding: 30rpx 0;
+		
+	}
+	.line{
+		border-top: #eeeeee 2rpx solid;
+	}
+	.title {
+		font-size: 28rpx;
+		font-weight: bold;
+		color: #3c3c3c;
+		
+		/* 隐藏文字显示 ...不换行 */
+		overflow: hidden;
+		text-overflow: ellipsis;
+		white-space: nowrap;
+	}
+
+	.title2 {
+
+		font-size: 24rpx;
+		color: #999999;
+		//超过固定行数 隐藏
+		display: -webkit-box;
+		overflow: hidden;
+		text-overflow: ellipsis;
+		word-wrap: break-word;
+		white-space: normal !important;
+		-webkit-line-clamp: 3;
+		-webkit-box-orient: vertical;
+		margin: 14rpx 0;
+	}
+
+
+	.img2 {
+		width: 240rpx;
+		height: 135rpx;
+		border-radius: 10rpx;
+	}
+
+	.rightItem {
+		margin-left: 30rpx;
+		width: calc(100vw - 300rpx);
+	}
+
+	.noMore {
+		text-align: center;
+		line-height: 50rpx;
+		color: #999999;
+		font-size: 28rpx;
+	}
+
+	.gotopImg {
+		width: 100rpx;
+		height: 100rpx;
+	}
+
+	.gotop {
+		position: fixed;
+		right: 15rpx;
+		bottom: 100rpx;
+		cursor: pointer;
+	}
+</style>

+ 409 - 0
pages/mobileLh/topTab.vue

@@ -0,0 +1,409 @@
+<template>
+	<view class="content">
+
+		<!-- 导航 -->
+		<view class="nav">
+			<view class="leftView" @click="back">
+				<image src="../../static/mobile/backBtn.png" mode=""
+					style="width: 22rpx; height: 40rpx; padding-left: 24rpx;"></image>
+			</view>
+			<view class="navTitle">{{topName}}</view>
+			<view class="rightView">
+				<image src="../../static/mobile/icon_search@2x.png" mode="" class="rightImg" style="margin-left: 40rpx;"
+					@click="goSearch"></image>
+			</view>
+		</view>
+
+		<!-- content -->
+
+		<view class="top" v-if="comment.length != 0">{{comment}}</view>
+
+		<!-- tab -->
+		<view class="scrollBg" v-if="bannerArr.length != 0">
+			<scroll-view scroll-x="true" @scroll="scroll" :class="{guding:scrollY>0}">
+				<view class="tabBg">
+					<view v-for="(item,index) in bannerArr" :key="index" @click="tabClick(index)">
+						<view class="tabTitle" :class="{tabActive:tabIndex==index}">{{item.name}}</view>
+
+					</view>
+				</view>
+			</scroll-view>
+		</view>
+
+
+		<!-- item -->
+
+		<view class="itemBg">
+			<view v-for="(item,index) in itemArr" :key="index" class="twoItem" :class="{line:index>0}" @click="goList(item)">
+				<image :src="item.LogoImg" mode="" class="img2"></image>
+				<view class="rightItem">
+					<view class="title">{{item.Title}}</view>
+					<view class="title2">{{item.Comment}}</view>
+				</view>
+			</view>
+		</view>
+
+
+		<!-- 上拉 加载更多 -->
+		<view class="noMore" v-if="noMoreShow">没有更多数据</view>
+		<!-- 无数据空白页 -->
+		<nodata v-if="itemArr.length==0"></nodata>
+
+		<view class="gotop" @click="gotoTop">
+			<image src="../../static/pcimg/btn_top@2x.png" mode="" class="gotopImg"></image>
+		</view>
+
+	</view>
+</template>
+
+<script>
+	import nodata from '../../components/nodata/nodata.vue'
+	export default {
+		components: {
+			nodata,
+		},
+		data() {
+			return {
+				topName: '',
+				topCode: '',
+				comment: '',
+				page: 1,
+
+				bannerArr: [],
+				scrollTop: 0,
+				old: {
+					scrollTop: 0
+				},
+				itemArr: [],
+				tabIndex: 0,
+				noMoreShow: false,
+				scrollY: '',
+			}
+		},
+		onLoad(opt) {
+			this.topName = opt.topName
+			this.topCode = opt.topCode
+			this.comment = opt.comment
+			this.page = 1
+			this.getItemData()
+			// uni.setNavigationBarTitle({
+			// 	title: this.topName
+			// })
+		},
+		methods: {
+			gotoTop() {
+				uni.pageScrollTo({
+					scrollTop: 0,
+					duration: 300
+				});
+			},
+			onPageScroll(e) {
+
+				let that = this;
+
+				if (that.scrollY > e.scrollTop) {
+
+					console.log("向上滚动", e);
+
+				} else {
+
+					console.log("向下滚动", e);
+
+				}
+
+				that.scrollY = e.scrollTop;
+
+			},
+			goList(item) {
+
+				// 1分类2文章
+				if (item.Type == 1) {
+					uni.navigateTo({
+						url: 'list?topCode=' + item.Code + '&comment=' + item.Comment + '&topName=' + item.Name
+					})
+				}
+				if (item.Type == 2) {
+					uni.navigateTo({
+						url: 'detail?id=' + item.ID
+					})
+				}
+			},
+			getItemData() {
+				uni.showLoading({
+					title: '加载中'
+				})
+				let parentCode;
+				if (this.tabIndex == 0) {
+					parentCode = this.topCode
+				} else {
+					parentCode = this.bannerArr[this.tabIndex].code
+				}
+				let url = '/trainingOpenApiV2/categoryPageData',
+					params = {
+						page: this.page,
+						limit: 10,
+						parentCode: parentCode,
+						topCode: this.topCode
+					}
+				this.$http(url, params, 'GET').then(res => {
+					uni.hideLoading();
+					var data = res.data
+
+
+					// 处理 undefined和null转为空白字符串
+
+					for (const key in data) {
+						data[key] = this.$praseStrEmpty(data[key])
+					}
+
+
+
+					if (this.page == 1) {
+						this.itemArr = data.Items
+					} else {
+						this.itemArr = this.itemArr.concat(data.Items)
+					}
+					if (data.Items.length < 10) {
+						this.noMoreShow = true
+					} else {
+						this.noMoreShow = false
+					}
+					if (this.itemArr.length == 0) {
+						this.noMoreShow = false
+					}
+
+					this.bannerArr = data.dynamicCol
+					let dic = {
+						code: this.topCode,
+						name: '全部',
+					}
+					if (this.bannerArr.length != 0) {
+						this.bannerArr.splice(0, 0, dic)
+					}
+
+				})
+			},
+			goSearch() {
+				uni.navigateTo({
+					url: 'search'
+				})
+			},
+			back() {
+				uni.navigateBack({
+
+				})
+			},
+			scroll: function(e) {
+				console.log(e)
+				this.old.scrollTop = e.detail.scrollTop
+			},
+			tabClick(num) {
+				this.tabIndex = num;
+				this.page = 1;
+				this.getItemData()
+			},
+
+
+
+			// 下拉刷新 上拉加载更多
+			onPullDownRefresh() {
+				this.page = 1;
+				this.getItemData()
+
+				// this.getDetailData()
+				setTimeout(function() {
+					uni.stopPullDownRefresh();
+				}, 1000);
+			},
+			onReachBottom() {
+				this.page++;
+
+				this.getItemData()
+
+			}
+		}
+	}
+</script>
+
+<style scoped>
+	.content {
+		min-height: 100vh;
+		background-color: #FFFFFF;
+		padding-top: 88rpx;
+		padding-bottom: 20rpx;
+
+	}
+
+	.nav {
+		position: fixed;
+		left: 0;
+		top: 0;
+		width: 100vw;
+		height: 88rpx;
+		background-color: #FFFFFF;
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+		z-index: 999;
+		border-bottom: #eeeeee 2rpx solid;
+	}
+
+	.navTitle {
+		font-size: 36rpx;
+		font-weight: bold;
+		color: #3c3c3c;
+
+	}
+
+	.leftView {
+		width: 30%;
+	}
+
+	.rightView {
+		width: 30%;
+		display: flex;
+		justify-content: flex-end;
+		padding-right: 24rpx;
+	}
+
+	.rightImg {
+		width: 40rpx;
+		height: 40rpx;
+
+	}
+
+
+
+	.top {
+
+		background-color: #FFFFFF;
+
+		padding: 40rpx 74rpx;
+
+
+		color: #999999;
+		font-size: 24rpx;
+		text-align: center;
+
+	}
+
+
+
+	.scrollBg {
+		background-color: #FFFFFF;
+		padding: 0 24rpx;
+	}
+
+	.guding {
+		padding: 0 24rpx;
+		background-color: #FFFFFF;
+		position: fixed;
+		left: 0;
+		top: 88rpx;
+		z-index: 999;
+		padding-top: 30rpx;
+		border-top: #eeeeee 2rpx solid;
+	}
+
+	.scroll-view {
+		white-space: nowrap;
+	}
+
+	.tabBg {
+		display: flex;
+		margin-top: 0;
+		margin-bottom: 20rpx;
+	}
+
+
+
+	.tabTitle {
+		margin-right: 40rpx;
+		font-size: 30rpx;
+		color: #3c3c3c;
+		text-overflow: ellipsis;
+		white-space: nowrap;
+		height: 60rpx;
+		line-height: 60rpx;
+	}
+
+	.tabActive {
+		color: #FF4F00;
+	}
+
+	.itemBg {
+
+		background-color: #FFFFFF;
+		padding: 0 24rpx 30rpx;
+		
+	}
+
+	.twoItem {
+		display: flex;
+
+		background-color: #FFFFFF;
+		padding: 30rpx 0;
+		
+	}
+	.line {
+		border-top: #eeeeee 2rpx solid;
+	}
+
+	.title {
+		font-size: 28rpx;
+		font-weight: bold;
+		color: #3c3c3c;
+		
+		/* 隐藏文字显示 ...不换行 */
+		overflow: hidden;
+		text-overflow: ellipsis;
+		white-space: nowrap;
+	}
+
+	.title2 {
+
+		font-size: 24rpx;
+		color: #999999;
+
+		//超过固定行数 隐藏
+		display: -webkit-box;
+		overflow: hidden;
+		text-overflow: ellipsis;
+		word-wrap: break-word;
+		white-space: normal !important;
+		-webkit-line-clamp: 3;
+		-webkit-box-orient: vertical;
+		margin: 14rpx 0;
+	}
+
+
+	.img2 {
+		width: 240rpx;
+		height: 135rpx;
+		border-radius: 10rpx;
+	}
+
+	.rightItem {
+		margin-left: 30rpx;
+		width: calc(100vw - 300rpx);
+	}
+
+	.noMore {
+		text-align: center;
+		line-height: 50rpx;
+		color: #999999;
+		font-size: 28rpx;
+	}
+	.gotopImg {
+		width: 100rpx;
+		height: 100rpx;
+	}
+	
+	.gotop {
+		position: fixed;
+		right: 15rpx;
+		bottom: 100rpx;
+		cursor: pointer;
+		z-index: 99999;
+	}
+</style>

+ 248 - 0
pages/pcLh/detail.vue

@@ -0,0 +1,248 @@
+<template>
+	<view class="content">
+        <pcNav></pcNav>
+        <view style="height: 72px;"></view>
+		<view class="top">
+			<view class="topline" @click="goIndex">首页</view>
+			<view class="topjt">></view>
+			<view class="topline" :class="{'c999':!twoName}" @click="goList()">{{topName}}</view>
+			<view class="topjt" v-if="twoName">></view>
+			<view class="topline" :class="{'c999':twoName}">{{twoName}}</view>
+		</view>
+		<view class="htmlBox">
+			<view class="htmlTitle">{{detailData.name}}</view>
+			<view class="time">{{detailData.publishTime}}</view>
+			<view class="html" v-html="detailData.contents"></view>
+		</view>
+		<view class="itemArr" v-if="itemArr.length>0">
+		  <view class="itemArrLine" :class="{'itemArrLineBottom':itemArr.length!=(index+1)}" v-for="(item,index) in itemArr">
+			  <view class="itemArrLeft" >
+				  <image src="../../static/pcimg/icon_fujian@2x.png" mode="" class="fileIcon"></image>
+				  <view class="fileName" @click="gofile(item.fileUrl)">{{item.fileName}}</view>
+			  </view>
+			<!-- <view class="dload">
+				  <a class="dloadbtn" :href="item.fileUrl" target='_blank' >下载</a>
+			  </view> -->
+		  </view>
+		</view>
+		<view class="lbel" v-if="topName">
+			<view class="topName" @click="goList">{{topName}}</view>
+		</view>
+       
+	</view>
+</template>
+
+<script>
+	import pcNav from '../../components/pcNav/pcNav.vue'
+	export default {
+        components: {
+        	pcNav,
+        },
+		data() {
+			return {
+				id: '',
+				detailData: {},
+				couContent: '',
+				itemArr: [],
+				topName:'',
+				twoName:'',
+				comment:'',
+				parentCode:'',
+			}
+		},
+		onLoad(opt) {
+			console.log('opt', opt);
+			this.id = opt.id
+            this.topName=opt.topName;
+			this.twoName=opt.twoName;
+			this.comment=opt.comment;
+			this.parentCode=opt.parentCode
+			this.getDetailData()
+			// uni.setNavigationBarTitle({
+			// 	title: this.topName
+			// })
+		},
+		methods: {
+			gofile(url){
+				window.location.href=url
+			},
+			goList(){
+				var code=this.parentCode.substring(0,3)
+				uni.navigateTo({
+					url:'list?code='+code+'&topName='+this.topName+'&comment='+this.comment
+				})
+			},
+             goIndex(){
+					uni.navigateTo({
+						url:'index'
+					}) 
+			 },
+			getDetailData() {
+				uni.showLoading({
+					title: '加载中'
+				})
+				let url = '/trainingOpenApiV2/articleDetail',
+					params = {
+						id: this.id,
+					}
+				this.$http(url, params, 'GET').then(res => {
+					uni.hideLoading();
+					var data = res.data
+					// 处理 undefined和null转为空白字符串
+					for (const key in data) {
+						data[key] = this.$praseStrEmpty(data[key])
+					}
+
+					this.detailData = data;
+					uni.setNavigationBarTitle({
+					    title: this.detailData.title
+					});
+					console.log()
+					if (this.detailData.contents) {
+						var replaceStr = "application/x-shockwave-flash"
+					    this.detailData.contents=this.detailData.contents.replace(new RegExp(replaceStr,'gm'),'video/webm')//(/''/g,"video/webm")
+					    this.detailData.contents=this.detailData.contents.replace(/<embed([\s\w"-=\/\.:;]+)/ig, '<embed style="width: 100%;height:500px;" $1');
+					}
+
+					 if (this.detailData.contents) {
+						this.detailData.contents = this.detailData.contents.replace(
+								/<p([\s\w"=\/\.:;]+)((?:(style="[^"]+")))/ig, '<p')
+							.replace(/<p>/ig, '<p style="font-size: 15px; line-height: 25px;">')
+							.replace(/<img([\s\w"-=\/\.:;]+)((?:(height="[^"]+")))/ig, '<img$1')
+							.replace(/<img([\s\w"-=\/\.:;]+)((?:(width="[^"]+")))/ig, '<img$1')
+							.replace(/<img([\s\w"-=\/\.:;]+)((?:(style="[^"]+")))/ig, '<img$1')
+							.replace(/<img([\s\w"-=\/\.:;]+)((?:(alt="[^"]+")))/ig, '<img$1')
+							.replace(/<img([\s\w"-=\/\.:;]+)/ig, '<img style="width: 100%;" $1');
+							
+						this.detailData.contents = this.detailData.contents.replace(
+								/<p([\s\w"=\/\.:;]+)((?:(style="[^"]+")))/ig, '<p')
+							.replace(/<p>/ig, '<p style="font-size: 15px; line-height: 25px;">')
+							.replace(/<iframe([\s\w"-=\/\.:;]+)((?:(width="[^"]+")))/ig, '<iframe$1')
+							.replace(/<iframe([\s\w"-=\/\.:;]+)((?:(style="[^"]+")))/ig, '<iframe$1')
+							.replace(/<iframe([\s\w"-=\/\.:;]+)((?:(alt="[^"]+")))/ig, '<iframe$1')
+							.replace(/<iframe([\s\w"-=\/\.:;]+)/ig, '<iframe style="width: 100%;height:500px;" $1');
+					}
+
+					this.itemArr = this.detailData.fileList 
+                    console.log(this.itemArr)
+				})
+			},
+
+			
+
+
+			// }
+		}
+	}
+</script>
+
+<style scoped>
+	.top{
+		width: 1200px;
+		margin: 0 auto;
+		display: flex;
+		padding: 30px 0;
+		font-size: 14px;
+	}
+	.content{
+		font-family: PingFangSC-Regular, PingFang SC;
+	}
+	.htmlBox{
+		width: 720px;
+		margin: 0 auto;
+	}
+	.topline{
+		padding-right: 10px;
+		cursor: pointer;
+		color: #3C3C3C;
+	}
+	.topjt{
+		color: #AAAAAA;
+		padding-right: 10px;
+	}
+	.htmlTitle{
+		font-size: 24px;
+		font-weight: 500;
+		color: #3C3C3C;
+		line-height: 33px;
+		font-family: PingFangSC-Medium, PingFang SC;
+	}
+	.time{
+		font-size: 14px;
+		padding-top: 16px;
+		color: #999999;
+		line-height: 20px;
+		border-bottom: 1px solid #EEEEEE;
+		padding-bottom: 19px;
+	}
+	.html{
+		padding-top: 18px;
+	}
+	.fileIcon{
+		width: 14px;
+		height: 14px;
+		margin-top: 4px;
+		margin-right: 4px;
+	}
+	.itemArrLeft{
+		display: flex;
+	}
+	.itemArrLine{
+		display: flex;
+		justify-content: space-between;
+		padding: 16px 0;
+		
+		color: #333333;
+		line-height: 22px;
+		font-size: 16px;
+		width: 720px;
+	}
+	.itemArrLineBottom{
+		border-bottom: 1px solid #EEEEEE;
+	}
+	.itemArr{
+		width: 686px;
+		margin: 0 auto;
+		margin-top: 30px;
+		border-radius: 6px;
+		border: 1px solid #EEEEEE;
+		padding: 0 16px;
+		
+	}
+	.dloadbtn{
+		display: block;
+		width: 68px;
+		height: 28px;
+		background: #3F90F7;
+		border-radius: 6px;
+		color: #FFFFFF;
+		text-align: center;
+		line-height:28px ;
+		font-size: 14px;
+		text-decoration:none;
+	}
+	.lbel{
+		width: 720px;
+		margin: 0 auto;
+		margin-top: 30px;
+		padding-bottom: 30px;
+	}
+	.topName{
+		width: 84px;
+		height: 24px;
+		background: rgba(63, 144, 247, 0.1);
+		border-radius: 14px;
+		font-size: 14px;
+		color: #3F90F7;
+		line-height: 24px;
+		text-align: center;
+		cursor: pointer;
+	}
+	.fileName{
+		text-decoration:underline;
+		color: #3F90F7;
+	}
+	.c999{
+		color: #999999;
+	}
+</style>

+ 403 - 0
pages/pcLh/groupingList.vue

@@ -0,0 +1,403 @@
+<template>
+	<view class="content">
+		<pcNav :itemName="topName"></pcNav>
+		<view style="height: 72px;"></view>
+	    <view class="top">
+	    	<view class="topline" @click="goIndex">首页</view>
+	    	<view class="topjt">></view>
+	    	<view class="topline" @click="goList">{{topName}}</view>
+	    	<view class="topjt" v-if="name">></view>
+	    	<view class="topline" :class="{'c999':name}">{{name}}</view>
+	    </view>
+		
+		<view class="gotop" @click="gotoTop">
+			<image src="../../static/pcimg/btn_top@2x.png" mode="" class="gotopImg"></image>
+		</view>
+		<view class="">
+			<view class="topName">{{name}}</view>
+			<view class="comment "  v-if="title">{{title}}</view>
+		</view>
+		<view class="main">
+			<view class="dynamicCol">
+				<view class="dynamicColLeft">
+					
+				</view>
+				<view class="dynamicColRight">
+					<image src="../../static/pcimg/icon_kapian_def@2x.png" v-show="qhIndex==2" class="qhImg" @click="qhIndex=1"></image>
+					<image src="../../static/pcimg/icon_kapian_sel@2x.png" v-show="qhIndex==2" class="qhImg"></image>
+				    <image src="../../static/pcimg/icon_liebiao_sel@2x.png" v-show="qhIndex==1" class="qhImg" ></image>
+				    <image src="../../static/pcimg/qh2.png" v-show="qhIndex==1" class="qhImg" @click="qhIndex=2"></image>
+				</view>
+			</view>
+			<view class="cont2">
+				<view class="contBox">
+					<view class="contf" v-if="qhIndex==2&&list.length>0">
+						<view class="mainwzline" v-for="(wz,wzindex) in list"  :class="{'mainwzlineR':(wzindex+1)%4==0&&wzindex!=0}" @click="goDetail(wz)">
+							<view class="mainwzImgBox">
+							  <img :src="wz.LogoImg" alt="" class="mainwzImg">	
+							</view>
+							<view class="wztitle">{{wz.Title}}</view>
+							<view class="wztime">2022-3-30</view>
+						</view>
+					</view>
+					<view class="contL" v-if="qhIndex==1&&list.length>0">
+						<view class="wxLine" v-for="(wz,wzindex) in list" @click="goDetail(wz)">
+							<view class="wzLineLeft">
+								<image :src="wz.LogoImg" class="wzLeftIMg"></image>
+							</view>
+							<view class="wzLineRight">
+								<view class="wzTitle2">{{wz.Title}}</view>
+								<view class="wzComment">{{wz.Comment}}</view>
+							</view>
+						</view>
+					</view>
+					<view class="nodata" v-show="list.length==0">
+						<image src="../../static/pcimg/listnodata.png" mode="" class="nodataImg"></image>
+						<view class="nodataTitle">暂无数据</view>
+					</view>
+				</view>
+			
+			</view>
+			
+			
+		</view>
+		
+		<!-- -->
+		<view class="pageView" v-show="TotalSize>0">
+			<page-pagination :pageSize="pageSize" :size="'small'" :total="TotalSize" :numAround="true" @change="pageChange"></page-pagination>
+		</view>
+		<!-- <view>
+			<a class="table-btn" href="http://phone.66km.cn:8088/marketing/training/940C4BF0A2E04542A1A1AD244EAFB6E2.xlsx" target='_blank'>下载入口</a>
+		</view> -->
+		
+		
+		
+	</view>
+</template>
+
+<script>
+	import pcNav from '../../components/pcNav/pcNav.vue'
+	export default {
+		components: {
+			pcNav,
+		},
+		data() {
+			return {
+				list:[],
+				title:'',
+				name:'',
+				parentCode:'',
+				topCode:'',
+				page:1,
+				dynamicCol:[],
+				qhIndex:1,
+				tabIndex:0,
+				TotalSize:0,
+				pageSize:20,
+				topName:'',
+				comment:'',
+				code:'',
+			}
+		},
+		onLoad(opt) {
+           this.name=opt.name;
+		   this.title=opt.title;
+		   this.parentCode=opt.parentCode;
+		   this.code=opt.code;
+		   this.topName=opt.topName;
+		   this.comment=opt.comment;
+		   this.getgroupPageData()
+		   uni.setNavigationBarTitle({
+		       title: this.name
+		   });
+		},
+		methods: {
+			goIndex(){
+				uni.navigateTo({
+					url:'index'
+				}) 
+			},
+			goList(){
+				uni.navigateTo({
+					url:'list?code='+this.parentCode+'&topName='+this.topName+'&comment='+this.comment
+				})
+			},
+			goDetail(wz){
+				// 1分类2文章
+				if (wz.Type == 1) {
+					
+				}else{
+					uni.navigateTo({
+						url:'detail?id='+wz.ID+'&topName='+this.topName+'&twoName='+this.dynamicCol[this.tabIndex].name
+					})
+				}
+				//console.log(wz)
+			},
+			gotoTop(){
+				uni.pageScrollTo({ 
+				   scrollTop: 0, duration: 300 
+				}); 
+			},
+			tabBtn(index,item){
+				this.tabIndex=index;
+				//console.log(item)
+				this.parentCode=item.code;
+				this.getcategoryPageData()
+			},
+			pageChange(e){
+				console.log(e)
+				this.page=e;
+				this.getcategoryPageData()
+				
+			},
+			getgroupPageData(){
+				var params={
+					parentCode:this.code,
+					limit:this.pageSize,
+					page:this.page,
+				}
+				uni.showLoading({
+					title: '加载中'
+				})
+				this.$http('/trainingOpenApiV2/categoryPageData', params, 'GET').then(res => {
+					uni.hideLoading();
+					this.list=res.data.Items;
+					this.TotalSize=res.data.TotalSize;
+					var arr=[
+						{
+							'name':'全部','code':'',
+						}	
+					]
+					this.dynamicCol=arr.concat(res.data.dynamicCol);
+					
+				})
+			}
+		}
+	}
+</script>
+
+<style scoped>
+	 .top{
+	 	width: 1200px;
+	 	margin: 0 auto;
+	 	display: flex;
+	 	padding: 30px 0;
+	 	font-size: 14px;
+	 }
+	 .content{
+	 	background: #F4F5F7;
+	 	min-height: 100vh;
+		font-family: PingFangSC-Regular, PingFang SC;
+	 }
+	 .htmlBox{
+	 	width: 720px;
+	 	margin: 0 auto;
+	 }
+	 .contBox{
+	 	min-height: 58vh;
+	 }
+	 .topline{
+	 	padding-right: 10px;
+	 	cursor: pointer;
+	 	color: #3C3C3C;
+	 	
+	 }
+	 .topjt{
+	 	color: #AAAAAA;
+	 	padding-right: 10px;
+	 }
+	*{
+		padding: 0;
+		margin: 0;
+	}
+	.gotopImg{
+		width: 60px;
+		height: 60px;
+	}
+	.gotop{
+		position: fixed;
+		right:5vh ;
+		bottom: 60px;
+		cursor: pointer;
+	}
+	.topName{
+		text-align: center;
+		font-size: 22px;
+		font-weight: 500;
+		color: #3C3C3C;
+		line-height: 33px;
+		font-family: PingFangSC-Medium, PingFang SC;
+	}
+	.comment{
+		text-align: center;
+		font-size: 14px;
+		font-weight: 400;
+		color: #999999;
+		line-height: 20px;
+		width: 500px;
+		padding-top: 10px;
+		margin: 0 auto;
+	}
+	.main{
+		width: 1200px;
+		margin: 0 auto;
+		padding-top: 30px;
+	}
+	.dynamicColLeft{
+		display: flex;
+	}
+	.dynamicColLIne{
+		padding-right: 44px;
+		font-size: 16px;
+		color: #3C3C3C;
+		cursor: pointer;
+	}
+	.qhImg{
+		width: 28px;
+		height: 28px;
+		margin-left: 8px;
+		cursor: pointer;
+	}
+	.dynamicCol{
+		display: flex;
+		justify-content: space-between;
+		background: #FFFFFF;
+		padding:15px 20px;
+		border-radius: 8px;
+	}
+	.activeTab{
+		color: #FF4F00;
+	}
+	.mainwzImg{
+		width: 284px;
+		height: 160px;
+	}
+	.mainwzImgBox{
+		border-top-left-radius: 6px;
+		border-top-right-radius: 6px;
+	    overflow: hidden;
+		height: 160px;
+		border: 1px solid #eeeeee;
+	}
+	.contf{
+		display: flex;
+		flex-wrap: wrap;
+	}
+	.mainwzline{
+		width: 284px;
+		height: 244px;
+		background: #FFFFFF;
+		margin-right: 21px;	
+		margin-top: 20px;
+		cursor: pointer;
+		border-radius: 6px;
+	}
+	.wztime{
+		font-size: 14px;
+		color: #999999;
+		padding-left: 14px;
+		padding-top: 10px;
+	}
+	.mainwzlineR{
+	  margin-right: 0px;	
+	}
+	.wztitle{
+		width: 256px;
+		font-size: 16px;
+		color: #333333;
+		line-height: 22px;
+		height: 22px;
+		text-overflow: -o-ellipsis-lastline;
+		 overflow: hidden;
+		 text-overflow: ellipsis;
+		 display: -webkit-box;
+		 -webkit-line-clamp: 1;
+		 line-clamp: 1;
+		 -webkit-box-orient: vertical;
+		 padding:0 13px ;
+		 padding-top: 16px;
+	}
+	.wzComment{
+		font-size: 14px;
+		font-family: PingFangSC-Regular, PingFang SC;
+		font-weight: 400;
+		color: #999999;
+		line-height: 20px;
+		padding-top: 10px;
+		width: 948px;
+		height: 80px;
+		text-overflow: -o-ellipsis-lastline;
+		 overflow: hidden;
+		 text-overflow: ellipsis;
+		 display: -webkit-box;
+		 -webkit-line-clamp: 4;
+		 line-clamp: 4;
+		 -webkit-box-orient: vertical;
+	}
+	.wzLeftIMg{
+		width: 200px;
+		height: 132px;
+	}
+	.contL{
+		background: #FFFFFF;
+		margin-top: 20px ;
+		border-radius: 8px;
+		padding: 0 20px;
+	}
+	.wxLine{
+		display: flex;
+		padding: 20px 0px;
+		cursor: pointer;
+		border-bottom: 1px solid #EEEEEE;
+	}
+	.wzLineLeft{
+		border-radius: 6px;
+		overflow: hidden;
+		width: 200px;
+		height: 132px;
+	}
+	.wzLineRight{
+		padding-left: 16px;
+		width: 788px;
+	}
+	.wzTitle{
+		font-size: 16px;
+		color: #3C3C3C;
+	}
+	.wzTitle2{
+		font-size: 16px;
+		color: #3C3C3C;
+		width: 948px;
+		height: 20px;
+		line-height: 20px;
+		text-overflow: -o-ellipsis-lastline;
+		 overflow: hidden;
+		 text-overflow: ellipsis;
+		 display: -webkit-box;
+		 -webkit-line-clamp: 1;
+		 line-clamp: 1;
+		 -webkit-box-orient: vertical;
+	}
+	.pageView{
+		margin-top: 20px;
+		cursor: pointer;
+		padding-bottom: 20px;
+	}
+	.nodataImg{
+		width: 300px;
+		height: 203px;
+		padding-top: 100px;
+	}
+	.nodata{
+		text-align: center;
+	}
+	.nodataTitle{
+		font-size: 16px;
+		padding-top: 16px;
+		font-weight: 400;
+		color: #999999;
+	}
+	.c999{
+		color: #999999;
+	}
+</style>

+ 433 - 0
pages/pcLh/index.vue

@@ -0,0 +1,433 @@
+<template>
+	<view class="content">
+		<pcNav :data="'index'"></pcNav>
+		<view style="height: 72px;"></view>
+		<view class="swiperBox" v-if="recommendList.length>0">
+			<view class="swiperCont">
+				<view class="tuijbox">
+					<image src="../../static/pcimg/icon_tuijian@2x.png" mode="" class="tuijImg"></image>
+					<span class="tuijTitle">推荐文章</span>
+				</view>
+				 <swiper class="swiper"  :autoplay="false"   :circular="true" :current="swpIndex">
+					<swiper-item v-for="(item,index) in recommendList" v-if="(index+1)%2!=0">
+						<view class="swpCont">
+							<view class="swiper-item" @click="goDetail(item)">
+								<view class="swpimgBox swpBr">
+									<image :src="item.logoImg" mode="" class="swpimg"></image>
+								</view>
+								<view class="swpTitleBox">
+									<view class="swpTitle">{{item.title}}</view>
+									<view class="categoryName" @click.stop="goList(item)">{{item.categoryName.substring(0,5)}}</view>
+								</view>
+								
+							</view>
+							<view class="swiper-item" v-if="(index+1)<recommendList.length" @click="goDetail(recommendList[index+1])">
+								<view class="swpimgBox swpBr">
+								   <image :src="recommendList[index+1].logoImg" mode="" class="swpimg"></image>
+								</view>
+								<view class="swpTitleBox">
+									<view class="swpTitle">{{recommendList[index+1].title}}</view>
+									<view class="categoryName">{{recommendList[index+1].categoryName.substring(0,5)}}</view>
+								</view>
+							</view>
+						</view>
+						
+					</swiper-item>
+					
+				</swiper>
+				<image src="../../static/pcimg/icon_arrow_zuo_sel@2x.png" mode="" class="swpImgleft" @click="swpBtnLeft"></image>
+				<image src="../../static/pcimg/legtspx.png" mode="" class="swpImgright" @click="swpBtnRight"></image>
+			</view>
+		</view>
+		
+		<view class="main">
+			<view class="mainCont">
+				<view class="mainline" :class="{'mainline1':index==0}" v-for="(item,index) in indexData.categoryList" v-if="item.children.length>0">
+					<view class="mainlineTop">
+						<view class="mainlineTopleft">
+							<view class="mainlineTitle">{{item.name}}</view>
+							<view class="mainlinecount">共{{item.count}}篇文章</view>
+						</view>
+						<view class="mainlineMore" @click="mainMore(item)">查看更多
+						  <image src="../../static/pcimg/icon_list_arrow_def@2x.png" mode="" class="linegdImg1"></image>
+						  <image src="../../static/pcimg/icon_list_arrow_sel@2x.png" mode="" class="linegdImg2"></image>
+						</view>
+					</view>
+					<view class="mainwzbox" v-if="item.children.length>0">
+						<view class="mainwzline" v-for="(wz,wzindex) in item.children" @click="goDetail2(wz,item)" v-if="wzindex<4" :class="{'mainwzlineR':wzindex!=3}">
+							<view class="mainwzImgBox">
+							  <img :src="wz.logoImg" alt="" class="mainwzImg">	
+							</view>
+							<view class="wztitle">{{wz.title}}</view>
+							<view class="wztime">2022-3-30</view>
+						</view>
+						
+					</view>
+					
+					
+				</view>
+				
+				
+			</view>
+			
+		</view>
+		
+		
+		<view class="gotop" @click="gotoTop">
+			<image src="../../static/pcimg/btn_top@2x.png" mode="" class="gotopImg"></image>
+		</view>
+		
+		
+		
+		<!-- <view>
+			<a class="table-btn" href="http://phone.66km.cn:8088/marketing/training/940C4BF0A2E04542A1A1AD244EAFB6E2.xlsx" target='_blank'>下载入口</a>
+		</view> -->
+		
+	</view>
+</template>
+
+<script>
+	import pcNav from '../../components/pcNav/pcNav.vue'
+	export default {
+		components: {
+			pcNav,
+		},
+		data() {
+			return {
+				title: 'Hello',
+				allCategory:[],
+				navMoret:false,
+				swpIndex:0,
+				indexData:'',
+				recommendList:[],
+			}
+		},
+		onLoad() {
+          
+		   this.getindexData()
+		},
+		/* created(){
+			this.getindexData()
+		}, */
+		methods: {
+			goList(item){
+				console.log(item)
+				uni.navigateTo({
+					url:'list?code='+item.code+'&topName='+item.categoryName//+'&comment='+item.comment
+				})
+			},
+			goDetail(item){
+				console.log(item)
+				uni.navigateTo({
+					url:'detail?id='+item.id+'&topName='+item.categoryName+"&comment="+item.comment+'&parentCode='+item.code
+				})
+			},
+			goDetail2(wz,item){
+				/* console.log(item)
+				console.log(wz) */
+				 uni.navigateTo({
+					url:'detail?id='+wz.id+'&topName='+item.name+"&comment="+item.comment+'&parentCode='+item.code
+				}) 
+			},
+			gotoTop(){
+				uni.pageScrollTo({ 
+				   scrollTop: 0, duration: 300 
+				}); 
+			},
+			
+			swpBtnRight(){
+				var length=this.recommendList.length
+				var num=Math.ceil(length/2)
+				if(this.swpIndex<num){
+					this.swpIndex++
+				}
+				
+			},
+			swpBtnLeft(){
+				if(this.swpIndex==0){
+					
+				}else{
+					this.swpIndex--
+				}
+				
+			},
+           
+			getindexData(){
+				uni.showLoading({
+					title: '加载中'
+				})
+				this.$http('/trainingOpenApiV2/indexData', {}, 'GET').then(res => {
+					uni.hideLoading();
+					this.indexData = res.data;
+					this.recommendList=this.indexData.recommendList
+				})
+			},
+			mainMore(item){
+				console.log(item)
+				uni.navigateTo({
+					url:'list?code='+item.code+'&topName='+item.name+'&comment='+item.comment
+				})
+			}
+		}
+	}
+</script>
+
+<style scoped>
+	.content{
+		background: #F4F5F7;
+		min-height: 100vh;
+		font-family: PingFangSC-Regular, PingFang SC;
+	}
+	.swiperBox{
+		/* height: 280px; */
+		/* background: #F3F8FF; */
+		width: 100%;
+	}
+	.swiperCont{
+		width: 1236px;
+		margin: 0 auto;
+		position: relative;
+	}
+	.tuijImg{
+		width: 24px;height: 24px;
+		
+	}
+	.tuijbox{
+		display: flex;padding-top: 32px;padding-bottom: 20px;
+		padding-left: 15px;
+	}
+	.tuijTitle{
+		font-size: 22px;
+		font-family: PingFangSC-Medium, PingFang SC;
+		font-weight: 500;
+		color: #3C3C3C;
+		padding-left: 7px;
+		line-height: 24px;
+	}
+	.swpImgleft{
+		width: 44px;
+		height: 44px;
+		position: absolute;
+		top: 145px;
+		left: -60px;
+		cursor: pointer;
+	}
+	.swpImgright{
+		width: 44px;
+		height: 44px;
+		position: absolute;
+		top: 145px;
+		right: -60px;
+		cursor: pointer;
+	}
+	.swiper-item{
+		width: 590px;
+		height: 163px;
+		background: #FFFFFF;
+		margin-left: 16px;
+		margin-right: 12px;
+		border-radius: 6px;
+		margin-top: 14px;
+		position: relative;
+		cursor: pointer;
+	}
+	.swiper-item:hover{
+		box-shadow: 0px 0px 16px 0px rgba(153, 153, 153, 0.25);
+	}
+	.swpCont{
+		display: flex;
+		height: 210px;
+		justify-content: space-between;
+	}
+	.swpimg{
+		width: 284px;
+		height: 160px;
+	}
+	.swpimgBox{
+		width: 284px;
+		height: 160px;
+		position: absolute;
+		left: 0;
+		top: -14px;
+		
+	}
+	.swpBr{
+		width: 284px;
+		height: 160px;
+		border-radius: 7px;
+		overflow: hidden;
+	}
+	.swiper{
+		height: 190px;
+	}
+	.swpTitleBox{
+		padding-left: 304px;
+		display: flex;
+		flex-direction: column;
+		justify-content: space-between;
+		height: 140px;
+		padding-top: 10px;
+		
+	}
+	
+	.swpTitle{
+		width: 240px;
+		height: 44px;
+		font-size: 16px;
+		color: #3C3C3C;
+		line-height: 22px;
+		 text-overflow: -o-ellipsis-lastline;
+		  overflow: hidden;
+		  text-overflow: ellipsis;
+		  display: -webkit-box;
+		  -webkit-line-clamp: 2;
+		  line-clamp: 2;
+		  -webkit-box-orient: vertical;
+	}
+	.swpTitleBox:hover .swpTitle{
+		color: #FF4F00;
+	}
+	.categoryName{
+		line-height: 24px;
+		width: 84px;
+		height: 24px;
+		background: rgba(63, 144, 247, 0.1);
+		border-radius: 14px;
+		font-size: 14px;
+		color: #3F90F7;
+		text-align: center;
+		white-space: nowrap; 
+		overflow: hidden; 
+		text-overflow: ellipsis; 
+	}
+	.mainCont{
+		width: 1200px;
+		margin: 0 auto;
+		padding-bottom: 20px;
+	}
+	.mainline{
+		padding-top: 34px;
+	}
+	.mainlineTop{
+		display: flex;
+		justify-content: space-between;
+	}
+	.mainlineTopleft{
+		display: flex;
+	}
+	.mainlineTitle{
+		font-size: 22px;
+		font-weight: 500;
+		color: #3C3C3C;
+		line-height: 33px;
+		font-family: PingFangSC-Medium, PingFang SC;
+	}
+	.mainlinecount{
+		font-size: 14px;
+		font-weight: 400;
+		color: #999999;
+        line-height: 33px;
+		padding-left: 16px;
+	}
+	.mainlineMore{
+		font-size: 14px;
+		color: #999999;
+	}
+	.mainwzbox{
+		display: flex;
+		padding-top: 20px;
+		
+	}
+	.mainwzImg{
+		width: 284px;
+		height: 160px;
+	}
+	.mainwzImgBox{
+		border-top-left-radius: 6px;
+		border-top-right-radius: 6px;
+	    overflow: hidden;
+		height: 160px;
+		border: 1px solid #eeeeee;
+	}
+	.mainwzline{
+		width: 284px;
+		height: 244px;
+		background: #FFFFFF;
+		border-radius: 6px;
+	}
+	.mainwzlineR{
+	  margin-right: 22px;	
+	}
+	.wztitle{
+		width: 256px;
+		font-size: 16px;
+		color: #333333;
+		line-height: 22px;
+		height: 22px;
+		text-overflow: -o-ellipsis-lastline;
+		 overflow: hidden;
+		 text-overflow: ellipsis;
+		 display: -webkit-box;
+		 -webkit-line-clamp: 1;
+		 line-clamp: 1;
+		 -webkit-box-orient: vertical;
+		 padding:0 13px ;
+		 padding-top: 16px;
+		
+		
+	}
+	.wztime{
+		font-size: 14px;
+		color: #999999;
+		padding-left: 14px;
+		padding-top: 10px;
+	}
+	.mainwzline:hover{
+		background: #FFFFFF;
+		box-shadow: 0px 0px 16px 0px rgba(153, 153, 153, 0.2);
+		border-radius: 6px;
+		cursor: pointer;
+	}
+	.mainwzline:hover .wztitle{
+		color: #FF4F00;
+	}
+	.mainlineMore:hover{
+		color: #FF4F00;
+		cursor: pointer;
+	}
+	.gotopImg{
+		width: 60px;
+		height: 60px;
+	}
+	.gotop{
+		position: fixed;
+		right:5vh ;
+		bottom: 60px;
+		cursor: pointer;
+	}
+	.linegdImg1{
+		width: 6px;
+		height: 10px;
+		margin-top: 5px;
+		margin-left: 4px;
+	}
+	.linegdImg2{
+		width: 6px;
+		height: 10px;
+		display: none;
+		margin-top: 5px;
+		margin-left: 4px;
+	}
+	.mainlineMore{
+		display: flex;
+	}
+	.mainlineMore:hover .linegdImg1{
+		display: none;
+	}
+	.mainlineMore:hover .linegdImg2{
+		display: block;
+	}
+	.mainline1{
+		padding-top: 20px;
+	}
+</style>

+ 995 - 0
pages/pcLh/indexNew.vue

@@ -0,0 +1,995 @@
+<template>
+	<view class="content">
+		<pcNav :data="indexName" :itemName="topName" @getIndexList="getIndexList" 
+		@gosearchlist="gosearchlist"
+		@getChildList = "getChildList"></pcNav> 
+		
+		<view v-show="indexShow">
+		<view style="height: 72px;"></view>
+		<view class="swiperBox"  v-if="recommendList.length>0">
+			<view class="swiperCont">
+				<view class="tuijbox">
+					<image src="../../static/pcimg/icon_tuijian@2x.png" mode="" class="tuijImg"></image>
+					<span class="tuijTitle">推荐文章</span>
+				</view>
+				 <swiper class="swiper"  :autoplay="false"   :circular="true" :current="swpIndex">
+					<swiper-item v-for="(item,index) in recommendList" v-if="(index+1)%4!=0">
+						<view class="mainwzbox2" >
+							<view class="mainwzline" @click="goDetailswp(recommendList[index])"  >
+								<view class="mainwzImgBox">
+								  <img :src="item.logoImg" alt="" class="mainwzImg">	
+								</view>
+								<view class="wztitle">{{item.name}}</view>
+								<view class="wztime">{{item.CreateTime.slice(0,10)}}</view>
+							</view>
+							<view class="mainwzline" v-if="recommendList[index+1]" @click="goDetailswp(recommendList[index+1])"  >
+								<view class="mainwzImgBox">
+								  <img :src="recommendList[index+1].logoImg" alt="" class="mainwzImg">	
+								</view>
+								<view class="wztitle">{{recommendList[index+1].name}}</view>
+								<view class="wztime">{{recommendList[index+1].CreateTime.slice(0,10)}}</view>
+							</view>
+							<view class="mainwzline" v-if="recommendList[index+2]" @click="goDetailswp(recommendList[index+2])" >
+								<view class="mainwzImgBox">
+								  <img :src="recommendList[index+2].logoImg" alt="" class="mainwzImg">	
+								</view>
+								<view class="wztitle">{{recommendList[index+2].name}}</view>
+								<view class="wztime">{{recommendList[index+2].CreateTime.slice(0,10)}}</view>
+							</view>
+							<view class="mainwzline mainwzlineR" v-if="recommendList[index+3]" @click="goDetailswp(recommendList[index+3])" >
+								<view class="mainwzImgBox">
+								  <img :src="recommendList[index+3].logoImg" alt="" class="mainwzImg">	
+								</view>
+								<view class="wztitle">{{recommendList[index+3].name}}</view>
+								<view class="wztime">{{recommendList[index+3].CreateTime.slice(0,10)}}</view>
+							</view>
+						</view> 
+					<!-- 	<view class="swpCont">
+							<view class="swiper-item" @click="goDetail(item)">
+								<view class="swpimgBox swpBr">
+									<image :src="item.logoImg" mode="" class="swpimg"></image>
+								</view>
+								<view class="swpTitleBox">
+									<view class="swpTitle">{{item.title}}</view>
+									<view class="categoryName" @click.stop="goList(item)">{{item.categoryName.substring(0,5)}}</view>
+								</view>
+								
+							</view>
+							<view class="swiper-item" v-if="(index+1)<recommendList.length" @click="goDetail(recommendList[index+1])">
+								<view class="swpimgBox swpBr">
+								   <image :src="recommendList[index+1].logoImg" mode="" class="swpimg"></image>
+								</view>
+								<view class="swpTitleBox">
+									<view class="swpTitle">{{recommendList[index+1].title}}</view>
+									<view class="categoryName">{{recommendList[index+1].categoryName.substring(0,5)}}</view>
+								</view>
+							</view>
+						</view> -->
+						
+					</swiper-item>
+					
+				</swiper>
+				<image src="../../static/pcimg/icon_arrow_zuo_sel@2x.png" mode="" class="swpImgleft" @click="swpBtnLeft"></image>
+				<image src="../../static/pcimg/legtspx.png" mode="" class="swpImgright" @click="swpBtnRight"></image>
+			</view>
+		</view>
+		
+		<view class="main">
+			<view class="mainCont">
+				<view class="mainline" :class="{'mainline1':index==0}" v-for="(item,index) in indexData.categoryList" v-if="item.children.length>0">
+					<view class="mainlineTop">
+						<view class="mainlineTopleft">
+							<view class="mainlineTitle">{{item.name}}</view>
+							<view class="mainlinecount">共{{item.count}}篇文章</view>
+						</view>
+						<view class="mainlineMore" @click="mainMore(item)">查看更多
+						  <image src="../../static/pcimg/icon_list_arrow_def@2x.png" mode="" class="linegdImg1"></image>
+						  <image src="../../static/pcimg/icon_list_arrow_sel@2x.png" mode="" class="linegdImg2"></image>
+						</view>
+					</view>
+					<view class="mainwzbox" v-if="item.children.length>0">
+						<view class="mainwzline" v-for="(wz,wzindex) in item.children" @click="goDetail2(wz,item)" v-if="wzindex<4" :class="{'mainwzlineR':wzindex!=3}">
+							<view class="mainwzImgBox">
+							  <img :src="wz.logoImg" alt="" class="mainwzImg">	
+							</view>
+							<view class="wztitle">{{wz.title}}</view>
+							<view class="wztime">{{wz.CreateTime.slice(0,10)}}</view>
+						</view>
+						
+					</view>
+					
+					
+				</view>
+				
+				
+			</view>
+			
+		</view>
+		
+		</view>
+		<!-- 列表页 -->
+		<view v-show="listShow">
+			<view style="height: 72px;"></view>
+			<view class="top">
+				<view class="topName">{{topName}}</view>
+				<view class="comment listtopC" v-if="comment">{{comment}}</view>
+			</view>
+			<view class="main">
+				<view class="dynamicCol">
+					<view class="dynamicColLeft">
+						<view class="dynamicColLIne" :class="{'activeTab':tabIndex==index}" v-for="(item,index) in dynamicCol" @click="tabBtn(index,item)">{{item.name}}</view>
+					</view>
+					<view class="dynamicColRight">
+						<image src="../../static/pcimg/icon_kapian_def@2x.png" v-show="qhIndex==2" class="qhImg" @click="qhIndex=1"></image>
+						<image src="../../static/pcimg/icon_kapian_sel@2x.png" v-show="qhIndex==2" class="qhImg"></image>
+					    <image src="../../static/pcimg/icon_liebiao_sel@2x.png" v-show="qhIndex==1" class="qhImg" ></image>
+					    <image src="../../static/pcimg/qh2.png" v-show="qhIndex==1" class="qhImg" @click="qhIndex=2"></image>
+					</view>
+				</view>
+				<view class="cont2">
+					<view class="contBox">
+						<view class="contf" v-if="qhIndex==2&&list.length>0">
+							<view class="mainwzline" v-for="(wz,wzindex) in list"  :class="{'mainwzlineR2':(wzindex+1)%4==0&&wzindex!=0}" @click="goDetail3(wz)">
+								<view class="mainwzImgBox">
+								  <img :src="wz.LogoImg" alt="" class="mainwzImg">	
+								</view>
+								<view class="wztitle">{{wz.Title}}</view>
+								<view class="wztime">2022-3-30</view>
+							</view>
+						</view>
+						<view class="contL" v-if="qhIndex==1&&list.length>0">
+							<view class="wxLine" v-for="(wz,wzindex) in list" @click="goDetail3(wz)">
+								<view class="wzLineLeft">
+									<image :src="wz.LogoImg" class="wzLeftIMg"></image>
+								</view>
+								<view class="wzLineRight">
+									<view class="wzTitle2">{{wz.Title}}</view>
+									<view class="wzComment">{{wz.Comment}}</view>
+								</view>
+							</view>
+						</view>
+						<view class="nodata" v-show="list.length==0">
+							<image src="../../static/pcimg/listnodata.png" mode="" class="nodataImg"></image>
+							<view class="nodataTitle">暂无数据</view>
+						</view>
+					</view>
+				
+					
+				</view>
+				
+			</view>
+			<view class="pageView" v-show="TotalSize">
+				<page-pagination :pageSize="pageSize" :size="'small'" :total="TotalSize" :numAround="true" @change="pageChange"></page-pagination>
+			</view>
+			
+		</view>
+		<view class="gotop" @click="gotoTop">
+			<image src="../../static/pcimg/btn_top@2x.png" mode="" class="gotopImg"></image>
+		</view>
+		<view>
+			<newDetail ref="newDetailV" @getChildList="getChildList"
+			 v-show="newDetailShow" :newid='newDetailID' :data="newDetailItem" @getIndexList="getIndexList"></newDetail>
+			<newgroupingList @getIndexList="getIndexList"
+			 @getChildList="getChildList" @goDetail="goDetail"
+			 v-show="newgroupingListShow" :newcode="newgroupingcode" :data="newgroupingdata"></newgroupingList>
+		
+		    <newsearchlist v-show="newsearchShow" @goDetail="goDetail" @goDetail4="goDetail4"></newsearchlist>
+		</view>
+	</view>
+</template>
+
+<script>
+	import pcNav from '../../components/pcNavLh/pcNav.vue'
+	import newDetail from './newDetail.vue'
+	import newgroupingList from './newgroupingList.vue'
+	import newsearchlist from './newsearchlist.vue'
+	export default {
+		components: {
+			pcNav,newDetail,newgroupingList,newsearchlist
+		},
+		data() {
+			return {
+				title: 'Hello',
+				allCategory:[],
+				navMoret:false,
+				swpIndex:0,
+				indexData:'',
+				recommendList:[],
+				list:[],
+				comment:'',
+				topName:'',
+				parentCode:'',
+				topCode:'',
+				page:1,
+				dynamicCol:[],
+				qhIndex:1,
+				tabIndex:0,
+				TotalSize:0,
+				pageSize:20,
+				indexShow:true,
+				listShow:false,
+				indexName:'index',
+				newDetailShow:false,
+				newgroupingListShow:false,
+				newsearchShow:false,
+				newDetailID:'',
+				newDetailItem:'',
+				newgroupingcode:'',
+				newgroupingdata:'',
+			}
+		},
+		onLoad(opt) {
+           if(opt.id){
+			   this.newDetailID=opt.id;
+			   var item={
+				   categoryName:opt.topName,
+				   comment:opt.comment,
+				   parentCode:'',
+				   twoName:'',
+				   id:opt.id
+			   }
+			   console.log(item)
+			   this.goDetail(item)
+		   }
+		   this.getindexData()
+		},
+		created(){
+			//this.getindexData()
+		},
+		methods: {
+			getIndexList(){
+				this.indexShow=true;
+				this.listShow=false;
+				this.newDetailShow=false;
+				this.newgroupingListShow=false;
+				this.newsearchShow=false;
+				this.indexName='index';
+				this.topName=''
+				
+			},
+			gosearchlist(){
+				this.indexShow=false;
+				this.listShow=false;
+				this.newDetailShow=false;
+				this.newgroupingListShow=false;
+				this.newsearchShow=true;
+				this.indexName='';
+				this.topName=''
+			},
+			getChildList(item){
+					console.log(item);
+					this.indexName=''
+					this.topName=item.name;
+					this.comment=item.comment;
+					this.topCode=item.code;
+					this.parentCode=item.code;
+					//this.parentCode='';
+					this.getcategoryPageData();
+					uni.setNavigationBarTitle({
+					    title: this.topName
+					});
+					this.indexShow=false;
+					this.listShow=true;
+					this.newDetailShow=false;
+					this.newgroupingListShow=false;
+					this.newsearchShow=false;
+					this.tabIndex=0;
+			},
+			goList(item){
+				console.log(item)
+				this.getChildList(item)
+				uni.pageScrollTo({
+				   scrollTop: 0, duration: 100 
+				}); 
+				/* uni.navigateTo({
+					url:'list?code='+item.code+'&topName='+item.categoryName//+'&comment='+item.comment
+				}) */
+			},
+			goDetail(item){
+				console.log(item)
+				this.indexShow=false;
+				this.listShow=false;
+				this.newDetailShow=true;
+				this.newgroupingListShow=false;
+				this.newsearchShow=false;
+				this.newDetailID=item.id;
+				item.categoryName=item.topName;
+				//item.code=
+				this.newDetailItem=item;
+				console.log(this.newDetailItem)
+				//this.$refs.newDetailV.test()
+				//this.$refs.newDetailV.newidfn()
+				/* uni.navigateTo({
+					url:'detail?id='+item.id+'&topName='+item.categoryName+"&comment="+item.comment+'&parentCode='+item.code
+				}) */
+			},
+			goDetail2(wz,item){
+				console.log(item)
+				console.log(wz) 
+				if (wz.type == 1) {
+					this.newgroupingcode=wz.code;
+					var newgroupingdata={
+						parentCode:item.code,
+						name:wz.name,
+						title:wz.title,
+						topName:item.name,
+						comment:item.comment,
+						code:item.code
+					}
+					console.log(newgroupingdata)
+					this.indexShow=false;
+					this.listShow=false;
+					this.newDetailShow=false;
+					this.newgroupingListShow=true;
+					this.newsearchShow=false;
+					this.newgroupingdata=newgroupingdata
+				}else{
+					this.indexShow=false;
+					this.listShow=false;
+					this.newDetailShow=true;
+					this.newgroupingListShow=false;
+					this.newsearchShow=false;
+					this.newDetailID=wz.id;
+					var item={
+						categoryName:item.name,
+						twoName:'',
+						comment:item.comment,
+						code:item.code
+					}
+					this.newDetailItem=item;
+				}
+				
+				 /* uni.navigateTo({
+					url:'detail?id='+wz.id+'&topName='+item.name+"&comment="+item.comment+'&parentCode='+item.code
+				}) */
+			},
+			goDetail3(wz){
+				// 1分类2文章
+				if (wz.Type == 1) {
+					/* uni.navigateTo({
+						url:'groupingList?parentCode='+this.topCode+'&code='+wz.Code+'&name='+wz.Name+'&title='+wz.Title+'&topName='+this.topName+"&comment="+this.comment
+					}) */
+					this.newgroupingcode=wz.Code;
+					var newgroupingdata={
+						parentCode:this.topCode,
+						name:wz.Name,
+						title:wz.Title,
+						topName:this.topName,
+						comment:this.comment
+					}
+					console.log(newgroupingdata)
+					this.indexShow=false;
+					this.listShow=false;
+					this.newDetailShow=false;
+					this.newgroupingListShow=true;
+					this.newsearchShow=false;
+					this.newgroupingdata=newgroupingdata
+				}else{
+					//console.log(wz)
+					this.indexShow=false;
+					this.listShow=false;
+					this.newDetailShow=true;
+					this.newgroupingListShow=false;
+					this.newsearchShow=false;
+					this.newDetailID=wz.ID;
+					var item={
+						categoryName:this.topName,
+						twoName:this.dynamicCol[this.tabIndex].name,
+						comment:this.comment,
+						code:wz.Code
+					}
+					this.newDetailItem=item;
+					/* uni.navigateTo({
+						url:'detail?id='+wz.ID+'&topName='+this.topName+'&twoName='+this.dynamicCol[this.tabIndex].name+"&comment="+this.comment+'&parentCode='+wz.Code
+					}) */
+				}
+				//console.log(wz)
+			},
+			goDetail4(item){
+				this.newgroupingcode=item.Code;
+				var newgroupingdata={
+					parentCode:item.parentCode,
+					name:item.Name,
+					title:item.Title,
+					topName:item.topName,
+					comment:''
+				}
+				console.log(newgroupingdata)
+				this.indexShow=false;
+				this.listShow=false;
+				this.newDetailShow=false;
+				this.newgroupingListShow=true;
+				this.newsearchShow=false;
+				this.newgroupingdata=newgroupingdata
+			},
+			goDetailswp(item){
+				//console.log(itme)
+				this.indexShow=false;
+				this.listShow=false;
+				this.newDetailShow=true;
+				this.newgroupingListShow=false;
+				this.newsearchShow=false;
+				this.newDetailID=item.id;
+				var item={
+					categoryName:item.categoryName,
+					twoName:'',
+					comment:item.comment,
+					code:item.code
+				}
+				this.newDetailItem=item;
+			},
+			gotoTop(){
+				uni.pageScrollTo({ 
+				   scrollTop: 0, duration: 300 
+				}); 
+			},
+			
+			swpBtnRight(){
+				var length=this.recommendList.length;
+				var num=Math.ceil(length/4)-1
+				console.log(num+'---'+this.swpIndex)
+				if(this.swpIndex<num){
+					this.swpIndex++
+				}
+				
+			},
+			swpBtnLeft(){
+				if(this.swpIndex==0){
+					
+				}else{
+					this.swpIndex--
+				}
+				
+			},
+           
+			getindexData(){
+				uni.showLoading({
+					title: '加载中'
+				})
+				this.$http('/trainingOpenApiV2/indexData', {}, 'GET').then(res => {
+					uni.hideLoading();
+					this.indexData = res.data;
+					this.recommendList=this.indexData.recommendList
+				})
+			},
+			mainMore(item){
+				console.log(item)
+				this.getChildList(item)
+				/* uni.navigateTo({
+					url:'list?code='+item.code+'&topName='+item.name+'&comment='+item.comment
+				}) */
+			},
+			
+				gotoTop(){
+					uni.pageScrollTo({ 
+					   scrollTop: 0, duration: 300 
+					}); 
+				},
+				tabBtn(index,item){
+					this.tabIndex=index;
+					console.log(item)
+					this.parentCode=item.code;
+					this.getcategoryPageData()
+				},
+				pageChange(e){
+					console.log(e)
+					this.page=e;
+					this.getcategoryPageData()
+					
+				},
+				getcategoryPageData(){
+					console.log(this.parentCode)
+					if(this.parentCode){
+						var params={
+							parentCode:this.parentCode,
+							topCode:this.topCode,
+							limit:this.pageSize,
+							page:this.page,
+						}
+						var url='trainingOpenApiV2/categoryPageDataNew'
+						this.$http(url, params, 'GET').then(res => {
+							uni.hideLoading();
+							this.list=res.data.Items;
+							this.TotalSize=res.data.TotalSize;
+							var arr=[
+								{
+									'name':'全部','code':'',
+								}	
+							]
+							this.dynamicCol=arr.concat(res.data.dynamicCol);
+							
+						})
+					}else{
+						var params = {
+								page: this.page,
+								limit: 10,
+								parentCode: this.topCode,
+							}
+							var url='trainingOpenApiV2/groupPageData'
+							this.$http(url, params, 'GET').then(res => {
+								uni.hideLoading();
+								this.list=res.data.Items;
+								this.TotalSize=res.data.TotalSize;
+								
+							})
+					}
+					
+					uni.showLoading({
+						title: '加载中'
+					})
+					//trainingOpenApiV2/categoryPageData
+					
+				}
+			}
+		
+	}
+</script>
+
+<style scoped>
+	.content{
+		background: #F4F5F7;
+		min-height: 100vh;
+		font-family: PingFangSC-Regular, PingFang SC;
+		min-width: 1200px;
+	}
+	.swiperBox{
+		/* height: 280px; */
+		/* background: #F3F8FF; */
+		width: 100%;
+	}
+	.swiperCont{
+		width: 1230px;
+		margin: 0 auto;
+		position: relative;
+	}
+	.tuijImg{
+		width: 24px;height: 24px;
+		
+	}
+	.tuijbox{
+		display: flex;padding-top: 32px;/* padding-bottom: 20px; */
+		 padding-left: 15px;
+	}
+	.tuijTitle{
+		font-size: 22px;
+		font-family: PingFangSC-Medium, PingFang SC;
+		font-weight: 500;
+		color: #3C3C3C;
+		padding-left: 7px;
+		line-height: 24px;
+	}
+	.swpImgleft{
+		width: 44px;
+		height: 44px;
+		position: absolute;
+		top: 170px;
+		left: -60px;
+		cursor: pointer;
+	}
+	.swpImgright{
+		width: 44px;
+		height: 44px;
+		position: absolute;
+		top: 170px;
+		right: -60px;
+		cursor: pointer;
+	}
+	.swiper-item{
+		width: 590px;
+		height: 163px;
+		background: #FFFFFF;
+		margin-left: 16px;
+		margin-right: 12px;
+		border-radius: 6px;
+		margin-top: 14px;
+		position: relative;
+		cursor: pointer;
+	}
+	.swiper-item:hover{
+		box-shadow: 0px 0px 16px 0px rgba(153, 153, 153, 0.25);
+	}
+	.swpCont{
+		display: flex;
+		height: 210px;
+		justify-content: space-between;
+	}
+	.swpimg{
+		width: 284px;
+		height: 160px;
+	}
+	.swpimgBox{
+		width: 284px;
+		height: 160px;
+		position: absolute;
+		left: 0;
+		top: -14px;
+		
+	}
+	.swpBr{
+		width: 284px;
+		height: 160px;
+		border-radius: 7px;
+		overflow: hidden;
+	}
+	.swiper{
+		height: 280px;
+	}
+	.swpTitleBox{
+		padding-left: 304px;
+		display: flex;
+		flex-direction: column;
+		justify-content: space-between;
+		height: 140px;
+		padding-top: 10px;
+		
+	}
+	
+	.swpTitle{
+		width: 240px;
+		height: 44px;
+		font-size: 16px;
+		color: #3C3C3C;
+		line-height: 22px;
+		 text-overflow: -o-ellipsis-lastline;
+		  overflow: hidden;
+		  text-overflow: ellipsis;
+		  display: -webkit-box;
+		  -webkit-line-clamp: 2;
+		  line-clamp: 2;
+		  -webkit-box-orient: vertical;
+	}
+	.swpTitleBox:hover .swpTitle{
+		color: #FF4F00;
+	}
+	.categoryName{
+		line-height: 24px;
+		width: 84px;
+		height: 24px;
+		background: rgba(63, 144, 247, 0.1);
+		border-radius: 14px;
+		font-size: 14px;
+		color: #3F90F7;
+		text-align: center;
+		white-space: nowrap; 
+		overflow: hidden; 
+		text-overflow: ellipsis; 
+	}
+	.mainCont{
+		width: 1200px;
+		margin: 0 auto;
+		padding-bottom: 20px;
+	}
+	.mainline{
+		padding-top: 34px;
+	}
+	.mainlineTop{
+		display: flex;
+		justify-content: space-between;
+	}
+	.mainlineTopleft{
+		display: flex;
+	}
+	.mainlineTitle{
+		font-size: 22px;
+		font-weight: 500;
+		color: #3C3C3C;
+		line-height: 33px;
+		font-family: PingFangSC-Medium, PingFang SC;
+	}
+	.mainlinecount{
+		font-size: 14px;
+		font-weight: 400;
+		color: #999999;
+        line-height: 33px;
+		padding-left: 16px;
+	}
+	.mainlineMore{
+		font-size: 14px;
+		color: #999999;
+	}
+	.mainwzbox{
+		display: flex;
+		/* padding-top: 20px; */
+		
+	}
+	.mainwzbox2{
+		display: flex;
+		padding: 0 15px;
+	}
+	.mainwzImg{
+		width: 284px;
+		height: 160px;
+	}
+	.mainwzImgBox{
+		border-top-left-radius: 6px;
+		border-top-right-radius: 6px;
+	    overflow: hidden;
+		height: 160px;
+		border: 1px solid #eeeeee;
+	}
+	.mainwzline{
+		width: 284px;
+		height: 244px;
+		background: #FFFFFF;
+		border-radius: 6px;
+	}
+	.mainwzlineR{
+	  margin-right: 22px;	
+	}
+	.wztitle{
+		width: 256px;
+		font-size: 16px;
+		color: #333333;
+		line-height: 22px;
+		height: 22px;
+		text-overflow: -o-ellipsis-lastline;
+		 overflow: hidden;
+		 text-overflow: ellipsis;
+		 display: -webkit-box;
+		 -webkit-line-clamp: 1;
+		 line-clamp: 1;
+		 -webkit-box-orient: vertical;
+		 padding:0 13px ;
+		 padding-top: 16px;
+		
+		
+	}
+	.wztime{
+		font-size: 14px;
+		color: #999999;
+		padding-left: 14px;
+		padding-top: 10px;
+	}
+	.mainwzline:hover{
+		background: #FFFFFF;
+		box-shadow: 0px 0px 16px 0px rgba(153, 153, 153, 0.2);
+		border-radius: 6px;
+		cursor: pointer;
+	}
+	.mainwzline:hover .wztitle{
+		color: #FF4F00;
+	}
+	.mainlineMore:hover{
+		color: #FF4F00;
+		cursor: pointer;
+	}
+	.gotopImg{
+		width: 60px;
+		height: 60px;
+	}
+	.gotop{
+		position: fixed;
+		right:5vh ;
+		bottom: 60px;
+		cursor: pointer;
+	}
+	.linegdImg1{
+		width: 6px;
+		height: 10px;
+		margin-top: 5px;
+		margin-left: 4px;
+	}
+	.linegdImg2{
+		width: 6px;
+		height: 10px;
+		display: none;
+		margin-top: 5px;
+		margin-left: 4px;
+	}
+	.mainlineMore{
+		display: flex;
+	}
+	.mainlineMore:hover .linegdImg1{
+		display: none;
+	}
+	.mainlineMore:hover .linegdImg2{
+		display: block;
+	}
+	.mainline1{
+		padding-top: 20px;
+	}
+	.content{
+		background: #F4F5F7;
+		min-height: 100vh;
+		font-family: PingFangSC-Regular, PingFang SC;
+	}
+	.contBox{
+		min-height: 58vh;
+	}
+	.gotopImg{
+		width: 60px;
+		height: 60px;
+	}
+	.gotop{
+		position: fixed;
+		right:5vh ;
+		bottom: 60px;
+		cursor: pointer;
+	}
+	.topName{
+		text-align: center;
+		font-size: 22px;
+		font-weight: 500;
+		color: #3C3C3C;
+		line-height: 33px;
+		padding-top: 20px;
+		font-family: PingFangSC-Medium, PingFang SC;
+		padding-bottom: 10px;
+	}
+	.comment{
+		text-align: center;
+		font-size: 14px;
+		font-weight: 400;
+		color: #999999;
+		line-height: 20px;
+		width: 500px;
+		
+		margin: 0 auto;
+	
+	}
+	.main{
+		width: 1200px;
+		margin: 0 auto;
+		/* padding-top: 30px; */
+	}
+	.dynamicColLeft{
+		display: flex;
+	}
+	.dynamicColLIne{
+		padding-right: 44px;
+		font-size: 16px;
+		color: #3C3C3C;
+		cursor: pointer;
+		line-height: 32px;
+	}
+	.qhImg{
+		width: 28px;
+		height: 28px;
+		margin-left: 8px;
+		cursor: pointer;
+	}
+	.dynamicCol{
+		display: flex;
+		justify-content: space-between;
+		background: #FFFFFF;
+		padding:15px 20px;
+		border-radius: 8px;
+	}
+	.activeTab{
+		color: #FF4F00;
+	}
+	.mainwzImg{
+		width: 284px;
+		height: 160px;
+	}
+	.mainwzImgBox{
+		border-top-left-radius: 6px;
+		border-top-right-radius: 6px;
+	    overflow: hidden;
+		height: 160px;
+		border: 1px solid #eeeeee;
+	}
+	.contf{
+		display: flex;
+		flex-wrap: wrap;
+	}
+	.mainwzline{
+		width: 284px;
+		height: 244px;
+		background: #FFFFFF;
+		margin-right: 21px;	
+		margin-top: 20px;
+		cursor: pointer;
+		border-radius: 6px;
+	}
+	.wztime{
+		font-size: 14px;
+		color: #999999;
+		padding-left: 14px;
+		padding-top: 10px;
+	}
+	.mainwzline:hover{
+		box-shadow: 0px 0px 16px 0px rgba(153, 153, 153, 0.2);
+	}
+	.mainwzlineR2{
+	  margin-right: 0px;	
+	}
+	.wztitle{
+		width: 256px;
+		font-size: 16px;
+		color: #333333;
+		line-height: 22px;
+		height: 22px;
+		text-overflow: -o-ellipsis-lastline;
+		 overflow: hidden;
+		 text-overflow: ellipsis;
+		 display: -webkit-box;
+		 -webkit-line-clamp: 1;
+		 line-clamp: 1;
+		 -webkit-box-orient: vertical;
+		 padding:0 13px ;
+		 padding-top: 16px;
+		
+		  
+	}
+	.wzLeftIMg{
+		width: 200px;
+		height: 112px;
+	}
+	.contL{
+		background: #FFFFFF;
+		margin-top: 20px;
+		border-radius: 8px;
+		padding: 0 20px;
+		
+	}
+	.wxLine{
+		display: flex;
+		padding: 20px 0px;
+		cursor: pointer;
+		border-bottom: 1px solid #EEEEEE;
+	}
+	.wzLineLeft{
+		border-radius: 6px;
+		overflow: hidden;
+		width: 200px;
+		height: 112px;
+	}
+	.wzLineRight{
+		padding-left: 16px;
+		width: 788px;
+	}
+	.wzTitle2{
+		font-size: 16px;
+		color: #3C3C3C;
+		width: 948px;
+		height: 20px;
+		line-height: 20px;
+		text-overflow: -o-ellipsis-lastline;
+		 overflow: hidden;
+		 text-overflow: ellipsis;
+		 display: -webkit-box;
+		 -webkit-line-clamp: 1;
+		 line-clamp: 1;
+		 -webkit-box-orient: vertical;
+	}
+	.wzComment{
+		font-size: 14px;
+		font-family: PingFangSC-Regular, PingFang SC;
+		font-weight: 400;
+		color: #999999;
+		line-height: 20px;
+		padding-top: 10px;
+		width: 948px;
+		height: 80px;
+		text-overflow: -o-ellipsis-lastline;
+		 overflow: hidden;
+		 text-overflow: ellipsis;
+		 display: -webkit-box;
+		 -webkit-line-clamp: 4;
+		 line-clamp: 4;
+		 -webkit-box-orient: vertical;
+	}
+	.pageView{
+		margin-top: 20px;
+		cursor: pointer;
+		padding-bottom: 20px;
+	}
+	.nodataImg{
+		width: 300px;
+		height: 203px;
+	}
+	.nodata{
+		text-align: center;
+		padding-top: 100px;
+	}
+	.nodataTitle{
+		font-size: 16px;
+		padding-top: 16px;
+		font-weight: 400;
+		color: #999999;
+	}
+	.listtopC{
+		padding-bottom: 10px;
+	}
+</style>

+ 377 - 0
pages/pcLh/list.vue

@@ -0,0 +1,377 @@
+<template>
+	<view class="content">
+		<pcNav :itemName="topName" @getChildList = "getChildList"></pcNav>
+		<view style="height: 72px;"></view>
+	
+		
+		<view class="gotop" @click="gotoTop">
+			<image src="../../static/pcimg/btn_top@2x.png" mode="" class="gotopImg"></image>
+		</view>
+		<view class="top">
+			<view class="topName">{{topName}}</view>
+			<view class="comment " v-if="comment">{{comment}}</view>
+		</view>
+		<view class="main">
+			<view class="dynamicCol">
+				<view class="dynamicColLeft">
+					<view class="dynamicColLIne" :class="{'activeTab':tabIndex==index}" v-for="(item,index) in dynamicCol" @click="tabBtn(index,item)">{{item.name}}</view>
+				</view>
+				<view class="dynamicColRight">
+					<image src="../../static/pcimg/icon_kapian_def@2x.png" v-show="qhIndex==2" class="qhImg" @click="qhIndex=1"></image>
+					<image src="../../static/pcimg/icon_kapian_sel@2x.png" v-show="qhIndex==2" class="qhImg"></image>
+				    <image src="../../static/pcimg/icon_liebiao_sel@2x.png" v-show="qhIndex==1" class="qhImg" ></image>
+				    <image src="../../static/pcimg/qh2.png" v-show="qhIndex==1" class="qhImg" @click="qhIndex=2"></image>
+				</view>
+			</view>
+			<view class="cont2">
+				<view class="contBox">
+					<view class="contf" v-if="qhIndex==2&&list.length>0">
+						<view class="mainwzline" v-for="(wz,wzindex) in list"  :class="{'mainwzlineR':(wzindex+1)%4==0&&wzindex!=0}" @click="goDetail(wz)">
+							<view class="mainwzImgBox">
+							  <img :src="wz.LogoImg" alt="" class="mainwzImg">	
+							</view>
+							<view class="wztitle">{{wz.Title}}</view>
+							<view class="wztime">2022-3-30</view>
+						</view>
+					</view>
+					<view class="contL" v-if="qhIndex==1&&list.length>0">
+						<view class="wxLine" v-for="(wz,wzindex) in list" @click="goDetail(wz)">
+							<view class="wzLineLeft">
+								<image :src="wz.LogoImg" class="wzLeftIMg"></image>
+							</view>
+							<view class="wzLineRight">
+								<view class="wzTitle2">{{wz.Title}}</view>
+								<view class="wzComment">{{wz.Comment}}</view>
+							</view>
+						</view>
+					</view>
+					<view class="nodata" v-show="list.length==0">
+						<image src="../../static/pcimg/listnodata.png" mode="" class="nodataImg"></image>
+						<view class="nodataTitle">暂无数据</view>
+					</view>
+				</view>
+			
+				
+			</view>
+			
+		</view>
+		
+		<!-- -->
+		<view class="pageView" v-show="TotalSize">
+			<page-pagination :pageSize="pageSize" :size="'small'" :total="TotalSize" :numAround="true" @change="pageChange"></page-pagination>
+		</view>
+		<!-- <view>
+			<a class="table-btn" href="http://phone.66km.cn:8088/marketing/training/940C4BF0A2E04542A1A1AD244EAFB6E2.xlsx" target='_blank'>下载入口</a>
+		</view> -->
+		
+		
+		
+	</view>
+</template>
+
+<script>
+	import pcNav from '../../components/pcNav/pcNav.vue'
+	export default {
+		components: {
+			pcNav,
+		},
+		data() {
+			return {
+				list:[],
+				comment:'',
+				topName:'',
+				parentCode:'',
+				topCode:'',
+				page:1,
+				dynamicCol:[],
+				qhIndex:1,
+				tabIndex:0,
+				TotalSize:0,
+				pageSize:20,
+			}
+		},
+		onLoad(opt) {
+           this.topName=opt.topName;
+		   this.comment=opt.comment;
+		   this.topCode=opt.code;
+		   this.parentCode=opt.code;
+		   this.getcategoryPageData();
+		   uni.setNavigationBarTitle({
+		       title: this.topName
+		   });
+		},
+		methods: {
+			getChildList(item){
+				console.log(item);
+				this.topName=item.topName;
+				this.comment=item.comment;
+				this.topCode=item.code;
+				this.parentCode=item.code;
+				this.getcategoryPageData();
+				uni.setNavigationBarTitle({
+				    title: this.topName
+				});
+			},
+			goDetail(wz){
+				// 1分类2文章
+				if (wz.Type == 1) {
+					uni.navigateTo({
+						url:'groupingList?parentCode='+this.topCode+'&code='+wz.Code+'&name='+wz.Name+'&title='+wz.Title+'&topName='+this.topName+"&comment="+this.comment
+					})
+				}else{
+					uni.navigateTo({
+						url:'detail?id='+wz.ID+'&topName='+this.topName+'&twoName='+this.dynamicCol[this.tabIndex].name+"&comment="+this.comment+'&parentCode='+wz.Code
+					})
+				}
+				//console.log(wz)
+			},
+			gotoTop(){
+				uni.pageScrollTo({ 
+				   scrollTop: 0, duration: 300 
+				}); 
+			},
+			tabBtn(index,item){
+				this.tabIndex=index;
+				//console.log(item)
+				this.parentCode=item.code;
+				this.getcategoryPageData()
+			},
+			pageChange(e){
+				console.log(e)
+				this.page=e;
+				this.getcategoryPageData()
+				
+			},
+			getcategoryPageData(){
+				var params={
+					parentCode:this.parentCode,
+					topCode:this.topCode,
+					limit:this.pageSize,
+					page:this.page,
+				}
+				uni.showLoading({
+					title: '加载中'
+				})
+				this.$http('/trainingOpenApiV2/categoryPageDataNew', params, 'GET').then(res => {
+					uni.hideLoading();
+					this.list=res.data.Items;
+					this.TotalSize=res.data.TotalSize;
+					var arr=[
+						{
+							'name':'全部','code':'',
+						}	
+					]
+					this.dynamicCol=arr.concat(res.data.dynamicCol);
+					
+				})
+			}
+		}
+	}
+</script>
+
+<style scoped>
+	
+	*{
+		padding: 0;
+		margin: 0;
+	}
+	.content{
+		background: #F4F5F7;
+		min-height: 100vh;
+		font-family: PingFangSC-Regular, PingFang SC;
+	}
+	.contBox{
+		min-height: 58vh;
+	}
+	.gotopImg{
+		width: 60px;
+		height: 60px;
+	}
+	.gotop{
+		position: fixed;
+		right:5vh ;
+		bottom: 60px;
+		cursor: pointer;
+	}
+	.topName{
+		text-align: center;
+		font-size: 22px;
+		font-weight: 500;
+		color: #3C3C3C;
+		line-height: 33px;
+		padding-top: 30px;
+		font-family: PingFangSC-Medium, PingFang SC;
+	}
+	.comment{
+		text-align: center;
+		font-size: 14px;
+		font-weight: 400;
+		color: #999999;
+		line-height: 20px;
+		width: 500px;
+		padding-top: 10px;
+		margin: 0 auto;
+	}
+	.main{
+		width: 1200px;
+		margin: 0 auto;
+		padding-top: 30px;
+	}
+	.dynamicColLeft{
+		display: flex;
+	}
+	.dynamicColLIne{
+		padding-right: 44px;
+		font-size: 16px;
+		color: #3C3C3C;
+		cursor: pointer;
+		line-height: 32px;
+	}
+	.qhImg{
+		width: 28px;
+		height: 28px;
+		margin-left: 8px;
+		cursor: pointer;
+	}
+	.dynamicCol{
+		display: flex;
+		justify-content: space-between;
+		background: #FFFFFF;
+		padding:15px 20px;
+		border-radius: 8px;
+	}
+	.activeTab{
+		color: #FF4F00;
+	}
+	.mainwzImg{
+		width: 284px;
+		height: 160px;
+	}
+	.mainwzImgBox{
+		border-top-left-radius: 6px;
+		border-top-right-radius: 6px;
+	    overflow: hidden;
+		height: 160px;
+		border: 1px solid #eeeeee;
+	}
+	.contf{
+		display: flex;
+		flex-wrap: wrap;
+	}
+	.mainwzline{
+		width: 284px;
+		height: 244px;
+		background: #FFFFFF;
+		margin-right: 21px;	
+		margin-top: 20px;
+		cursor: pointer;
+		border-radius: 6px;
+	}
+	.wztime{
+		font-size: 14px;
+		color: #999999;
+		padding-left: 14px;
+		padding-top: 10px;
+	}
+	.mainwzline:hover{
+		box-shadow: 0px 0px 16px 0px rgba(153, 153, 153, 0.2);
+	}
+	.mainwzlineR{
+	  margin-right: 0px;	
+	}
+	.wztitle{
+		width: 256px;
+		font-size: 16px;
+		color: #333333;
+		line-height: 22px;
+		height: 22px;
+		text-overflow: -o-ellipsis-lastline;
+		 overflow: hidden;
+		 text-overflow: ellipsis;
+		 display: -webkit-box;
+		 -webkit-line-clamp: 1;
+		 line-clamp: 1;
+		 -webkit-box-orient: vertical;
+		 padding:0 13px ;
+		 padding-top: 16px;
+		
+		  
+	}
+	.wzLeftIMg{
+		width: 200px;
+		height: 112px;
+	}
+	.contL{
+		background: #FFFFFF;
+		margin-top: 20px;
+		border-radius: 8px;
+		padding: 0 20px;
+		
+	}
+	.wxLine{
+		display: flex;
+		padding: 20px 0px;
+		cursor: pointer;
+		border-bottom: 1px solid #EEEEEE;
+	}
+	.wzLineLeft{
+		border-radius: 6px;
+		overflow: hidden;
+		width: 200px;
+		height: 112px;
+	}
+	.wzLineRight{
+		padding-left: 16px;
+		width: 788px;
+	}
+	.wzTitle2{
+		font-size: 16px;
+		color: #3C3C3C;
+		width: 948px;
+		height: 20px;
+		line-height: 20px;
+		text-overflow: -o-ellipsis-lastline;
+		 overflow: hidden;
+		 text-overflow: ellipsis;
+		 display: -webkit-box;
+		 -webkit-line-clamp: 1;
+		 line-clamp: 1;
+		 -webkit-box-orient: vertical;
+	}
+	.wzComment{
+		font-size: 14px;
+		font-family: PingFangSC-Regular, PingFang SC;
+		font-weight: 400;
+		color: #999999;
+		line-height: 20px;
+		padding-top: 10px;
+		width: 948px;
+		height: 80px;
+		text-overflow: -o-ellipsis-lastline;
+		 overflow: hidden;
+		 text-overflow: ellipsis;
+		 display: -webkit-box;
+		 -webkit-line-clamp: 4;
+		 line-clamp: 4;
+		 -webkit-box-orient: vertical;
+	}
+	.pageView{
+		margin-top: 20px;
+		cursor: pointer;
+		padding-bottom: 20px;
+	}
+	.nodataImg{
+		width: 300px;
+		height: 203px;
+	}
+	.nodata{
+		text-align: center;
+		padding-top: 100px;
+	}
+	.nodataTitle{
+		font-size: 16px;
+		padding-top: 16px;
+		font-weight: 400;
+		color: #999999;
+	}
+</style>

+ 287 - 0
pages/pcLh/newDetail.vue

@@ -0,0 +1,287 @@
+<template>
+	<view class="content2">
+       <view style="height: 72px;"></view>
+		<view class="top">
+			<view class="topline" @click="goIndex">首页</view>
+			<view class="topjt">></view>
+			<view class="topline" :class="{'c999':!twoName}" @click="goList()">{{topName}}</view>
+			<view class="topjt" v-if="twoName">></view>
+			<view class="topline" :class="{'c999':twoName}">{{twoName}}</view>
+		</view>
+		<view class="htmlBox">
+			<view class="htmlTitle">{{detailData.name}}</view>
+			<view class="time">{{detailData.publishTime}}</view>
+			<view class="html" v-html="detailData.contents"></view>
+		</view>
+		<view class="itemArr" v-if="itemArr.length>0">
+		  <view class="itemArrLine" :class="{'itemArrLineBottom':itemArr.length!=(index+1)}" v-for="(item,index) in itemArr">
+			  <view class="itemArrLeft" >
+				  <image src="../../static/pcimg/icon_fujian@2x.png" mode="" class="fileIcon"></image>
+				  <view class="fileName" @click="gofile(item.fileUrl)">{{item.fileName}}</view>
+			  </view>
+			<!-- <view class="dload">
+				  <a class="dloadbtn" :href="item.fileUrl" target='_blank' >下载</a>
+			  </view> -->
+		  </view>
+		</view>
+		<view class="lbel" v-if="topName">
+			<view class="topName" @click="goList">{{topName}}</view>
+		</view>
+       
+	</view>
+</template>
+
+<script>
+	
+	export default {
+       props: ['newid','data'],
+		data() {
+			return {
+				id: '',
+				detailData: {},
+				couContent: '',
+				itemArr: [],
+				topName:'',
+				twoName:'',
+				comment:'',
+				parentCode:'',
+			}
+		},
+		watch:{
+			newid(newValue, oldValue){
+				console.log(newValue);
+				console.log(this.data)
+				this.id = newValue
+				this.topName=this.data.categoryName;
+				this.twoName=this.data.twoName;
+				this.comment=this.data.comment;
+				this.parentCode=this.data.code
+				this.getDetailData() 
+				// uni.setNavigationBarTitle({
+				// 	title: this.topName
+				// })
+				uni.pageScrollTo({
+				   scrollTop: 0, duration: 100 
+				}); 
+			}
+		},
+		onLoad(opt) {
+			console.log('opt', opt);
+			/* this.id = opt.id
+            this.topName=opt.topName;
+			this.twoName=opt.twoName;
+			this.comment=opt.comment;
+			this.parentCode=opt.parentCode
+			this.getDetailData() */
+			// uni.setNavigationBarTitle({
+			// 	title: this.topName
+			// })
+		},
+		created() {
+			this.newidfn()
+		},
+		methods: {
+			newidfn(){
+				this.id = this.data.id
+				this.topName=this.data.categoryName;
+				this.twoName=this.data.twoName;
+				this.comment=this.data.comment;
+				this.parentCode=this.data.code
+				this.getDetailData() 
+				uni.pageScrollTo({
+				   scrollTop: 0, duration: 100 
+				}); 
+			},
+			test(){
+				console.log(55)
+			},
+			gofile(url){
+				window.location.href=url
+			},
+			goList(){
+				/* var code=this.parentCode.substring(0,3)
+				uni.navigateTo({
+					url:'list?code='+code+'&topName='+this.topName+'&comment='+this.comment
+				}) */
+				console.log(this.parentCode)
+				var code=this.parentCode.substring(0,3)
+				var data={
+					code:code,
+					name:this.topName,
+					comment:this.comment
+				}
+				this.$emit("getChildList",data)
+			},
+             goIndex(){
+				this.$emit("getIndexList")
+			 },
+			getDetailData() {
+				uni.showLoading({
+					title: '加载中'
+				})
+				let url = '/trainingOpenApiV2/articleDetail',
+					params = {
+						id: this.id,
+					}
+				this.$http(url, params, 'GET').then(res => {
+					uni.hideLoading();
+					var data = res.data
+					// 处理 undefined和null转为空白字符串
+					for (const key in data) {
+						data[key] = this.$praseStrEmpty(data[key])
+					}
+
+					this.detailData = data;
+					uni.setNavigationBarTitle({
+					    title: this.detailData.title
+					});
+					console.log()
+					if (this.detailData.contents) {
+						var replaceStr = "application/x-shockwave-flash"
+					    this.detailData.contents=this.detailData.contents.replace(new RegExp(replaceStr,'gm'),'video/webm')//(/''/g,"video/webm")
+					    this.detailData.contents=this.detailData.contents.replace(/<embed([\s\w"-=\/\.:;]+)/ig, '<embed style="width: 100%;height:500px;" $1');
+					}
+
+					 if (this.detailData.contents) {
+						this.detailData.contents = this.detailData.contents.replace(
+								/<p([\s\w"=\/\.:;]+)((?:(style="[^"]+")))/ig, '<p')
+							.replace(/<p>/ig, '<p style="font-size: 15px; line-height: 25px;">')
+							.replace(/<img([\s\w"-=\/\.:;]+)((?:(height="[^"]+")))/ig, '<img$1')
+							.replace(/<img([\s\w"-=\/\.:;]+)((?:(width="[^"]+")))/ig, '<img$1')
+							.replace(/<img([\s\w"-=\/\.:;]+)((?:(style="[^"]+")))/ig, '<img$1')
+							.replace(/<img([\s\w"-=\/\.:;]+)((?:(alt="[^"]+")))/ig, '<img$1')
+							.replace(/<img([\s\w"-=\/\.:;]+)/ig, '<img style="width: 100%;" $1');
+							
+						this.detailData.contents = this.detailData.contents.replace(
+								/<p([\s\w"=\/\.:;]+)((?:(style="[^"]+")))/ig, '<p')
+							.replace(/<p>/ig, '<p style="font-size: 15px; line-height: 25px;">')
+							.replace(/<iframe([\s\w"-=\/\.:;]+)((?:(width="[^"]+")))/ig, '<iframe$1')
+							.replace(/<iframe([\s\w"-=\/\.:;]+)((?:(style="[^"]+")))/ig, '<iframe$1')
+							.replace(/<iframe([\s\w"-=\/\.:;]+)((?:(alt="[^"]+")))/ig, '<iframe$1')
+							.replace(/<iframe([\s\w"-=\/\.:;]+)/ig, '<iframe style="width: 100%;height:500px;" $1');
+					}
+
+					this.itemArr = this.detailData.fileList 
+                    console.log(this.itemArr)
+				})
+			},
+
+			
+
+
+			// }
+		}
+	}
+</script>
+
+<style scoped>
+	.top{
+		width: 1200px;
+		margin: 0 auto;
+		display: flex;
+		padding: 30px 0;
+		font-size: 14px;
+	}
+	.content2{
+		font-family: PingFangSC-Regular, PingFang SC;background: #FFFFFF;
+		min-height: 100vh;
+	}
+	.htmlBox{
+		width: 720px;
+		margin: 0 auto;
+	}
+	.topline{
+		padding-right: 10px;
+		cursor: pointer;
+		color: #3C3C3C;
+	}
+	.topjt{
+		color: #AAAAAA;
+		padding-right: 10px;
+	}
+	.htmlTitle{
+		font-size: 24px;
+		font-weight: 500;
+		color: #3C3C3C;
+		line-height: 33px;
+		font-family: PingFangSC-Medium, PingFang SC;
+	}
+	.time{
+		font-size: 14px;
+		padding-top: 16px;
+		color: #999999;
+		line-height: 20px;
+		border-bottom: 1px solid #EEEEEE;
+		padding-bottom: 19px;
+	}
+	.html{
+		padding-top: 18px;
+	}
+	.fileIcon{
+		width: 14px;
+		height: 14px;
+		margin-top: 4px;
+		margin-right: 4px;
+	}
+	.itemArrLeft{
+		display: flex;
+	}
+	.itemArrLine{
+		display: flex;
+		justify-content: space-between;
+		padding: 16px 0;
+		
+		color: #333333;
+		line-height: 22px;
+		font-size: 16px;
+		width: 720px;
+	}
+	.itemArrLineBottom{
+		border-bottom: 1px solid #EEEEEE;
+	}
+	.itemArr{
+		width: 686px;
+		margin: 0 auto;
+		margin-top: 30px;
+		border-radius: 6px;
+		border: 1px solid #EEEEEE;
+		padding: 0 16px;
+		
+	}
+	.dloadbtn{
+		display: block;
+		width: 68px;
+		height: 28px;
+		background: #3F90F7;
+		border-radius: 6px;
+		color: #FFFFFF;
+		text-align: center;
+		line-height:28px ;
+		font-size: 14px;
+		text-decoration:none;
+	}
+	.lbel{
+		width: 720px;
+		margin: 0 auto;
+		margin-top: 30px;
+		padding-bottom: 30px;
+	}
+	.topName{
+		width: 84px;
+		height: 24px;
+		background: rgba(63, 144, 247, 0.1);
+		border-radius: 14px;
+		font-size: 14px;
+		color: #3F90F7;
+		line-height: 24px;
+		text-align: center;
+		cursor: pointer;
+	}
+	.fileName{
+		text-decoration:underline;
+		color: #3F90F7;
+	}
+	.c999{
+		color: #999999;
+	}
+</style>

+ 440 - 0
pages/pcLh/newgroupingList.vue

@@ -0,0 +1,440 @@
+<template>
+	<view class="content">
+		<view style="height: 72px;"></view>
+	    <view class="top">
+	    	<view class="topline" @click="goIndex">首页</view>
+	    	<view class="topjt">></view>
+	    	<view class="topline" @click="goList">{{topName}}</view>
+	    	<view class="topjt" v-if="name">></view>
+	    	<view class="topline" :class="{'c999':name}">{{name}}</view>
+	    </view>
+		
+		<view class="gotop" @click="gotoTop">
+			<image src="../../static/pcimg/btn_top@2x.png" mode="" class="gotopImg"></image>
+		</view>
+		<view class="">
+			<view class="topName">{{name}}</view>
+			<view class="comment "  v-if="title">{{title}}</view>
+		</view>
+		<view class="main">
+			<view class="dynamicCol">
+				<view class="dynamicColLeft">
+					
+				</view>
+				<view class="dynamicColRight">
+					<image src="../../static/pcimg/icon_kapian_def@2x.png" v-show="qhIndex==2" class="qhImg" @click="qhIndex=1"></image>
+					<image src="../../static/pcimg/icon_kapian_sel@2x.png" v-show="qhIndex==2" class="qhImg"></image>
+				    <image src="../../static/pcimg/icon_liebiao_sel@2x.png" v-show="qhIndex==1" class="qhImg" ></image>
+				    <image src="../../static/pcimg/qh2.png" v-show="qhIndex==1" class="qhImg" @click="qhIndex=2"></image>
+				</view>
+			</view>
+			<view class="cont2">
+				<view class="contBox">
+					<view class="contf" v-if="qhIndex==2&&list.length>0">
+						<view class="mainwzline" v-for="(wz,wzindex) in list"  :class="{'mainwzlineR':(wzindex+1)%4==0&&wzindex!=0}" @click="goDetail(wz)">
+							<view class="mainwzImgBox">
+							  <img :src="wz.LogoImg" alt="" class="mainwzImg">	
+							</view>
+							<view class="wztitle">{{wz.Title}}</view>
+							<view class="wztime">2022-3-30</view>
+						</view>
+					</view>
+					<view class="contL" v-if="qhIndex==1&&list.length>0">
+						<view class="wxLine" v-for="(wz,wzindex) in list" @click="goDetail(wz)">
+							<view class="wzLineLeft">
+								<image :src="wz.LogoImg" class="wzLeftIMg"></image>
+							</view>
+							<view class="wzLineRight">
+								<view class="wzTitle2">{{wz.Title}}</view>
+								<view class="wzComment">{{wz.Comment}}</view>
+							</view>
+						</view>
+					</view>
+					<view class="nodata" v-show="list.length==0">
+						<image src="../../static/pcimg/listnodata.png" mode="" class="nodataImg"></image>
+						<view class="nodataTitle">暂无数据</view>
+					</view>
+				</view>
+			
+			</view>
+			
+			
+		</view>
+		
+		<!-- -->
+		<view class="pageView" v-show="TotalSize>0">
+			<page-pagination :pageSize="pageSize" :size="'small'" :total="TotalSize" :numAround="true" @change="pageChange"></page-pagination>
+		</view>
+		<!-- <view>
+			<a class="table-btn" href="http://phone.66km.cn:8088/marketing/training/940C4BF0A2E04542A1A1AD244EAFB6E2.xlsx" target='_blank'>下载入口</a>
+		</view> -->
+		
+		
+		
+	</view>
+</template>
+
+<script>
+	import pcNav from '../../components/pcNav/pcNav.vue'
+	export default {
+		components: {
+			pcNav,
+		},
+		props: ['newcode','data'],
+		data() {
+			return {
+				list:[],
+				title:'',
+				name:'',
+				parentCode:'',
+				topCode:'',
+				page:1,
+				dynamicCol:[],
+				qhIndex:1,
+				tabIndex:0,
+				TotalSize:0,
+				pageSize:20,
+				topName:'',
+				comment:'',
+				code:'',
+			}
+		},
+		watch:{
+			newcode(newValue, oldValue){
+				console.log(newValue);
+				this.code = newValue
+				this.parentCode=this.data.parentCode;
+				this.title=this.data.title;
+				this.name=this.data.name;
+				this.topName=this.data.topName;
+				this.comment=this.data.comment;
+				this.getgroupPageData()
+				 uni.setNavigationBarTitle({
+				 	title: this.name
+				})
+				uni.pageScrollTo({
+				   scrollTop: 0, duration: 100 
+				}); 
+			}
+		},
+		created(){
+			uni.pageScrollTo({
+			   scrollTop: 0, duration: 100 
+			}); 
+		},
+		onLoad(opt) {
+           /* this.name=opt.name;
+		   this.title=opt.title;
+		   this.parentCode=opt.parentCode;
+		   this.code=opt.code;
+		   this.topName=opt.topName;
+		   this.comment=opt.comment;
+		   this.getgroupPageData()
+		   uni.setNavigationBarTitle({
+		       title: this.name
+		   }); */
+		},
+		methods: {
+			goIndex(){
+				/* uni.navigateTo({
+					url:'index'
+				}) */
+				this.$emit("getIndexList")
+			},
+			goList(){
+				var data={
+					code:this.parentCode,
+					name:this.topName,
+					comment:this.comment
+				}
+				this.$emit("getChildList",data)
+				/* uni.navigateTo({
+					url:'list?code='+this.parentCode+'&topName='+this.topName+'&comment='+this.comment
+				}) */
+			},
+			goDetail(wz){
+				console.log(wz)
+				this.$emit("goDetail",{
+					id:wz.ID,
+					topName:this.topName,
+					twoName:this.dynamicCol[this.tabIndex].name,
+					code:wz.Code
+				})
+				// 1分类2文章
+				/* if (wz.Type == 1) {
+					
+				}else{
+					uni.navigateTo({
+						url:'detail?id='+wz.ID+'&topName='+this.topName+'&twoName='+this.dynamicCol[this.tabIndex].name
+					})
+				} */
+				//console.log(wz)
+			},
+			gotoTop(){
+				uni.pageScrollTo({ 
+				   scrollTop: 0, duration: 300 
+				}); 
+			},
+			tabBtn(index,item){
+				this.tabIndex=index;
+				//console.log(item)
+				this.parentCode=item.code;
+				this.getcategoryPageData()
+			},
+			pageChange(e){
+				console.log(e)
+				this.page=e;
+				this.getcategoryPageData()
+				
+			},
+			getgroupPageData(){
+				var params={
+					parentCode:this.code,
+					limit:this.pageSize,
+					page:this.page,
+				}
+				uni.showLoading({
+					title: '加载中'
+				})
+				this.$http('/trainingOpenApiV2/categoryPageData', params, 'GET').then(res => {
+					uni.hideLoading();
+					this.list=res.data.Items;
+					this.TotalSize=res.data.TotalSize;
+					var arr=[
+						{
+							'name':'全部','code':'',
+						}	
+					]
+					this.dynamicCol=arr.concat(res.data.dynamicCol);
+					
+				})
+			}
+		}
+	}
+</script>
+
+<style scoped>
+	 .top{
+	 	width: 1200px;
+	 	margin: 0 auto;
+	 	display: flex;
+	 	padding: 30px 0;
+	 	font-size: 14px;
+	 }
+	 .content{
+	 	background: #F4F5F7;
+	 	min-height: 100vh;
+		font-family: PingFangSC-Regular, PingFang SC;
+	 }
+	 .htmlBox{
+	 	width: 720px;
+	 	margin: 0 auto;
+	 }
+	 .contBox{
+	 	min-height: 58vh;
+	 }
+	 .topline{
+	 	padding-right: 10px;
+	 	cursor: pointer;
+	 	color: #3C3C3C;
+	 	
+	 }
+	 .topjt{
+	 	color: #AAAAAA;
+	 	padding-right: 10px;
+	 }
+	*{
+		padding: 0;
+		margin: 0;
+	}
+	.gotopImg{
+		width: 60px;
+		height: 60px;
+	}
+	.gotop{
+		position: fixed;
+		right:5vh ;
+		bottom: 60px;
+		cursor: pointer;
+	}
+	.topName{
+		text-align: center;
+		font-size: 22px;
+		font-weight: 500;
+		color: #3C3C3C;
+		line-height: 33px;
+		font-family: PingFangSC-Medium, PingFang SC;
+	}
+	.comment{
+		text-align: center;
+		font-size: 14px;
+		font-weight: 400;
+		color: #999999;
+		line-height: 20px;
+		width: 500px;
+		padding-top: 10px;
+		margin: 0 auto;
+	}
+	.main{
+		width: 1200px;
+		margin: 0 auto;
+		padding-top: 30px;
+	}
+	.dynamicColLeft{
+		display: flex;
+	}
+	.dynamicColLIne{
+		padding-right: 44px;
+		font-size: 16px;
+		color: #3C3C3C;
+		cursor: pointer;
+	}
+	.qhImg{
+		width: 28px;
+		height: 28px;
+		margin-left: 8px;
+		cursor: pointer;
+	}
+	.dynamicCol{
+		display: flex;
+		justify-content: space-between;
+		background: #FFFFFF;
+		padding:15px 20px;
+		border-radius: 8px;
+	}
+	.activeTab{
+		color: #FF4F00;
+	}
+	.mainwzImg{
+		width: 284px;
+		height: 160px;
+	}
+	.mainwzImgBox{
+		border-top-left-radius: 6px;
+		border-top-right-radius: 6px;
+	    overflow: hidden;
+		height: 160px;
+		border: 1px solid #eeeeee;
+	}
+	.contf{
+		display: flex;
+		flex-wrap: wrap;
+	}
+	.mainwzline{
+		width: 284px;
+		height: 244px;
+		background: #FFFFFF;
+		margin-right: 21px;	
+		margin-top: 20px;
+		cursor: pointer;
+		border-radius: 6px;
+	}
+	.wztime{
+		font-size: 14px;
+		color: #999999;
+		padding-left: 14px;
+		padding-top: 10px;
+	}
+	.mainwzlineR{
+	  margin-right: 0px;	
+	}
+	.wztitle{
+		width: 256px;
+		font-size: 16px;
+		color: #333333;
+		line-height: 22px;
+		height: 22px;
+		text-overflow: -o-ellipsis-lastline;
+		 overflow: hidden;
+		 text-overflow: ellipsis;
+		 display: -webkit-box;
+		 -webkit-line-clamp: 1;
+		 line-clamp: 1;
+		 -webkit-box-orient: vertical;
+		 padding:0 13px ;
+		 padding-top: 16px;
+	}
+	.wzComment{
+		font-size: 14px;
+		font-family: PingFangSC-Regular, PingFang SC;
+		font-weight: 400;
+		color: #999999;
+		line-height: 20px;
+		padding-top: 10px;
+		width: 948px;
+		height: 80px;
+		text-overflow: -o-ellipsis-lastline;
+		 overflow: hidden;
+		 text-overflow: ellipsis;
+		 display: -webkit-box;
+		 -webkit-line-clamp: 4;
+		 line-clamp: 4;
+		 -webkit-box-orient: vertical;
+	}
+	.wzLeftIMg{
+		width: 200px;
+		height: 132px;
+	}
+	.contL{
+		background: #FFFFFF;
+		margin-top: 20px ;
+		border-radius: 8px;
+		padding: 0 20px;
+	}
+	.wxLine{
+		display: flex;
+		padding: 20px 0px;
+		cursor: pointer;
+		border-bottom: 1px solid #EEEEEE;
+	}
+	.wzLineLeft{
+		border-radius: 6px;
+		overflow: hidden;
+		width: 200px;
+		height: 132px;
+	}
+	.wzLineRight{
+		padding-left: 16px;
+		width: 788px;
+	}
+	.wzTitle{
+		font-size: 16px;
+		color: #3C3C3C;
+	}
+	.wzTitle2{
+		font-size: 16px;
+		color: #3C3C3C;
+		width: 948px;
+		height: 20px;
+		line-height: 20px;
+		text-overflow: -o-ellipsis-lastline;
+		 overflow: hidden;
+		 text-overflow: ellipsis;
+		 display: -webkit-box;
+		 -webkit-line-clamp: 1;
+		 line-clamp: 1;
+		 -webkit-box-orient: vertical;
+	}
+	.pageView{
+		margin-top: 20px;
+		cursor: pointer;
+		padding-bottom: 20px;
+	}
+	.nodataImg{
+		width: 300px;
+		height: 203px;
+		padding-top: 100px;
+	}
+	.nodata{
+		text-align: center;
+	}
+	.nodataTitle{
+		font-size: 16px;
+		padding-top: 16px;
+		font-weight: 400;
+		color: #999999;
+	}
+	.c999{
+		color: #999999;
+	}
+</style>

+ 391 - 0
pages/pcLh/newsearchlist.vue

@@ -0,0 +1,391 @@
+<template>
+	<view class="content2">
+		
+		<view style="height: 72px;"></view>
+	
+		<view class="gotop" @click="gotoTop">
+			<image src="../../static/pcimg/btn_top@2x.png" mode="" class="gotopImg"></image>
+		</view>
+		
+		<view class="main">
+			<view class="searchBox">
+				<view class="searchInputBox">
+					<input class="searchInput" type="text" v-model="title" placeholder="请输入您想搜索到内容~" placeholder-style="color:#CCCCCC" @confirm="search"/>
+				</view>
+				<view class="searchBtn" @click="search">查询</view>
+				<!-- <image src="../../static/pcimg/icon_sousuo@2x.png" mode="" class="searchBtn" @click="search"></image> -->
+				
+			</view>
+			<view class="ssjg" v-if="sstype">为你找到“{{sstitle}}”相关结果共{{TotalSize}}条</view>
+			<view class="cont2">
+				<view class="contBox">
+					<view class="contL" v-show="list.length!=0&&sstype">
+						<view class="wxLine" v-for="(wz,wzindex) in list" @click="goDetail(wz)">
+							<view class="wzLineLeft">
+								<image :src="wz.LogoImg" class="wzLeftIMg"></image>
+							</view>
+							<view class="wzLineRight">
+								<view class="wzTitle2">{{wz.Title}}</view>
+								<view class="wzComment">{{wz.Comment}}</view>
+							</view>
+						</view>
+					</view>
+					<view class="nodata" v-show="list.length==0&&sstype">
+						<image src="../../static/pcimg/pic_empty_search@2x.png" mode="" class="nodataImg"></image>
+						<view class="nodataTitle">暂无数据</view>
+					</view>
+				</view>
+				
+				
+			</view>
+			
+		</view>
+		
+		<!-- -->
+		<view class="pageView" v-show="TotalSize">
+			<page-pagination :pageSize="pageSize" :size="'small'" :total="TotalSize" :numAround="true" @change="pageChange"></page-pagination>
+		</view>
+		<!-- <view>
+			<a class="table-btn" href="http://phone.66km.cn:8088/marketing/training/940C4BF0A2E04542A1A1AD244EAFB6E2.xlsx" target='_blank'>下载入口</a>
+		</view> -->
+		
+		
+		
+	</view>
+</template>
+
+<script>
+	import pcNav from '../../components/pcNav/pcNav.vue'
+	export default {
+		components: {
+			pcNav,
+		},
+		data() {
+			return {
+				list:[],
+				title:'',
+				page:1,
+				sstype:false,
+				TotalSize:0,
+				pageSize:20,
+				sstitle:'',
+			}
+		},
+		onLoad(opt) {
+          
+		  // this.getcategoryPageData()
+		},
+		methods: {
+			search(){
+				var params={
+					title:this.title,
+					limit:this.pageSize,
+					page:this.page,
+				}
+				uni.showLoading({
+					title: '加载中'
+				})
+				this.$http('/trainingOpenApiV2/searchPageData', params, 'GET').then(res => {
+					this.sstitle=this.title;
+					this.sstype=true;
+					uni.hideLoading();
+					this.list=res.data.Items;
+					this.TotalSize=res.data.TotalSize;
+					
+					
+				})
+			},
+			goDetail(wz){
+				// 1分类2文章
+				if (wz.Type == 1) {
+					/* uni.navigateTo({
+						url:'groupingList?parentCode='+wz.Code+'&name='+wz.Name+'&title='+wz.Title+'&topName='
+					}) */
+					var item={
+						parentCode:wz.Code,
+						name:wz.Name,
+						title:wz.Title,
+						topName:'',
+					}
+					this.$emit("goDetail4",item)
+				}else{
+					var item={
+						id:wz.ID,
+						topName:'',twoName:''
+					}
+					this.$emit("goDetail",item)
+					/* uni.navigateTo({
+						url:'detail?id='+wz.ID+'&topName=&twoName='
+					}) */
+				}
+			
+			},
+			gotoTop(){
+				uni.pageScrollTo({ 
+				   scrollTop: 0, duration: 300 
+				}); 
+			},
+			tabBtn(index,item){
+				this.tabIndex=index;
+				//console.log(item)
+				this.parentCode=item.code;
+				this.getcategoryPageData()
+			},
+			pageChange(e){
+				console.log(e)
+				this.page=e;
+				this.getcategoryPageData()
+				
+			},
+			getcategoryPageData(){
+				var params={
+					parentCode:this.parentCode,
+					topCode:this.topCode,
+					limit:this.pageSize,
+					page:this.page,
+				}
+				uni.showLoading({
+					title: '加载中'
+				})
+				this.$http('/trainingOpenApiV2/categoryPageData', params, 'GET').then(res => {
+					uni.hideLoading();
+					this.list=res.data.Items;
+					this.TotalSize=res.data.TotalSize;
+					var arr=[
+						{
+							'name':'全部','code':'',
+						}	
+					]
+					this.dynamicCol=arr.concat(res.data.dynamicCol);
+					
+				})
+			}
+		}
+	}
+</script>
+
+<style scoped>
+	.content2{
+		background: #F4F5F7;
+		min-height: 100vh;
+		font-family: PingFangSC-Regular, PingFang SC;
+	}
+	.searchTitle{
+		font-size: 20px;
+		font-weight: 500;
+		color: #3C3C3C;
+		padding-bottom: 30px;
+	}
+	.ssjg{
+		font-size: 16px;
+		color: #666666;
+		padding-top: 20px;
+	}
+	.contBox{
+		min-height: 60vh;
+	}
+	.searchInput{
+		width: 520px;
+		height: 40px;
+		padding-left: 20px;
+		line-height: 40px;
+		border: 2px solid #EEEEEE;
+		border-radius: 6px;
+		border-right: none;
+		background: #FFFFFF;
+	}
+	.searchBtn{
+		width: 72px;
+		height: 42px;
+		background: #FF4F00;
+		border-radius: 0px 6px 6px 0px;
+		line-height: 42px;
+		color: #FFFFFF;
+		font-size: 16px;
+		text-align: center;
+		cursor: pointer;
+		margin-left: -5px;
+	}
+	.searchBox{
+		display: flex;
+		justify-content: center;
+		padding-top: 20px;
+	}
+	*{
+		padding: 0;
+		margin: 0;
+	}
+	.gotopImg{
+		width: 60px;
+		height: 60px;
+	}
+	.gotop{
+		position: fixed;
+		right:5vh ;
+		bottom: 60px;
+		cursor: pointer;
+	}
+	.topName{
+		text-align: center;
+		font-size: 24px;
+		font-weight: 500;
+		color: #3C3C3C;
+		line-height: 33px;
+		padding-top: 30px;
+	}
+	.comment{
+		text-align: center;
+		font-size: 14px;
+		font-weight: 400;
+		color: #999999;
+		line-height: 20px;
+		width: 500px;
+		padding-top: 10px;
+		margin: 0 auto;
+	}
+	
+	.main{
+		width: 1200px;
+		margin: 0 auto;
+		padding-top: 30px;
+	}
+	.dynamicColLeft{
+		display: flex;
+	}
+	.dynamicColLIne{
+		padding-right: 44px;
+		font-size: 16px;
+		color: #3C3C3C;
+		cursor: pointer;
+	}
+	.qhImg{
+		width: 28px;
+		height: 28px;
+		margin-left: 8px;
+		cursor: pointer;
+	}
+	.dynamicCol{
+		display: flex;
+		justify-content: space-between;
+	}
+	.activeTab{
+		color: #FF4F00;
+	}
+	.mainwzImg{
+		width: 276px;
+		height: 184px;
+	}
+	.mainwzImgBox{
+		border-radius: 15px;
+	    overflow: hidden;
+	}
+	.contf{
+		display: flex;
+		flex-wrap: wrap;
+	}
+	.contL{
+		background: #FFFFFF;
+		padding:0px 20px;
+		margin-top: 30px;
+		border-radius: 8px;
+	}
+	.mainwzline{
+		width: 276px;
+		height: 260px;
+		background: #FFFFFF;
+		margin-right: 32px;	
+		padding-top: 33px;
+		cursor: pointer;
+	}
+	.mainwzlineR{
+	  margin-right: 0px;	
+	}
+	.wztitle{
+		width: 250px;
+		font-size: 16px;
+		color: #333333;
+		line-height: 22px;
+		height: 44px;
+		text-overflow: -o-ellipsis-lastline;
+		 overflow: hidden;
+		 text-overflow: ellipsis;
+		 display: -webkit-box;
+		 -webkit-line-clamp: 2;
+		 line-clamp: 2;
+		 -webkit-box-orient: vertical;
+		 padding-top: 16px;
+		 padding:0 13px ;
+	}
+	.wzLeftIMg{
+		width: 200px;
+		height: 132px;
+	}
+	.wxLine{
+		display: flex;
+		padding: 20px 0;
+		cursor: pointer;
+		border-bottom: 1px solid #EEEEEE;
+		
+	}
+	.wzLineLeft{
+		border-radius: 6px;
+		overflow: hidden;
+		width: 200px;
+		height: 132px;
+	}
+	.wzLineRight{
+		padding-left: 16px;
+		width: 788px;
+	}
+	.wzTitle2{
+		font-size: 16px;
+		color: #3C3C3C;
+		width: 948px;
+		height: 20px;
+		line-height: 20px;
+		text-overflow: -o-ellipsis-lastline;
+		 overflow: hidden;
+		 text-overflow: ellipsis;
+		 display: -webkit-box;
+		 -webkit-line-clamp: 1;
+		 line-clamp: 1;
+		 -webkit-box-orient: vertical;
+	}
+	.wzComment{
+		font-size: 14px;
+		font-family: PingFangSC-Regular, PingFang SC;
+		font-weight: 400;
+		color: #999999;
+		line-height: 20px;
+		padding-top: 10px;
+		width: 948px;
+		height: 80px;
+		text-overflow: -o-ellipsis-lastline;
+		 overflow: hidden;
+		 text-overflow: ellipsis;
+		 display: -webkit-box;
+		 -webkit-line-clamp: 4;
+		 line-clamp: 4;
+		 -webkit-box-orient: vertical;
+	}
+	.pageView{
+		margin-top: 20px;
+		cursor: pointer;
+		padding-bottom: 20px;
+	}
+	.nodataImg{
+		width: 300px;
+		height: 203px;
+	}
+	.nodata{
+		text-align: center;
+		padding-top: 100px;
+	}
+	.nodataTitle{
+		font-size: 16px;
+		padding-top: 16px;
+		font-weight: 400;
+		color: #999999;
+	}
+	
+</style>

+ 380 - 0
pages/pcLh/searchlist.vue

@@ -0,0 +1,380 @@
+<template>
+	<view class="content">
+		<pcNav></pcNav>
+		<view style="height: 72px;"></view>
+	
+		
+		<view class="gotop" @click="gotoTop">
+			<image src="../../static/pcimg/btn_top@2x.png" mode="" class="gotopImg"></image>
+		</view>
+		
+		<view class="main">
+			<view class="searchBox">
+				<view class="searchInputBox">
+					<input class="searchInput" type="text" v-model="title" placeholder="请输入您想搜索到内容~" placeholder-style="color:#CCCCCC" @confirm="search"/>
+				</view>
+				<view class="searchBtn" @click="search">查询</view>
+				<!-- <image src="../../static/pcimg/icon_sousuo@2x.png" mode="" class="searchBtn" @click="search"></image> -->
+				
+			</view>
+			<view class="ssjg" v-if="sstype">为你找到“{{sstitle}}”相关结果共{{TotalSize}}条</view>
+			<view class="cont2">
+				<view class="contBox">
+					<view class="contL" v-show="list.length!=0&&sstype">
+						<view class="wxLine" v-for="(wz,wzindex) in list" @click="goDetail(wz)">
+							<view class="wzLineLeft">
+								<image :src="wz.LogoImg" class="wzLeftIMg"></image>
+							</view>
+							<view class="wzLineRight">
+								<view class="wzTitle2">{{wz.Title}}</view>
+								<view class="wzComment">{{wz.Comment}}</view>
+							</view>
+						</view>
+					</view>
+					<view class="nodata" v-show="list.length==0&&sstype">
+						<image src="../../static/pcimg/pic_empty_search@2x.png" mode="" class="nodataImg"></image>
+						<view class="nodataTitle">暂无数据</view>
+					</view>
+				</view>
+				
+				
+			</view>
+			
+		</view>
+		
+		<!-- -->
+		<view class="pageView" v-show="TotalSize">
+			<page-pagination :pageSize="pageSize" :size="'small'" :total="TotalSize" :numAround="true" @change="pageChange"></page-pagination>
+		</view>
+		<!-- <view>
+			<a class="table-btn" href="http://phone.66km.cn:8088/marketing/training/940C4BF0A2E04542A1A1AD244EAFB6E2.xlsx" target='_blank'>下载入口</a>
+		</view> -->
+		
+		
+		
+	</view>
+</template>
+
+<script>
+	import pcNav from '../../components/pcNav/pcNav.vue'
+	export default {
+		components: {
+			pcNav,
+		},
+		data() {
+			return {
+				list:[],
+				title:'',
+				page:1,
+				sstype:false,
+				TotalSize:0,
+				pageSize:20,
+				sstitle:'',
+			}
+		},
+		onLoad(opt) {
+          
+		  // this.getcategoryPageData()
+		},
+		methods: {
+			search(){
+				var params={
+					title:this.title,
+					limit:this.pageSize,
+					page:this.page,
+				}
+				uni.showLoading({
+					title: '加载中'
+				})
+				this.$http('/trainingOpenApiV2/searchPageData', params, 'GET').then(res => {
+					this.sstitle=this.title;
+					this.sstype=true;
+					uni.hideLoading();
+					this.list=res.data.Items;
+					this.TotalSize=res.data.TotalSize;
+					
+					
+				})
+			},
+			goDetail(wz){
+				// 1分类2文章
+				if (wz.Type == 1) {
+					uni.navigateTo({
+						url:'groupingList?parentCode='+wz.Code+'&name='+wz.Name+'&title='+wz.Title+'&topName='
+					})
+				}else{
+					uni.navigateTo({
+						url:'detail?id='+wz.ID+'&topName=&twoName='
+					})
+				}
+				//console.log(wz)
+			},
+			gotoTop(){
+				uni.pageScrollTo({ 
+				   scrollTop: 0, duration: 300 
+				}); 
+			},
+			tabBtn(index,item){
+				this.tabIndex=index;
+				//console.log(item)
+				this.parentCode=item.code;
+				this.getcategoryPageData()
+			},
+			pageChange(e){
+				console.log(e)
+				this.page=e;
+				this.getcategoryPageData()
+				
+			},
+			getcategoryPageData(){
+				var params={
+					parentCode:this.parentCode,
+					topCode:this.topCode,
+					limit:this.pageSize,
+					page:this.page,
+				}
+				uni.showLoading({
+					title: '加载中'
+				})
+				this.$http('/trainingOpenApiV2/categoryPageData', params, 'GET').then(res => {
+					uni.hideLoading();
+					this.list=res.data.Items;
+					this.TotalSize=res.data.TotalSize;
+					var arr=[
+						{
+							'name':'全部','code':'',
+						}	
+					]
+					this.dynamicCol=arr.concat(res.data.dynamicCol);
+					
+				})
+			}
+		}
+	}
+</script>
+
+<style scoped>
+	.content{
+		background: #F4F5F7;
+		min-height: 100vh;
+		font-family: PingFangSC-Regular, PingFang SC;
+	}
+	.searchTitle{
+		font-size: 20px;
+		font-weight: 500;
+		color: #3C3C3C;
+		padding-bottom: 30px;
+	}
+	.ssjg{
+		font-size: 16px;
+		color: #666666;
+		padding-top: 20px;
+	}
+	.contBox{
+		min-height: 60vh;
+	}
+	.searchInput{
+		width: 520px;
+		height: 40px;
+		padding-left: 20px;
+		line-height: 40px;
+		border: 2px solid #EEEEEE;
+		border-radius: 6px;
+		border-right: none;
+		background: #FFFFFF;
+	}
+	.searchBtn{
+		width: 72px;
+		height: 42px;
+		background: #FF4F00;
+		border-radius: 0px 6px 6px 0px;
+		line-height: 42px;
+		color: #FFFFFF;
+		font-size: 16px;
+		text-align: center;
+		cursor: pointer;
+		margin-left: -5px;
+	}
+	.searchBox{
+		display: flex;
+		justify-content: center;
+		padding-top: 20px;
+	}
+	*{
+		padding: 0;
+		margin: 0;
+	}
+	.gotopImg{
+		width: 60px;
+		height: 60px;
+	}
+	.gotop{
+		position: fixed;
+		right:5vh ;
+		bottom: 60px;
+		cursor: pointer;
+	}
+	.topName{
+		text-align: center;
+		font-size: 24px;
+		font-weight: 500;
+		color: #3C3C3C;
+		line-height: 33px;
+		padding-top: 30px;
+	}
+	.comment{
+		text-align: center;
+		font-size: 14px;
+		font-weight: 400;
+		color: #999999;
+		line-height: 20px;
+		width: 500px;
+		padding-top: 10px;
+		margin: 0 auto;
+	}
+	
+	.main{
+		width: 1200px;
+		margin: 0 auto;
+		padding-top: 30px;
+	}
+	.dynamicColLeft{
+		display: flex;
+	}
+	.dynamicColLIne{
+		padding-right: 44px;
+		font-size: 16px;
+		color: #3C3C3C;
+		cursor: pointer;
+	}
+	.qhImg{
+		width: 28px;
+		height: 28px;
+		margin-left: 8px;
+		cursor: pointer;
+	}
+	.dynamicCol{
+		display: flex;
+		justify-content: space-between;
+	}
+	.activeTab{
+		color: #FF4F00;
+	}
+	.mainwzImg{
+		width: 276px;
+		height: 184px;
+	}
+	.mainwzImgBox{
+		border-radius: 15px;
+	    overflow: hidden;
+	}
+	.contf{
+		display: flex;
+		flex-wrap: wrap;
+	}
+	.contL{
+		background: #FFFFFF;
+		padding:0px 20px;
+		margin-top: 30px;
+		border-radius: 8px;
+	}
+	.mainwzline{
+		width: 276px;
+		height: 260px;
+		background: #FFFFFF;
+		margin-right: 32px;	
+		padding-top: 33px;
+		cursor: pointer;
+	}
+	.mainwzlineR{
+	  margin-right: 0px;	
+	}
+	.wztitle{
+		width: 250px;
+		font-size: 16px;
+		color: #333333;
+		line-height: 22px;
+		height: 44px;
+		text-overflow: -o-ellipsis-lastline;
+		 overflow: hidden;
+		 text-overflow: ellipsis;
+		 display: -webkit-box;
+		 -webkit-line-clamp: 2;
+		 line-clamp: 2;
+		 -webkit-box-orient: vertical;
+		 padding-top: 16px;
+		 padding:0 13px ;
+	}
+	.wzLeftIMg{
+		width: 200px;
+		height: 132px;
+	}
+	.wxLine{
+		display: flex;
+		padding: 20px 0;
+		cursor: pointer;
+		border-bottom: 1px solid #EEEEEE;
+		
+	}
+	.wzLineLeft{
+		border-radius: 6px;
+		overflow: hidden;
+		width: 200px;
+		height: 132px;
+	}
+	.wzLineRight{
+		padding-left: 16px;
+		width: 788px;
+	}
+	.wzTitle2{
+		font-size: 16px;
+		color: #3C3C3C;
+		width: 948px;
+		height: 20px;
+		line-height: 20px;
+		text-overflow: -o-ellipsis-lastline;
+		 overflow: hidden;
+		 text-overflow: ellipsis;
+		 display: -webkit-box;
+		 -webkit-line-clamp: 1;
+		 line-clamp: 1;
+		 -webkit-box-orient: vertical;
+	}
+	.wzComment{
+		font-size: 14px;
+		font-family: PingFangSC-Regular, PingFang SC;
+		font-weight: 400;
+		color: #999999;
+		line-height: 20px;
+		padding-top: 10px;
+		width: 948px;
+		height: 80px;
+		text-overflow: -o-ellipsis-lastline;
+		 overflow: hidden;
+		 text-overflow: ellipsis;
+		 display: -webkit-box;
+		 -webkit-line-clamp: 4;
+		 line-clamp: 4;
+		 -webkit-box-orient: vertical;
+	}
+	.pageView{
+		margin-top: 20px;
+		cursor: pointer;
+		padding-bottom: 20px;
+	}
+	.nodataImg{
+		width: 300px;
+		height: 203px;
+	}
+	.nodata{
+		text-align: center;
+		padding-top: 100px;
+	}
+	.nodataTitle{
+		font-size: 16px;
+		padding-top: 16px;
+		font-weight: 400;
+		color: #999999;
+	}
+	
+</style>