<template>
	<view class="view_template">
		<view class="view_body">
			<u-navbar :is-back="true" title='添加作业' title-color="#000" :border-bottom="false" :background="true" id="navbar">
			</u-navbar>
			<!-- 搜索 -->
			<view class="view_search" v-if="search">
				<u-search :show-action="false" :animation="true" bg-color="#fff" placeholder="搜索相关内容..." color="#3E97FF"></u-search>
			</view>
			<!--导航栏 -->
			<view class="view_tabs">
				<u-tabs :list="list" :is-scroll="false" :current="current" @change="change" active-color="#2D7CE6" bg-color="0"></u-tabs>
			</view>
			<!-- 轮播图 -->
			<swiper :interval="5000" :duration="1000" is-scroll="true" :current="current" @change="updateCurrent" class="swiper">
				<!-- 口语 -->
				<swiper-item style="height: 300rpx;">
					<view>
						<view class="view_left">
							<view class="view_left_pd" @click="arrow_xl">
								<view class="pull_down">
									<view>{{selectedOption}}</view>
									<u-icon name="arrow-down" size="22"></u-icon>
								</view>
								<view class="pull_Down" v-if="arrow">
									<view v-for="(item,index) in options" :key="index" @click="arrow_options(item.id)">{{item.name}}</view>
								</view>
							</view>
						</view>
						<!-- 口语主体 -->
						<view v-for="(item,index) in slander" :key="index">
							<view class="view_inuygs">
								<view class="header_part">
									<view class="unite">{{item.label}}</view>
								</view>
								<view class="bottom_one" v-if="part2">
											<view :class="{'active': item.active === '串题'}" @click="clicking(item, '串题')">串题</view>
									        <view :class="{'active': item.active === '跟读'}" @click="clicking(item, '跟读')">跟读</view>
									        <view :class="{'active': item.active === '模考'}" @click="clicking(item, '模考')">模考</view>
								</view>
							</view>
						
								<!-- part1-->
								<view class="slander_for"  v-if="grizzly">
									<view class="slander_of" v-for="(items,indexs) in item.list" :key='indexs'>
										<view class="textual">
											{{items.topicEn}}
										</view>
										<view class="bottom_one">
											<view :class="{'active': items.active === '串题'}" @click="clicking(items, '串题')">串题</view>
											<view :class="{'active': items.active === '跟读'}" @click="clicking(items, '跟读')">跟读</view>
											<view :class="{'active': items.active === '模考'}" @click="clicking(items, '模考')">模考</view>
										</view>
									</view>
								</view>
								<!-- part2-->
								<view class="slander_for" v-if="part2">
									<view class="slander_of" v-for="(items,indexs) in item.list" :key='indexs'>
										<view class="textual2">
											{{items.topicEn}}
										</view>
									</view>
								</view>
						</view>
					</view>
				</swiper-item>
				<!-- 写作 -->
				<swiper-item>
					
					<compose></compose>
				</swiper-item>
				<!--听力  -->
				<swiper-item>
					<audiology></audiology>
				</swiper-item>
				<!-- 阅读 -->
				<swiper-item>
					<reading></reading>
				</swiper-item>
			</swiper>
		</view>
		<!-- 底部按钮 -->
		<view :class="search== true ?  'footer2' : 'footer'">
			<view class="footer_button">
				<view :class="search==true  ? 'button_andadd' :'button_show'">确定添加（4）</view>
				<view class="footer_button_right" v-if="search">口语模考</view>
			</view>
		</view>
	</view>
	</view>
</template>

<script>
	import audiology from './components/audiology.vue'
	import reading from './components/reading.vue'
	import slander from './components/slander.vue'
	import compose from './components/compose.vue'
	export default {
		data() {
			return {
				// 导航栏
				list: [{
						name: '口语'
					},
					{
						name: '写作'
					},
					{
						name: '听力'
					},
					{
						name: '阅读'
					}
				],
				radio: [{
					name: '1',
					disabled: false
				}],
				// 写作
				Compose: [],
				num:0,
				// 下拉框的v-if布尔值
				radioValue: '',
				part1: true,
				current: 0,
				search: true,
				listType: [],
				idList: [],
				// 口语
				postdata: {
					"key": "",
					"pageNum": 0,
					"mode": "home",
					"part": "part1",
					"order": "0",
					"type": "",
					"isStudy": 0,
					"isFavorite": 0,
					"isEvlua": 0,
					"isFun": 0,
					"level": 0,
					"isNew": 0
				},
				slander: [],
				part2:false,
				grizzly:true,
				categorize: '分类',
				// 下拉框的v-if布尔值
				selectedOption: 'Part1',
				arrow: false,
				arrowDown: false,
				options: [{
						id: 1,
						name: 'Part1'
					},
					{
						id: 2,
						name: 'Part2'
					},
					{
						id: 3,
						name: 'Part3'
					}
				],
				userId:null
			}
		},
		components:{
			audiology,
			reading,
			compose
		},
		created() {
			this.getList()
		},
		methods: {
			upType(index, num) {
				this.listType.splice(index, 1, num)
			},
			change(index) {
				this.current = index;
			},
			// 选中某个单选框时，由radio时触发
			radioCheck(index) {
				if (this.radioValue == this.list2[index].id) {
					this.radioValue = null
				} else {
					this.radioValue = this.list2[index].id
				}
			},
			//轮播图滑动和tabs保持一致
			updateCurrent(current, source) {
				this.current = current.detail.current
				if (this.current == 0) {
					this.search = true
				} else {
					this.search = false
				}
			},
			getList() {
				this.$u.post('https://api.admin-v2.langsi.online/admin-api/speaking/topic/home/list', this.postdata).then(res => {
					let keyArr = Object.keys(res.data)
					let valueArr = Object.values(res.data)
					this.slander = keyArr.map((item, index) => {
						return {
							label: item,
							list: valueArr[index]
						}
					})
				})
			},
			//下拉显示下拉框
			arrow_xl() {
				this.arrow = !this.arrow
			},
			arrow_xl2() {
				this.arrowDown = !this.arrowDown
			},
			arrow_options(id) {
				this.options.forEach(item => {
					if (item.id == id) {
						this.selectedOption = item.name
			
					} else if (id == 2) {
						this.postdata.part = "part2"
						this.part2=true
						this.grizzly = false
						this.getList()
					} 
					else if (id == 3) {
						this.postdata.part = "part3"
				this.part2=true
				this.grizzly = false
					this.getList()
					}else {
						this.postdata.part = "part1"
						this.part2= false
						this.grizzly = true
						this.getList()
					}
				})
			},
			   clicking(target, type) {
			      if (target.active === type) {
			        this.$set(target, 'active', null);
			      } else {
			        this.$set(target, 'active', type);
			      }
			    },
			radioGroupChange() {

			}
		}
	}
</script>

<style lang="scss" scoped>
	.view_template {
		width: 100%;
		background: linear-gradient(183deg, #F0F6FF 0%, #FAFAFA 100%);
	}

	.view_body {
		height: 89vh;
		width: 91.3%;
		margin: 0 auto;
		border-radius: 0rpx 0rpx 0rpx 0rpx;

		// padding: 32rpx;
		.view_search {
			height: 88rpx;
			margin: 0 auto;
			line-height: 88rpx;
			background: #FFFFFF;
			border-radius: 20rpx 20rpx 20rpx 20rpx;

		}
		.view_button {
			border-radius: 12rpx 12rpx 12rpx 12rpx;
			padding: 12rpx 24rpx;
			font-size: 20rpx;
			font-weight: 500;
			color: rgba(101, 116, 140, 0.8);
		}

		.view_buttons {
			background: #2D7CE6;
			border-radius: 12rpx 12rpx 12rpx 12rpx;
			padding: 12rpx 24rpx;
			font-size: 20rpx;
			font-weight: 500;
			color: #FFFFFF;
		}

		.view_fff {
			background: #FFFFFF;
			border-radius: 20rpx 20rpx 20rpx 20rpx;
		}

		.view_Do {
			display: flex;
			justify-content: space-between;
			padding: 28rpx 0rpx;
			margin: 0 28rpx;
			border-bottom: 2rpx solid #F2F2F2;
		}

		.view_pushbutton {
			display: flex;
		}

		.grizzly {
			background: #E1EEFF;
			border-radius: 8rpx 8rpx 8rpx 8rpx;
			font-size: 20rpx;
			font-weight: 500;
			color: #2D7CE6;
			padding: 6rpx 18rpx;
			margin-left: 12rpx;
		}

		.yellow {
			background: #FFEBD7;
			border-radius: 8rpx 8rpx 8rpx 8rpx;
			font-size: 20rpx;
			font-weight: 500;
			color: #FB9734;
			padding: 6rpx 18rpx;
			margin-left: 12rpx;
		}

		.view_English {
			display: flex;
			font-size: 24rpx;
			font-weight: 500;
			color: #2E4975;
		}

		 .active {
			z-index: 9;
			background:#2D7CE6;
			color: #fff;
		}

		.slander {
			height: 352rpx;
			background: #FFFFFF;
			border-radius: 20rpx 20rpx 20rpx 20rpx;
		}

		.slander_behavior {
			display: flex;
			justify-content: space-between;
			padding: 20rpx 0rpx;
			border-bottom: 2rpx solid #F2F2F2;
		}

		.slander_for {
			background: #FFFFFF;
			border-radius: 20rpx 20rpx 20rpx 20rpx;
			padding: 0 30rpx;
		}

		.unite {
			width: 270rpx;
			font-size: 28rpx;
			font-family: 'PingFang';
			font-weight: 800;
			color: #2E4975;
			margin: 26rpx 0rpx;
		}

		.slander_an {
			background: #F4F4F4;
			border-radius: 12rpx 12rpx 12rpx 12rpx;
			font-size: 20rpx;
			font-family: 'PingFang';
			font-weight: 500;
			color: rgba(101, 116, 140, 0.8);
			padding: 10rpx;
			margin-right: 15rpx;
		}

		.pd_icon {
			margin-left: 8rpx;
		}

		.highlighted {
			
			background: rgba(45, 124, 230, 0.1);
			border-radius: 12rpx 12rpx 12rpx 12rpx;
			color: #2D7CE6;
		}

		.part {
			font-size: 28rpx;
			font-family: 'PingFang';
			font-weight: 500;
			color: #2E4975;

		}

		.part2 {
			font-size: 28rpx;
			font-family: 'PingFang';
			font-weight: 500;
			color: #2E4975;
			margin-left: 20rpx;

		}

		.swiper {
			height: 80%;
		}

		swiper-item {
			overflow: scroll;
		}
		.slander_left {
			width: 328rpx;
			text-overflow: ellipsis;
			white-space: nowrap;
			overflow: hidden
		}
		.view_left {
			display: flex;
			justify-content: left;
			margin-top: 20rpx;
		}
		
		.view_inuygs {
			display: flex;
			justify-content: space-between;
			align-items: center;
		}
		
		.view_left_pd {
			position: relative;
			padding: 12rpx 32rpx;
			background: #FFFFFF;
			border-radius: 20rpx 20rpx 20rpx 20rpx;
			margin-right: 15rpx;
			font-size: 24rpx;
			color: #072F5A;
		}
		
		.unite {
			width: 290rpx;
			display: -webkit-box;
			-webkit-box-orient: vertical;
			overflow: hidden;
			-webkit-line-clamp: 1;
			font-size: 28rpx;
			font-family: 'PingFang';
			font-weight: 800;
			color: #2E4975;
		
			margin-right: 20rpx;
		}
		
		.pull_Down {
			position: absolute;
			bottom: -184rpx;
			left: 50%;
			margin-left: -79rpx;
			box-shadow: 0rpx 4rpx 10rpx 0rpx rgba(0, 0, 0, 0.25);
			border-radius: 20rpx 20rpx 20rpx 20rpx;
			background: #FFFFFF;
			border-bottom: 2rpx solid #F2F2F2;
		
			view {
				padding: 15rpx 50rpx;
				border-bottom: 2rpx solid #F2F2F2;
			}
		}
		
		.pull_Down view:last-child {
			border: none;
		}
		
		.header_part {
			display: flex;
			align-items: center;
			margin: 26rpx 0rpx;
		}
		
		.slander_an {
			padding: 6rpx 18rpx;
			background: #fff;
			border-radius: 12rpx 12rpx 12rpx 12rpx;
			margin-left: 12rpx;
			color: #65748C;
		}
		
		.slander_for {
			background-color: #fff;
			border-radius: 20rpx 20rpx 20rpx 20rpx;
			
		}
		
		.slander_of {
			display: flex;
			align-items: center;
			justify-content: space-between;
			padding: 24rpx 0;
			margin: 0 20rpx;
			border-bottom: 2rpx solid #F2F2F2;
			
		}
		
		.textual {
			width: 290rpx;
			display: -webkit-box;
			-webkit-box-orient: vertical;
			overflow: hidden;
			-webkit-line-clamp: 2;
		}
		
		.bottom_one {
			display: flex;
			view {
				padding: 6rpx 18rpx;
				background: #F4F4F4;
				border-radius: 12rpx 12rpx 12rpx 12rpx;
				font-size: 20rpx;
				font-weight: 500;
				color: rgba(101,116,140,0.8);
				margin-left: 15rpx;
			}	
			.active {
				background: rgba(45, 124, 230, 0.1);
				color: #2D7CE6;
			}
		}
		.pull_down{
			display: flex;
			justify-content: space-between;
			width: 100rpx;
			font-size: 24rpx;
		}
		


	}

	.footer {
		position: fixed;
		bottom: 0;
		width: 100%;
		background: #FFFFFF;
		box-shadow: 0rpx -6rpx 14rpx 0rpx rgba(177, 177, 177, 0.25);
		padding: 30rpx 32rpx;
	}
	.footer2{
		position: fixed;
		bottom: 0;
		width: 100%;
		background: #FFFFFF;
		box-shadow: 0rpx -6rpx 14rpx 0rpx rgba(177, 177, 177, 0.25);
		padding: 30rpx 32rpx;
		margin-top: 25rpx;
	}

	.footer_button {
		display: flex;
		justify-content: space-between;
	}

	.button_ky {
		padding: 24rpx 52rpx;
		border-radius: 104rpx 104rpx 104rpx 104rpx;
		color: #2E4975;
		background-color: #FAFAFA;
	}

	.button_andadd {
		background: linear-gradient(180deg, #74AFFF 0%, #2D7CE6 100%);
		border-radius: 104rpx 104rpx 104rpx 104rpx;
		padding: 26rpx 125rpx;
		color: #fff;
	}

	.button_show {
		width: 100%;
		background: linear-gradient(180deg, #74AFFF 0%, #2D7CE6 100%);
		border-radius: 104rpx 104rpx 104rpx 104rpx;
		padding: 26rpx 125rpx;
		color: #fff;
		text-align: center;
	}

	.view_fff_bottom {
		margin-bottom: 54rpx;
	}

	.Task {
		font-size: 24rpx;
		font-weight: 500;
		color: #2E4975;
	}

	.view_left {
		display: flex;
		justify-content: left;
		margin-top: 20rpx;
	}

	.view_left_pd {
		position: relative;
		padding: 12rpx 32rpx;
		background: #FFFFFF;
		border-radius: 20rpx 20rpx 20rpx 20rpx;
		margin-right: 15rpx;
		font-size: 24rpx;
	}

	.pull_Down {
		position: absolute;
		bottom: -130rpx;
		left: 50%;
		margin-left: -79rpx;
		box-shadow: 0rpx 4rpx 10rpx 0rpx rgba(0,0,0,0.25);
		border-radius: 20rpx 20rpx 20rpx 20rpx;
		background: #FFFFFF;
		border-bottom: 2rpx solid #F2F2F2;
		view {
			padding: 15rpx 50rpx;
			border-bottom: 2rpx solid #F2F2F2;
		}
	}
	.pull_DownTow{
	width: 150rpx;
	position: absolute;
	bottom: -133rpx;
	left: 50%;
	margin-left: -72rpx;
	box-shadow: 0rpx 4rpx 10rpx 0rpx rgba(0,0,0,0.25);
	border-radius: 20rpx 20rpx 20rpx 20rpx;
	background: #FFFFFF;
	border-bottom: 2rpx solid #F2F2F2;
	text-align: center;
	view {
		padding: 15rpx 0rpx;
		border-bottom: 2rpx solid #F2F2F2;
	}
		
	}
	.pull_Down view:last-child {
		border: none;
	}

	.sl_body {
		background-color: #fff;
	}

	.footer_button_right {
		padding: 24rpx 62rpx;
		border: 1px solid #2D7CE6;
		border-radius: 104rpx 104rpx 104rpx 104rpx;
		color: #2D7CE6;
	}
</style>
