Merge branch 'dev_lbw' of gitea.langsi.online:youmanlu/youmanlu-teacher-uniapp into tx
This commit is contained in:
		
						commit
						d43b7f7059
					
				|  | @ -41,7 +41,7 @@ const install = (Vue, vm) => { | |||
| 		// 方式四,如果token放在了Storage本地存储中,拦截是每次请求都执行的
 | ||||
| 		// 所以哪怕您重新登录修改了Storage,下一次的请求将会是最新值
 | ||||
| 		// const token = uni.getStorageSync('token');
 | ||||
| 		const token = "Bearer b85a1a24553c4f6fa374e18539daf70d" | ||||
| 		const token = "Bearer aca170b01b4b4c88b3629fde91a3b2b7" | ||||
| 		// console.log("我是token", token)
 | ||||
| 		config.header.Authorization = token;  | ||||
| 		// #ifdef H5
 | ||||
|  |  | |||
							
								
								
									
										210
									
								
								pages_teacher/teacher_teachers/components/slander.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										210
									
								
								pages_teacher/teacher_teachers/components/slander.vue
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,210 @@ | |||
| <template> | ||||
| 	<!-- 口语下拉 --> | ||||
| 			<view> | ||||
| 				<view class="view_left"> | ||||
| 					<view class="view_left_pd" @click="arrow_xl"> | ||||
| 						{{selectedOption}} | ||||
| 						<u-icon name="arrow-down" size="22" class="pd_icon"></u-icon> | ||||
| 						<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 class="view_left_pd" @click="arrow_xl2"> | ||||
| 						{{categorize}} | ||||
| 						<u-icon name="arrow-down" size="22" class="pd_icon"></u-icon> | ||||
| 						<view class="pull_DownTow" v-if="arrowDown"> | ||||
| 							<view v-for="(item,index) in options2 " :key="index" @click="Classification(item.id)">{{item.name}}</view> | ||||
| 						</view> | ||||
| 					</view> | ||||
| 				</view> | ||||
| 				<!-- 口语主体 --> | ||||
| 				<view v-for="(item,index) in slander" :key="index"> | ||||
| 					<view class="unite">{{item.label}}</view> | ||||
| 					<view class="slander_for"> | ||||
| 						<view class="slander_behavior" v-for="(items,indexs) in item.list" :key='indexs'> | ||||
| 							<view class="slander_left">{{items.topicEn}}</view> | ||||
| 							<view style="display: flex;"> | ||||
| 								<view class="slander_an">串题</view> | ||||
| 								<view class="slander_an blue">跟读</view> | ||||
| 								<view class="slander_an blue">模考</view> | ||||
| 							</view> | ||||
| 						</view> | ||||
| 					</view> | ||||
| 				</view> | ||||
| 			</view> | ||||
| </template> | ||||
| 
 | ||||
| <script> | ||||
| 	export default { | ||||
| 		data(){ | ||||
| 			return { | ||||
| 				postdata :{ | ||||
| 					"key": "", | ||||
| 					"pageNum": 0, | ||||
| 					"mode": "home", | ||||
| 					"part": "part1", | ||||
| 					"order": "0", | ||||
| 					"type": "", | ||||
| 					"isStudy": 0, | ||||
| 					"isFavorite": 0, | ||||
| 					"isEvlua": 0, | ||||
| 					"isFun": 0, | ||||
| 					"level": 0, | ||||
| 					"isNew": 0 | ||||
| 				}, | ||||
| 				//口语 | ||||
| 				slander: [], | ||||
| 					categorize:'分类', | ||||
| 					// 下拉框的v-if布尔值 | ||||
| 					selectedOption:'Part1', | ||||
| 				arrow:false, | ||||
| 				arrowDown:false, | ||||
| 				options:[ | ||||
| 					{ | ||||
| 						id:1, | ||||
| 						name:'Part1' | ||||
| 					}, | ||||
| 					{ | ||||
| 						id:2, | ||||
| 						name:'Part2' | ||||
| 					} | ||||
| 				], | ||||
| 				options2:[ | ||||
| 					{ | ||||
| 						id:1, | ||||
| 						name:'环境类' | ||||
| 					}, | ||||
| 					{ | ||||
| 						id:2, | ||||
| 						name:'学习类' | ||||
| 					} | ||||
| 				], | ||||
| 			} | ||||
| 		}, | ||||
| 		onLoad() { | ||||
| 			this.getList() | ||||
| 		}, | ||||
| 		methods:{ | ||||
| 			 | ||||
| 			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.getList() | ||||
| 					 }else{ | ||||
| 						 this.postdata.part="part1" | ||||
| 						 this.getList() | ||||
| 					 } | ||||
| 				 }) | ||||
| 			}, | ||||
| 			// 下拉然后更新里面的值 | ||||
| 			Classification(id){ | ||||
| 				this.options2.forEach(item=>{ | ||||
| 					if(item.id == id){ | ||||
| 						this.categorize =item.name | ||||
| 					} | ||||
| 				}) | ||||
| 			}, | ||||
| 		} | ||||
| 	} | ||||
| </script> | ||||
| 
 | ||||
| <style lang="scss" scoped> | ||||
| 	 | ||||
| 	.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; | ||||
| 	} | ||||
| 	.unite { | ||||
| 		font-size: 28rpx; | ||||
| 		font-family: 'PingFang'; | ||||
| 		font-weight: 800; | ||||
| 		color: #2E4975; | ||||
| 		margin: 26rpx 0rpx; | ||||
| 	} | ||||
| 	.slander_for { | ||||
| 		background: #FFFFFF; | ||||
| 		border-radius: 20rpx 20rpx 20rpx 20rpx; | ||||
| 		padding: 0 30rpx; | ||||
| 	} | ||||
| 	.slander_behavior { | ||||
| 		display: flex; | ||||
| 		justify-content: space-between; | ||||
| 		padding: 20rpx 0rpx; | ||||
| 		border-bottom: 2rpx solid #F2F2F2; | ||||
| 	} | ||||
| 	.slander_left { | ||||
| 		width: 328rpx; | ||||
| 		text-overflow: ellipsis; | ||||
| 		white-space: nowrap; | ||||
| 		overflow: hidden | ||||
| 	} | ||||
| 	.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 { | ||||
| 		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_Down view:last-child { | ||||
| 		border: none; | ||||
| 	} | ||||
| 	.pd_icon { | ||||
| 		margin-left: 8rpx; | ||||
| 	} | ||||
| </style> | ||||
|  | @ -15,6 +15,7 @@ | |||
| 			<swiper :interval="5000" :duration="1000" is-scroll="true" :current="current" @change="updateCurrent" class="swiper"> | ||||
| 				<!-- 口语 --> | ||||
| 				<swiper-item> | ||||
| 					<slander></slander> | ||||
| 				</swiper-item> | ||||
| 				<!-- 写作 --> | ||||
| 				<swiper-item> | ||||
|  | @ -166,23 +167,10 @@ | |||
| <script> | ||||
| 	import audiology from './components/audiology.vue' | ||||
| 	import reading from './components/reading.vue' | ||||
| 	import slander from './components/slander.vue' | ||||
| 	export default { | ||||
| 		data() { | ||||
| 			return { | ||||
| 				postdata :{ | ||||
| 					"key": "", | ||||
| 					"pageNum": 0, | ||||
| 					"mode": "home", | ||||
| 					"part": "part1", | ||||
| 					"order": "0", | ||||
| 					"type": "", | ||||
| 					"isStudy": 0, | ||||
| 					"isFavorite": 0, | ||||
| 					"isEvlua": 0, | ||||
| 					"isFun": 0, | ||||
| 					"level": 0, | ||||
| 					"isNew": 0 | ||||
| 				}, | ||||
| 				// 导航栏 | ||||
| 				list: [{ | ||||
| 						name: '口语' | ||||
|  | @ -201,87 +189,43 @@ | |||
| 					name: '1', | ||||
| 					disabled: false | ||||
| 				}], | ||||
| 				//口语 | ||||
| 				slander: [], | ||||
| 				// 口语下拉框 | ||||
| 				options:[ | ||||
| 					{ | ||||
| 						id:1, | ||||
| 						name:'Part1' | ||||
| 					}, | ||||
| 					{ | ||||
| 						id:2, | ||||
| 						name:'Part2' | ||||
| 					} | ||||
| 				], | ||||
| 				options2:[ | ||||
| 					{ | ||||
| 						id:1, | ||||
| 						name:'环境类' | ||||
| 					}, | ||||
| 					{ | ||||
| 						id:2, | ||||
| 						name:'学习类' | ||||
| 					} | ||||
| 				], | ||||
| 				arrowDown:false, | ||||
| 				categorize:'分类', | ||||
| 				// 写作 | ||||
| 				Compose: [], | ||||
| 				num:0, | ||||
| 				// 下拉框的v-if布尔值 | ||||
| 				arrow:false, | ||||
| 				selectedOption:'Part1', | ||||
| 				radioValue: '', | ||||
| 				part1: true, | ||||
| 				current: 0, | ||||
| 				search: true, | ||||
| 				listType: [], | ||||
| 				idList: [], | ||||
| 				 | ||||
| 				 | ||||
| 
 | ||||
| 			} | ||||
| 		}, | ||||
| 		components:{ | ||||
| 			audiology, | ||||
| 			reading | ||||
| 			reading, | ||||
| 			slander | ||||
| 		}, | ||||
| 		onLoad() { | ||||
| 			this.getList() | ||||
| 			this.getCompose() | ||||
| 			// this.getCompose() | ||||
| 		}, | ||||
| 		methods: { | ||||
| 			upType(index, num) { | ||||
| 				this.listType.splice(index, 1, num) | ||||
| 			}, | ||||
| 			// 口语接口 | ||||
| 			getList() { | ||||
| 				let add ={"key":"","pageNum":0,"mode":"home","part":"part1","order":"0","type":"","isStudy":0,"isFavorite":0,"isEvlua":0,"isFun":0,"level":0,"isNew":0} | ||||
| 				this.$u.post('https://api.admin-v2.langsi.online/admin-api/speaking/topic/home/list',add).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] | ||||
| 						} | ||||
| 					}) | ||||
| 				}) | ||||
| 			}, | ||||
| 			change(index) { | ||||
| 				this.current = index; | ||||
| 			}, | ||||
| 			//写作接口 | ||||
| 			getCompose() { | ||||
| 				this.$u.post('https://api.admin-v2.langsi.online/admin-api/speaking/topic/home/list').then(res => { | ||||
| 					this.Compose = res.data | ||||
| 					console.log(this.Compose) | ||||
| 					for (let i = 0; i < res.data.length; i++) { | ||||
| 						this.listType.push(1) | ||||
| 					} | ||||
| 				}) | ||||
| 			}, | ||||
| 			// getCompose() { | ||||
| 			// 	this.$u.post('https://api.admin-v2.langsi.online/admin-api/speaking/topic/home/list').then(res => { | ||||
| 			// 		this.Compose = res.data | ||||
| 			// 		console.log(this.Compose) | ||||
| 			// 		for (let i = 0; i < res.data.length; i++) { | ||||
| 			// 			this.listType.push(1) | ||||
| 			// 		} | ||||
| 			// 	}) | ||||
| 			// }, | ||||
| 			// 选中某个单选框时,由radio时触发 | ||||
| 			radioCheck(index) { | ||||
| 				if (this.radioValue == this.list2[index].id) { | ||||
|  | @ -297,37 +241,7 @@ | |||
| 					this.search = true | ||||
| 				} else { | ||||
| 					this.search = false | ||||
| 
 | ||||
| 				} | ||||
| 
 | ||||
| 			}, | ||||
| 			//下拉显示下拉框 | ||||
| 			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.getList() | ||||
| 				 }else{ | ||||
| 					 this.postdata.part="part1" | ||||
| 					 this.getList() | ||||
| 				 } | ||||
| 			 }) | ||||
| 		}, | ||||
| 			Classification(id){ | ||||
| 				this.options2.forEach(item=>{ | ||||
| 					if(item.id == id){ | ||||
| 						this.categorize =item.name | ||||
| 					} | ||||
| 				}) | ||||
| 			}, | ||||
| 			radioGroupChange() { | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user