You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							181 lines
						
					
					
						
							4.7 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							181 lines
						
					
					
						
							4.7 KiB
						
					
					
				
								<template>
							 | 
						|
									<view style="height: 100%;">
							 | 
						|
										<lf-nav title="分类"></lf-nav>
							 | 
						|
										<view id="classification" style="height: 100%;">
							 | 
						|
											<view :class="classData.type == 'upper_lower' ? '' : 'hiddens'" style="height: 100%;">
							 | 
						|
												<view v-if="init && classData.type == 'upper_lower'">
							 | 
						|
													<view class="class__banner" v-if="classData.CategoryListAd && classData.CategoryListAd.length">
							 | 
						|
														<swiper :style="{height:imgHeight+'px'}" indicator-dots="true" autoplay="true" circular="true">
							 | 
						|
															<swiper-item v-for="(item,index) in classData.CategoryListAd" :key="index">
							 | 
						|
																<image mode="widthFix" @load="imgLoad" :src="item.image" :data-url="item.link" @tap="jumpItem"></image>
							 | 
						|
															</swiper-item>
							 | 
						|
														</swiper>
							 | 
						|
													</view>
							 | 
						|
													<view class="class__item_box">
							 | 
						|
														<view class="class__item" v-for="(item,index) in classData.CategoryList" :key="index">
							 | 
						|
															<view class="img_item" :data-url="item.link" @tap="jumpItem">
							 | 
						|
																<image :src="item.image"></image>
							 | 
						|
																<view class="img_text">
							 | 
						|
																	<view class="text_top">
							 | 
						|
																		<view class="text_line"></view>
							 | 
						|
																		<view class="text_content">
							 | 
						|
																			{{item.name}}
							 | 
						|
																		</view>
							 | 
						|
																		<view class="text_line"></view>
							 | 
						|
																	</view>
							 | 
						|
								
							 | 
						|
																	<view class="text_btn">
							 | 
						|
																		查看全部
							 | 
						|
																	</view>
							 | 
						|
																</view>
							 | 
						|
															</view>
							 | 
						|
															<view class="class__tag">
							 | 
						|
																<view class="tag__item" v-for="(items,idx) in item.items" :key="idx">
							 | 
						|
																	<view class="tag_flex" :data-url="items.link" @tap="jumpItem">
							 | 
						|
																		<view class="tag_img">
							 | 
						|
																			<image :src="items.image"></image>
							 | 
						|
																		</view>
							 | 
						|
																		<view class="tag_text">
							 | 
						|
																			{{items.name}}
							 | 
						|
																		</view>
							 | 
						|
																	</view>
							 | 
						|
																</view>
							 | 
						|
															</view>
							 | 
						|
														</view>
							 | 
						|
													</view>
							 | 
						|
												</view>
							 | 
						|
								
							 | 
						|
												<view v-if="init && classData.type == 'left_right'" style="height: 100%;">
							 | 
						|
													<view class="classifical" style="height: 100%;">
							 | 
						|
														<view class="left-menu">
							 | 
						|
															<view class="item" :class="activeIndex == key ? 'active' : ''" v-for="(i,key) in classData.CategoryList" :key="key"
							 | 
						|
															 @tap="change" :data-index="key">{{i.name}}</view>
							 | 
						|
														</view>
							 | 
						|
														<view class="right-content" style="height: 100%;">
							 | 
						|
															<view class="title" @tap="jumpItem" :data-url="classData.CategoryList[activeIndex].link">
							 | 
						|
																<span>{{classData.CategoryList[activeIndex].name}}</span>
							 | 
						|
																<span class="iconfont icon--xiangyoujiantou"></span>
							 | 
						|
															</view>
							 | 
						|
															<view v-for="(item,index) in classData.CategoryList" :key="index" v-show="activeIndex == index">
							 | 
						|
																<view class="list">
							 | 
						|
																	<view class="list-item" v-for="(list,idx) in item.items" :key="idx" @tap="jumpItem" :data-url="list.link">
							 | 
						|
																		<view class="photo">
							 | 
						|
																			<image :src="list.image" mode="widthFix"></image>
							 | 
						|
																		</view>
							 | 
						|
																		<view class="txt">{{list.name}}</view>
							 | 
						|
																	</view>
							 | 
						|
																</view>
							 | 
						|
															</view>
							 | 
						|
														</view>
							 | 
						|
													</view>
							 | 
						|
								
							 | 
						|
												</view>
							 | 
						|
											</view>
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								
							 | 
						|
										</view>
							 | 
						|
								
							 | 
						|
										<lf-tabbar></lf-tabbar>
							 | 
						|
									</view>
							 | 
						|
								
							 | 
						|
								</template>
							 | 
						|
								<script>
							 | 
						|
									import {
							 | 
						|
										pageLogin,
							 | 
						|
										getUrl,
							 | 
						|
										config
							 | 
						|
									} from '@/common/js/utils.js';
							 | 
						|
									import lfNav from '@/components/lf-nav/lf-nav.vue';
							 | 
						|
									import lfTabbar from '@/components/lf-tabbar/lf-tabbar.vue';
							 | 
						|
								
							 | 
						|
									export default {
							 | 
						|
										components: {
							 | 
						|
											lfNav,
							 | 
						|
											lfTabbar
							 | 
						|
										},
							 | 
						|
										data() {
							 | 
						|
											return {
							 | 
						|
												classData: '',
							 | 
						|
												screenWidth: '',
							 | 
						|
												activeIndex: 0,
							 | 
						|
												init: false,
							 | 
						|
												imgHeight:''
							 | 
						|
											};
							 | 
						|
										},
							 | 
						|
								
							 | 
						|
										onLoad() {
							 | 
						|
											this.classificationList();
							 | 
						|
											wx.getSystemInfo({
							 | 
						|
												success: res => {
							 | 
						|
													this.screenWidth = res.screenWidth;
							 | 
						|
								
							 | 
						|
												}
							 | 
						|
											});
							 | 
						|
										},
							 | 
						|
										methods: {
							 | 
						|
											//切换menu
							 | 
						|
											change(e) {
							 | 
						|
												var activeIndex = e.currentTarget.dataset.index;
							 | 
						|
												this.activeIndex = activeIndex;
							 | 
						|
											},
							 | 
						|
								
							 | 
						|
											jumpItem(e) {
							 | 
						|
												var url = e.currentTarget.dataset.url;
							 | 
						|
												wx.navigateTo({
							 | 
						|
													url: url
							 | 
						|
												});
							 | 
						|
											},
							 | 
						|
								
							 | 
						|
											imgLoad(e) {
							 | 
						|
												var height = e.detail.height;
							 | 
						|
												var width = e.detail.width;
							 | 
						|
												var ratio = width / height;
							 | 
						|
												var screenWidth = this.screenWidth;
							 | 
						|
												this.imgHeight = screenWidth / ratio;
							 | 
						|
											},
							 | 
						|
								
							 | 
						|
											classificationList() {
							 | 
						|
												wx.showLoading({
							 | 
						|
													title: '加载中',
							 | 
						|
													mask: true
							 | 
						|
												});
							 | 
						|
												this.$http.get({
							 | 
						|
													api: 'api/home/getHomeCategoryList'
							 | 
						|
												}).then(res => {
							 | 
						|
													if (res.statusCode == 200) {
							 | 
						|
														res = res.data;
							 | 
						|
														if (res.status) {
							 | 
						|
															this.init = true;
							 | 
						|
															this.classData = res.data;
							 | 
						|
														} else {
							 | 
						|
															wx.showModal({
							 | 
						|
																content: '请求失败',
							 | 
						|
																showCancel: false
							 | 
						|
															});
							 | 
						|
														}
							 | 
						|
													} else {
							 | 
						|
														wx.showModal({
							 | 
						|
															content: '请求失败',
							 | 
						|
															showCancel: false
							 | 
						|
														});
							 | 
						|
													}
							 | 
						|
								
							 | 
						|
													wx.hideLoading();
							 | 
						|
												}, err => {
							 | 
						|
													wx.showModal({
							 | 
						|
														content: '请求失败',
							 | 
						|
														showCancel: false
							 | 
						|
													});
							 | 
						|
													wx.hideLoading();
							 | 
						|
												});
							 | 
						|
											},
							 | 
						|
								
							 | 
						|
								
							 | 
						|
										},
							 | 
						|
									};
							 | 
						|
								</script>
							 | 
						|
								<style rel="stylesheet/less" lang="less">
							 | 
						|
									@import "classification";
							 | 
						|
								</style>
							 |