| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237 | <template name="cate">	<view slot="links">	<view class="category">		<view class="category-wrapper" v-if="fetch.cate.length>0">			<!-- 左边导航 -->			<view scroll-y="true" class="left-wrapper" scroll-with-animation="true">				<view class="left-content">					<view class="title-content" :class="fetch.show[v.id] == 1?'onSelected':''" v-for="(v,k) in fetch.cate" :key="v.id" @click="choose(v.id)">{{v.name}}</view>				</view>			</view>			<!-- 右边内容 -->			<view scroll-y="true" class="right-wrapper" scroll-with-animation="true">				<view class="right-content">					<!-- banner区域 -->					<view class="banner-wrapper" v-if="swiperList.length > 0">						<swiper class="swiper-content" :autoplay="true" :interval="3000" :circular="true">							<swiper-item class="swiper-item" v-for="imgs in swiperList" :key="imgs.id">								<image class="swiper-img" :src="imgs.src"></image>							</swiper-item>						</swiper>					</view>					<!-- 产品区 -->					<view class="product-wrapper">						<view class="category-item" :id="'list'+v.id" v-for="(v,k) in fetch.child" :key="k" v-if="fetch.show[v.page_id] == 1">							<view class="category-title">{{v.name}}</view>							<view class="category-content" v-if="v.content">								<view class="product-item" v-for="(v1,k1) in v.content" :key="k1" @click="go(k1,v1.page_id,fetch.num)">									<image class="product-img" :src="v1.pic"></image>									<text class="product-title">{{v1.name}}</text>								</view>							</view>														<view class="category-content" v-if="!v.content">								敬请期待							</view>						</view>					</view>				</view>			</view>		</view>	</view>	</view></template><script>export default {	name: "cate",	props: {		content_id : {			type : String,			value : null		},		page_id : {			type : String,			value : null		},		width : {			type : String,			default : '100%'		},		param : {},		index : 0	},	data() {		return {			swiperList: [],			fetch : {},		}	},	created() {		this.fetch = this.param;	},	methods:{		getData : function() {			this.$emit('getCate');		},		getInfo : function(t) {			//触底刷新		},		choose : function(id) {			if (this.fetch.show[id] == 1) {				return;			}			for(var i in this.fetch.show) {				if (id == i) {					this.fetch.show[id] = 1;				} else {					this.fetch.show[i] = 2;				}			}		}, 		go : function(index, page_id, num) {			index = parseInt(index) + parseInt(num);			console.info(index);			if (this.page_id != page_id) {				var self = this;				this.Dever.post('app/collection/?l=api.getCodeByPage', {code:this.Dever.config.code,page_id:page_id,index:index}, function(t) {					self.Dever.location('dream/view?code=' + t.code + '&name=' + self.Dever.config.name);				})				//this.Dever.location('dream/view?id=' + this.info_id + '&page_id='+page_id+'&index=' + index);			} else {				this.$emit('goIndex', index);			}		},	},}</script><style lang="less">	.category-content {		margin-bottom: 20rpx;	}	.category {		.category-wrapper {			width: 100%;			display: flex;			flex-direction: row;			position: absolute;			top: 0;			bottom: 0;			left: 0;			.left-wrapper {				width: 200rpx;				flex: 0 0 200rpx;				/*background-color: #f6f6f6;*/				.left-content {					.title-content {						width: 100%;						height: 100rpx;						display: flex;						justify-content: center;						align-items: center;						font-size: 25rpx;						border-bottom: 1px solid #dedede;						cursor: pointer;						&:last-child {							border-bottom: 0;						}						&.onSelected {							background-color: #fff;							position: relative;							color: #feb436;							&::before {								content: '';								position: absolute;								left: 0;								top: 0;								width: 10rpx;								height: 100%;								background: linear-gradient(124deg, #feb436 0%, #fb7c22 100%);							}						}					}				}			}			.right-wrapper {				flex: 1;				.right-content {					width: 100%;					padding: 20rpx 0;					border-left: 1rpx solid #efefef;					box-sizing: border-box;					.banner-wrapper {						padding: 0 20rpx;						.swiper-content {							width: 100%;							height: 180rpx;							margin-bottom: 20rpx;							.swiper-item {								.swiper-img {									width: 100%;									height: 180rpx;								}							}						}					}					.product-wrapper {						.category-item {							.category-title {								height: 60rpx;								font-size: 26rpx;								line-height: 60rpx;								font-weight: 500;								background-color: #f6f6f6;								padding-left: 20rpx;								color: #000;							}							.category-content {								display: flex;								flex-direction: row;								flex-flow: wrap;								padding: 20rpx 20rpx 0;								.product-item {									width: 33%;									display: flex;									flex-direction: column;									justify-content: center;									align-items: center;									margin-bottom: 20rpx;									.product-img {										width: 120rpx;										height: 140rpx;										margin-bottom: 10rpx;									}									.product-title {										font-size: 23rpx;										height: 50rpx;									}								}							}						}					}				}			}		}	}</style>
 |