Merge branch 'dev_lbw' of gitea.langsi.online:youmanlu/youmanlu-teacher-uniapp into tx
This commit is contained in:
		
						commit
						5b50cad2fc
					
				| 
						 | 
				
			
			@ -42,7 +42,7 @@ const install = (Vue, vm) => {
 | 
			
		|||
		// 所以哪怕您重新登录修改了Storage,下一次的请求将会是最新值
 | 
			
		||||
		// const token = uni.getStorageSync('token');
 | 
			
		||||
 | 
			
		||||
		const token = "	Bearer d61c0fee9e404290b8e4ad7bd0167656"
 | 
			
		||||
		const token = "	Bearer 0b34feaf02224ccb9d4e09730ab68c35"
 | 
			
		||||
 | 
			
		||||
		// console.log("我是token", token)
 | 
			
		||||
		config.header.Authorization = token; 
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,249 +0,0 @@
 | 
			
		|||
<template>
 | 
			
		||||
	<!-- 口语下拉 -->
 | 
			
		||||
	<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="blue">串题</view>
 | 
			
		||||
					<view class="blue">跟读</view>
 | 
			
		||||
					<view>模考</view>
 | 
			
		||||
				</view>
 | 
			
		||||
			</view>
 | 
			
		||||
		
 | 
			
		||||
				<!-- part1-->
 | 
			
		||||
				<view class="slander_for">
 | 
			
		||||
					<view class="slander_of" v-for="(items,indexs) in item.list" :key='indexs'>
 | 
			
		||||
						<view class="textual">
 | 
			
		||||
							{{items.topicEn}}
 | 
			
		||||
						</view>
 | 
			
		||||
						<view class="bottom_one" v-if="grizzly">
 | 
			
		||||
							<view class="blue">串题</view>
 | 
			
		||||
							<view class="blue">跟读</view>
 | 
			
		||||
							<view>模考</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>
 | 
			
		||||
</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: [],
 | 
			
		||||
				part2:false,
 | 
			
		||||
				grizzly:true,
 | 
			
		||||
				categorize: '分类',
 | 
			
		||||
				// 下拉框的v-if布尔值
 | 
			
		||||
				selectedOption: 'Part1',
 | 
			
		||||
				arrow: false,
 | 
			
		||||
				arrowDown: false,
 | 
			
		||||
				options: [{
 | 
			
		||||
						id: 1,
 | 
			
		||||
						name: 'Part1'
 | 
			
		||||
					},
 | 
			
		||||
					{
 | 
			
		||||
						id: 2,
 | 
			
		||||
						name: 'Part2'
 | 
			
		||||
					}
 | 
			
		||||
				],
 | 
			
		||||
			}
 | 
			
		||||
		},
 | 
			
		||||
		created() {
 | 
			
		||||
			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.part2=true
 | 
			
		||||
						this.grizzly = false
 | 
			
		||||
						this.getList()
 | 
			
		||||
					} else {
 | 
			
		||||
						this.postdata.part = "part1"
 | 
			
		||||
						this.part2= false
 | 
			
		||||
						this.grizzly = true
 | 
			
		||||
						this.getList()
 | 
			
		||||
					}
 | 
			
		||||
				})
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style lang="scss" scoped>
 | 
			
		||||
	.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 {
 | 
			
		||||
		font-size: 28rpx;
 | 
			
		||||
		font-family: 'PingFang';
 | 
			
		||||
		font-weight: 800;
 | 
			
		||||
		color: #2E4975;
 | 
			
		||||
 | 
			
		||||
		margin-right: 20rpx;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	.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;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	.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;
 | 
			
		||||
		}	
 | 
			
		||||
		.blue {
 | 
			
		||||
		background: rgba(45, 124, 230, 0.1);
 | 
			
		||||
		color: #2D7CE6;
 | 
			
		||||
	}
 | 
			
		||||
	}
 | 
			
		||||
	.pull_down{
 | 
			
		||||
		display: flex;
 | 
			
		||||
		justify-content: space-between;
 | 
			
		||||
		width: 100rpx;
 | 
			
		||||
		font-size: 24rpx;
 | 
			
		||||
	}
 | 
			
		||||
</style>
 | 
			
		||||
| 
						 | 
				
			
			@ -34,22 +34,22 @@
 | 
			
		|||
									<view class="unite">{{item.label}}</view>
 | 
			
		||||
								</view>
 | 
			
		||||
								<view class="bottom_one" v-if="part2">
 | 
			
		||||
									<view class="blue">串题</view>
 | 
			
		||||
									<view class="blue">跟读</view>
 | 
			
		||||
									<view>模考</view>
 | 
			
		||||
											<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">
 | 
			
		||||
								<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" v-if="grizzly">
 | 
			
		||||
											<view class="blue">串题</view>
 | 
			
		||||
											<view class="blue">跟读</view>
 | 
			
		||||
											<view>模考</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>
 | 
			
		||||
| 
						 | 
				
			
			@ -141,7 +141,6 @@
 | 
			
		|||
					"level": 0,
 | 
			
		||||
					"isNew": 0
 | 
			
		||||
				},
 | 
			
		||||
				//口语
 | 
			
		||||
				slander: [],
 | 
			
		||||
				part2:false,
 | 
			
		||||
				grizzly:true,
 | 
			
		||||
| 
						 | 
				
			
			@ -157,8 +156,13 @@
 | 
			
		|||
					{
 | 
			
		||||
						id: 2,
 | 
			
		||||
						name: 'Part2'
 | 
			
		||||
					},
 | 
			
		||||
					{
 | 
			
		||||
						id: 3,
 | 
			
		||||
						name: 'Part3'
 | 
			
		||||
					}
 | 
			
		||||
				],
 | 
			
		||||
				userId:null
 | 
			
		||||
			}
 | 
			
		||||
		},
 | 
			
		||||
		components:{
 | 
			
		||||
| 
						 | 
				
			
			@ -222,7 +226,13 @@
 | 
			
		|||
						this.part2=true
 | 
			
		||||
						this.grizzly = false
 | 
			
		||||
						this.getList()
 | 
			
		||||
					} else {
 | 
			
		||||
					} 
 | 
			
		||||
					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
 | 
			
		||||
| 
						 | 
				
			
			@ -230,6 +240,13 @@
 | 
			
		|||
					}
 | 
			
		||||
				})
 | 
			
		||||
			},
 | 
			
		||||
			   clicking(target, type) {
 | 
			
		||||
			      if (target.active === type) {
 | 
			
		||||
			        this.$set(target, 'active', null);
 | 
			
		||||
			      } else {
 | 
			
		||||
			        this.$set(target, 'active', type);
 | 
			
		||||
			      }
 | 
			
		||||
			    },
 | 
			
		||||
			radioGroupChange() {
 | 
			
		||||
 | 
			
		||||
			}
 | 
			
		||||
| 
						 | 
				
			
			@ -345,6 +362,7 @@
 | 
			
		|||
		}
 | 
			
		||||
 | 
			
		||||
		.unite {
 | 
			
		||||
			width: 270rpx;
 | 
			
		||||
			font-size: 28rpx;
 | 
			
		||||
			font-family: 'PingFang';
 | 
			
		||||
			font-weight: 800;
 | 
			
		||||
| 
						 | 
				
			
			@ -367,7 +385,8 @@
 | 
			
		|||
			margin-left: 8rpx;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		.blue {
 | 
			
		||||
		.highlighted {
 | 
			
		||||
			
 | 
			
		||||
			background: rgba(45, 124, 230, 0.1);
 | 
			
		||||
			border-radius: 12rpx 12rpx 12rpx 12rpx;
 | 
			
		||||
			color: #2D7CE6;
 | 
			
		||||
| 
						 | 
				
			
			@ -426,6 +445,11 @@
 | 
			
		|||
		}
 | 
			
		||||
		
 | 
			
		||||
		.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;
 | 
			
		||||
| 
						 | 
				
			
			@ -436,7 +460,7 @@
 | 
			
		|||
		
 | 
			
		||||
		.pull_Down {
 | 
			
		||||
			position: absolute;
 | 
			
		||||
			bottom: -130rpx;
 | 
			
		||||
			bottom: -184rpx;
 | 
			
		||||
			left: 50%;
 | 
			
		||||
			margin-left: -79rpx;
 | 
			
		||||
			box-shadow: 0rpx 4rpx 10rpx 0rpx rgba(0, 0, 0, 0.25);
 | 
			
		||||
| 
						 | 
				
			
			@ -503,7 +527,7 @@
 | 
			
		|||
				color: rgba(101,116,140,0.8);
 | 
			
		||||
				margin-left: 15rpx;
 | 
			
		||||
			}	
 | 
			
		||||
			.blue {
 | 
			
		||||
			.active {
 | 
			
		||||
				background: rgba(45, 124, 230, 0.1);
 | 
			
		||||
				color: #2D7CE6;
 | 
			
		||||
			}
 | 
			
		||||
| 
						 | 
				
			
			@ -516,6 +540,7 @@
 | 
			
		|||
		}
 | 
			
		||||
		
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	.footer {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue
	
	Block a user