<template>
	<view>
		<!-- 公共组件-每个页面必须引入 -->
		<public-module></public-module>
		<z-nav-bar title="班级列表">
		</z-nav-bar>	
		<view style="padding: 20rpx; background-color: #fff; border-bottom: 1px solid #eee;">当前课程：{{courseTitle}}</view>
		<view class="tabsBox" :class="[fixed ? 'fixed' : '' ]">
			<u-tabs v-if="tabList.length > 0" :class="['tabList']" @click="fatherClick" :current="curTagId"
				:activeStyle="activeStyle" :scrollable="scrollable" :list="tabList"
				itemStyle="padding-left: 15px; background-color:#fff;  padding-right: 15px; height: 50px;"></u-tabs>
		</view>
		<view class="containerBg">
			<view class="subCate flex" v-if="subList.length> 0">
				<text :class="['item',subTabId == item.id ? 'active' : '']" v-for="(item, index) in subList"
					@click="curseClick(item)" :key="index">{{item.title}}</text>
			</view>
			<view class="learnBox box">				
				<view class="newBox">
					<view class="item flexbox" v-for="(item, index) in courseList" :key="index" >
						<!-- <view class="imgcontainer" :style="{backgroundImage:surl(item.image)}"> -->
						<view class="imgcontainer" v-if="item.icon != ''">
							<image :src="item.icon" mode="aspectFit"></image>
						</view>
						<view class="imgcontainer defaultImg" v-else>
							<image src="@/static/my_04.png" mode="aspectFit"></image>
						</view>
						<view class="buyItems">
							<view class="txt555" @click="onPageJump('/pages/miniClass/classInfo',item.id)">
								{{item.title}}
							</view>
							<view class="jianjie">
								目标学员人数：{{item.number}} 人
							</view>
							<!-- <view class="jianjie" v-html="item.content">
							</view> -->							
							<view class="btn_box" >
								<text @click="enterClass" v-show="item.state == '0'">一键加入</text>  
								<text class="seeInfo" @click="onPageJump('/pages/miniClass/classInfo',item.id)">查看班内情况</text>
							</view>
						</view>						
					</view>
				</view>
				<!-- <u-divider v-show="status == 2" text="已加载全部"></u-divider>
				<u-divider v-show="status == 3" text="暂无数据"></u-divider>
				<u-divider v-show="status == 1" text="加载中..."></u-divider> -->
			</view>
			<view>
				<!-- <u-back-top scroll-top="100"></u-back-top> -->
				<u-back-top :scroll-top="scrollTop" bottom="150" :customStyle='bgiStyle'
					:iconStyle="iconStyle"></u-back-top>
			</view>			
			<z-navigation></z-navigation>			
			<!-- <music-play :playData="playData"></music-play> -->
		</view>
	</view>
</template>

<script>
	import musicPlay from '@/components/music.vue'
	import $http from '@/config/requestConfig.js';
	var clear;
	import {
		mapState
	} from 'vuex';
	export default {
		data() {
			return {
				playData: {},
				addType:undefined,  // 小班类型
				range:[
					{ value: '0', text: "普通小班",name:"普通小班"},
					{ value: '1', text: "联合班" ,name:"普通小班"},
					{ value: '2', text: "精英班" ,name:"普通小班"},
				],
				tagId: null,
				pid:null,
				fixed: false,
				pupShow:false,
				fatherTabId: null,
				subTabId: null, //
				bgiStyle: {
					background: '#fff'
				},
				iconStyle: {
					fontSize: '40rpx',
					fontWeight: 'bold',
					color: '#258feb',
				},
				scrollTop: 0,
				activeStyle: {
					color: '#000',
					fontWeight: 'bold',
					transform: 'scale(1.2)',
					// backgroundColor: '#258feb'

				},
				courseTitle:'',
				subList: [{title:'待开班',id:'0'},{title:'已开班',id:'1'},{title:'已结班',id:'2'}],
				scrollable: false,
				pageTitle: '',
				tabList: [
					{name:'普通小班', id:'0'},{name:'联合班', id:'1'},{name:'精英班',id:'2'}],
				curTagId: 0,
				courseList: [],
				status: 3, // 0 不显示, 1 加载中，2 加载全部完成，3 暂无数据
				page: 1,
				flag: true, // 函数是否执行完
				
			};
		},
		//第一次加载
		onLoad(e) {
			// 隐藏原生的tabbar
			uni.hideTabBar();
			this.courseTitle = e.courseTitle
			// this.tagId = e.id			
			this.curTagId = this.range[0].value
			this.subTabId = this.subList[0].id
			this.pageTitle = e.title
			this.pid = e.pid
			console.log(e, '传入分类id')
			this.getData()
			// this.getCateList(this.tagId)
		},
		onPageScroll(e) {
			this.scrollTop = e.scrollTop;
			if (this.scrollTop > 500) {
				this.fixed = true
			} else {
				this.fixed = false
			}
			// console.log(this.scrollTop,'this.scrollTop')
		},
		onPullDownRefresh() {
			console.log('下拉刷新')
			// this.status = 3
			// this.page = 1
			this.courseList = []
			this.getData()
			uni.stopPullDownRefresh()
		},
		onReachBottom() {
			// if (this.status != 2 && this.flag) {
			// 	this.page++
			// 	this.getData(this.subTabId)
			// }
			console.log('触底加载', this.page)
		},
		computed: {
			...mapState(['userInfo'])
		},
		//页面显示
		onShow() {
			// 隐藏原生的tabbar
			// uni.hideTabBar();
		},
		components: {
			musicPlay
		},
		//方法
		methods: {
			// 加入班级
			enterClass(){
				
			},
			selectChange(e){
				console.log("e:", e);
			},
			closePup(){
				this.pupShow = false
			},
			surl(imageurl) {
				return `url(${imageurl})`
			},
			goCreateClass(){
				console.log('this.addType',this.addType);
				if(this.addType != undefined){
					uni.navigateTo({
						url:`/pages/miniClass/addClass?type=${this.addType}&name=add`
					})
				}else{
					uni.showToast({
						title:'请选择班级的类型',
						icon:'none'
					})
					return
				}
			},			
			fatherClick(e) {
				console.log('点击', e)
				this.page = 1
				// var item = e
				this.curTagId = e.id
				this.subTabId = this.subList[0].id				
				this.getData(this.subTabId);
			},
			curseClick(item) {
				this.subTabId = item.id
				this.courseList = []
				this.page = 1
				this.getData(this.subTabId);
			},
			getData(id) {
				// if (!this.flag) {
				// 	console.log('正在执行，未完成')
				// 	return
				// }
				
				this.status = 1
				this.flag = false
				uni.showLoading({
					title:'正在加载'
				})
				$http.request({
						url: "common/class/getClassByDirectorid",
						method: "POST", // POST、GET、PUT、DELETE，具体说明查看官方文档
						data: {
							"state": this.subTabId, //小班状态0待开班1已开班2完成
							"type": this.curTagId  // 班类型 0小班 1联合班 2精英班
						},
						header: { //默认 无 说明：请求头
							'Content-Type': 'application/json'
						},
					})
					.then(res => {
						if (res.code == 0) {
							if (res.classEntityList.length > 0) {
								this.courseList = res.classEntityList								
								// var list = res.classEntityList
								// this.courseList = this.courseList.concat(list)
								// if (res.courses.pages > this.page) {
								// 	this.status = 0
								// } else {
								// 	this.status = 2
								// }
							}else{
								this.courseList = []
							} 
							// else if (this.page > 1) {
							// 	this.status = 2 // 加载完成

							// } else {
							// 	this.status = 3 // 暂无数据
							// }
							// console.log('status', this.status)
							this.flag = true
						}
						uni.hideLoading()
					}).catch(e => {
						uni.hideLoading()
						this.flag = true
						console.log(e, '数据报错')
						// this.status = 3
						uni.showToast({
							title:`获取数据失败`,
							icon:'error'
						})
					});
			},
			// 跳转
			onPageJump(url,id) {
				// console.log('进来了',url,id);				
				uni.navigateTo({
					url: `${url}?id=${id}`
				});
			},
			
			shuomingPage(url,id,pid){
				uni.navigateTo({
					url: `${url}?id=${id}&pid=${pid}`
				});
			}
		},
	};
</script>
<style lang="scss" scoped>
	@import '@/style/mixin.scss';
	/deep/.uni-select__selector{
			top:unset;
			bottom:calc(100% + 12px) ;
		}
		/deep/.uni-select{
			border: none;
		}
		/deep/.uni-select__input-text{
			font-size:14px;
			color:#7f7f7f //修改为你的字体颜色
		}
		/deep/.uni-select__input-placeholder{
			font-size:14px;
			color:#7f7f7f //修改为你的字体颜色
		}
		/deep/.uni-popper__arrow{
			top:unset;
			bottom: -6px;
			transform: rotate(180deg);
		}
		/deep/.uni-popper__arrow::after{
			top:0
		}	
	.box6{
		.btnBox{justify-content: center;}
	}
	.containerBg {
		// background-color: $containerColor;
		background-color: #f6f6f8;
		padding: 0 20rpx;

	}
	.curseSet{margin-right: 20rpx; font-size: 28rpx; display: flex; align-items: center;}
	.fixed {
		position: fixed;
		z-index: 1; width: 100%; background-color: #fff;
	}

	.newBox {

		.item {
			margin-bottom: 20rpx;
			background-color: #fff;
			border-radius: 20rpx;
			@include ptop_bottm(10px);
			@include pleft_right(10px);

			@include mshadow(10px, 1) .imgcontainer {
				display: block;
				width: 110rpx;
				margin-right: 20rpx;
				// background-size: cover;
				// background-position: center;
				height: 200rpx;
				flex-grow: 1;
				// @include ptop_bottm(10px);
				overflow: hidden;

				// @include pleft_right(10px);
				image {
					width: 100%;
					height: 200rpx;
				}
			}
			.btn_box{ text-align: right;
				text{
					border-radius: 20rpx;
					padding: 3px 5px;  @include theme("btn_bg");
					font-size: 28rpx; color: #fff;
				}
				.seeInfo{background-color:#fff; background-image: none; border: 1px solid #666; color: #333; margin-left: 20rpx;}
			}
			.buyItems {
				width: 60%;
			}

			.jianjie {
				line-height: 30rpx; height: 60rpx; overflow: hidden; 
				overflow: hidden!important;
				margin-top: 10rpx;
				font-size: 24rpx;
				@include bov();
				color: #9c9c9c;
			}

			.txt555 {
				font-size: 30rpx;
				color: #000;
				@include bov()
			}
		}
	}

	.subCate {
		padding-top:10px;
		padding-bottom: 10px;
		display: flex;
		.item {		
			border: 1px solid #bfcad9;
			display: inline-block;
			text-align: center;
			font-size: 26rpx;
			background-color: #fff;
			border-radius: 4px; width: 100%;
			color: #333;
			margin-right: 16rpx;
			padding: 14rpx 30rpx;
		}

		.item:last-child() {
			margin-right: 0;
		}

		.item.active {
			border-color: $themeColor;
			background-color: $themeColor;
			color: #fff;
		}
	}

	.tabList {
		text-align: center;
	}

	.flexbox {
		display: flex;
	}

	.imgcontainer {
		background-color: $imgBg;
	}
	
	.box {
		// background-color: #fff;		
		min-height: calc(100vh - 270rpx);
	}

	.learnBox {
		// background-color: #fff;
		margin-top: 10px;

		.learn {
			flex-wrap: wrap;
			justify-content: space-between;
			margin-top: 20rpx;

			.item {
				width: 48%;
				margin-bottom: 16px;

				overflow: hidden;

				image {
					width: 100%;
					height: 200rpx;
				}

				.txt555 {
					display: block;
					text-align: center;
					height: 40rpx;
					width: 100%;
					line-height: 40rpx;
					@include bov(1);
					margin-top: 10rpx;
					font-size: 24rpx;

				}

			}
		}
	}
</style>