直播学生列表
This commit is contained in:
205
src/views/regime/SignupStu.vue
Normal file
205
src/views/regime/SignupStu.vue
Normal file
@@ -0,0 +1,205 @@
|
||||
<template>
|
||||
<div class="subscriber">
|
||||
<div class="top">
|
||||
<div class="title">直播报名学生</div>
|
||||
<div class="sel">
|
||||
<img src="@/static/images/sousuo.png" alt="" class="icon" />
|
||||
<input type="text" placeholder="请输入想要搜索的学生姓名" v-model="condition.title" @keyup.enter="search(condition)"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mid">
|
||||
{{teacherlikedlist}}
|
||||
<div class="studentlist">
|
||||
<div class="stuitem" v-for="(i,j) in teacherlikedlist.data" :key="j">
|
||||
<img :src="i.img" alt="" class="photo" />
|
||||
<div>
|
||||
<div class="info">
|
||||
<div class="infoitem">
|
||||
<span class="label">姓名:</span>
|
||||
<span class="one-line-hide">{{i.name}}</span>
|
||||
</div>
|
||||
|
||||
<div class="infoitem">
|
||||
<span class="label">所在国家:</span>
|
||||
<span class="one-line-hide">{{i.live}}</span>
|
||||
</div>
|
||||
|
||||
<div class="infoitem">
|
||||
<span class="label">年龄:</span>
|
||||
<span class="one-line-hide">{{i.age}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="info">
|
||||
<div class="infoitem">
|
||||
<span class="label">学生母语:</span>
|
||||
<span class="one-line-hide">{{i.mtongue }}</span>
|
||||
</div>
|
||||
|
||||
<div class="infoitem">
|
||||
<span class="label">兴趣点:</span>
|
||||
<span class="one-line-hide">{{i.interestStr}}</span>
|
||||
</div>
|
||||
|
||||
<div class="infoitem">
|
||||
<span class="label">语言等级:</span>
|
||||
<span class="one-line-hide">asd</span>
|
||||
</div>
|
||||
|
||||
<div>参加平台直播课程总时长:<span class="time">{{i.longtime}}min</span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="pages">
|
||||
<a-pagination v-model:current="page" :total="teacherlikedlist.total" :showLessItems="true" @change="pagechange"/>
|
||||
</div> -->
|
||||
</div>
|
||||
</template>
|
||||
<style lang="scss" scoped>
|
||||
.subscriber {
|
||||
width: 100%;
|
||||
// height: 706px;
|
||||
background-color: #fff;
|
||||
border-radius: 17px;
|
||||
// padding: 40px;
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
padding-bottom: 200px;
|
||||
.top {
|
||||
display: flex;
|
||||
width: 1241px;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-top: 21px;
|
||||
border-bottom: 1px solid #eeeeee;
|
||||
padding-bottom: 6px;
|
||||
.title {
|
||||
font-size: 13px;
|
||||
color: #121212;
|
||||
font-weight: bold;
|
||||
}
|
||||
.sel {
|
||||
// width: 171px;
|
||||
height: 26px;
|
||||
border: 1px solid #999;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
// padding: 8px;
|
||||
border-radius: 4px;
|
||||
padding-right:30px;
|
||||
> img {
|
||||
width: 11px;
|
||||
height: 11px;
|
||||
margin-left:5px
|
||||
}
|
||||
> input {
|
||||
width: 170px;
|
||||
font-size: 9px;
|
||||
line-height: 1;
|
||||
margin-left: 6px;
|
||||
border: none;
|
||||
outline: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
.mid {
|
||||
.studentlist {
|
||||
width: 1241px;
|
||||
margin: 0 auto;
|
||||
.stuitem {
|
||||
height: 131px;
|
||||
border-bottom: 1px solid #eeeeee;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.photo {
|
||||
width: 74px;
|
||||
height: 74px;
|
||||
background: #125cb4;
|
||||
border-radius: 50%;
|
||||
}
|
||||
.info {
|
||||
margin-left: 35px;
|
||||
display: flex;
|
||||
font-size: 12px;
|
||||
color: #121212;
|
||||
line-height: 45px;
|
||||
.infoitem {
|
||||
width: 194px;
|
||||
display: flex;
|
||||
.label{
|
||||
flex-shrink: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.time {
|
||||
color: #08AE98;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.pages {
|
||||
position: absolute;
|
||||
bottom: 114px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
::v-deep(.ant-pagination-next) > .ant-pagination-item-link,
|
||||
::v-deep(.ant-pagination-prev) > .ant-pagination-item-link,
|
||||
::v-deep(.ant-pagination-item),
|
||||
::v-deep(.ant-pagination-jump-next-custom-icon),
|
||||
::v-deep(.ant-pagination-jump-prev-custom-icon) {
|
||||
border: 1px solid #08ae98;
|
||||
}
|
||||
::v-deep(.ant-pagination-item-active) a {
|
||||
color: #fff;
|
||||
}
|
||||
::v-deep(.ant-pagination-item-active) {
|
||||
background-color: #08ae98;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<script lang="ts">
|
||||
import { getstudentlist, getteacherliked } from '@/api';
|
||||
import { defineComponent, onMounted, ref, toRaw } from "vue";
|
||||
import { useRoute } from 'vue-router';
|
||||
export default defineComponent({
|
||||
name: "Subscriber",
|
||||
components: {},
|
||||
setup() {
|
||||
const page = ref(1);
|
||||
const teacherlikedlist =ref<any>({
|
||||
|
||||
});
|
||||
const title=ref('')
|
||||
const condition = ref<any>({
|
||||
title:"",
|
||||
id:Number(useRoute().query.liveid)
|
||||
})
|
||||
onMounted(async () => {
|
||||
console.log(useRoute().query.liveid,"mmmmmmm")
|
||||
const id=useRoute().query.liveid
|
||||
teacherlikedlist.value=await getstudentlist({id:Number(id)})
|
||||
});
|
||||
async function search(e: any){
|
||||
teacherlikedlist.value=await getstudentlist(e)
|
||||
}
|
||||
async function pagechange(){
|
||||
teacherlikedlist.value=await getstudentlist(toRaw(condition.value))
|
||||
}
|
||||
|
||||
return {
|
||||
page,
|
||||
teacherlikedlist,
|
||||
condition,
|
||||
title,
|
||||
search
|
||||
};
|
||||
},
|
||||
});
|
||||
</script>
|
||||
@@ -2,7 +2,7 @@
|
||||
<div class="videoinfo">
|
||||
<div class="info">
|
||||
<VideoPlay :url="result.fileurl"></VideoPlay>
|
||||
<VideoCont :videoid="result.videoid" :date="result.created_at" :watch="result.watch" :share="result.share" :status="result.status"></VideoCont>
|
||||
<VideoCont :videoid="result.videoid" :date="result.createdAt" :watch="result.watch" :share="result.share" :status="result.status"></VideoCont>
|
||||
</div>
|
||||
<VideoReview class="review"></VideoReview>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user