diff --git a/common/http.interceptor.js b/common/http.interceptor.js index 8f0ee75..82a2f35 100644 --- a/common/http.interceptor.js +++ b/common/http.interceptor.js @@ -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 diff --git a/pages_teacher/teacher_teachers/components/slander.vue b/pages_teacher/teacher_teachers/components/slander.vue new file mode 100644 index 0000000..1543c3f --- /dev/null +++ b/pages_teacher/teacher_teachers/components/slander.vue @@ -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> diff --git a/pages_teacher/teacher_teachers/teacher_writeadd.vue b/pages_teacher/teacher_teachers/teacher_writeadd.vue index 6f63652..7c9ef60 100644 --- a/pages_teacher/teacher_teachers/teacher_writeadd.vue +++ b/pages_teacher/teacher_teachers/teacher_writeadd.vue @@ -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() {