|
|
@@ -5,13 +5,23 @@
|
|
|
<search-bar></search-bar>
|
|
|
<section>
|
|
|
<h1 class="sub-title">最近浏览</h1>
|
|
|
- <slide-card :click-handler="handleSlideCardClick"></slide-card>
|
|
|
+ <div class="no-content-warning" v-if="!slides || slides.length === 0">
|
|
|
+ <div class="no-content-warning-tip">无最近浏览记录~</div>
|
|
|
+ </div>
|
|
|
+ <template v-for="slide of slides">
|
|
|
+ <slide-card :key="slide.id" :slide="slide" :click-handler="handleSlideCardClick"></slide-card>
|
|
|
+ </template>
|
|
|
<br>
|
|
|
</section>
|
|
|
<section>
|
|
|
<h1 class="sub-title">课程列表</h1>
|
|
|
- <course-card :course="{}" :index="2" :clickHandler="handleCourseCardClick"></course-card>
|
|
|
- <course-card :course="{}" :index="2" :clickHandler="handleCourseCardClick"></course-card>
|
|
|
+ <div class="no-content-warning" v-if="!courses || courses.length === 0">
|
|
|
+ <div class="no-content-warning-tip">你还没有过开设课程~</div>
|
|
|
+ <c-button class="full-width secondary" @click="handleToCreateCourse">去创建课程</c-button>
|
|
|
+ </div>
|
|
|
+ <template v-for="(course, index) of courses">
|
|
|
+ <course-card :key="course.id" :course="course" :index="index + 1" :clickHandler="handleCourseCardClick"></course-card>
|
|
|
+ </template>
|
|
|
</section>
|
|
|
</div>
|
|
|
<router-view/>
|
|
|
@@ -23,13 +33,33 @@ import SearchBar from '@/components/SearchBar'
|
|
|
import SlideCard from '@/components/SlideCard'
|
|
|
import CourseCard from '@/components/CourseCard'
|
|
|
import { teacherGetSlides } from '@/server/slide'
|
|
|
+import { teacherGetCourses } from '@/server/course'
|
|
|
+import CButton from '@/components/CButton'
|
|
|
|
|
|
export default {
|
|
|
- components: { CourseCard, SlideCard, SearchBar },
|
|
|
+ components: { CButton, CourseCard, SlideCard, SearchBar },
|
|
|
+ data () {
|
|
|
+ return {
|
|
|
+ courses: [],
|
|
|
+ slides: []
|
|
|
+ }
|
|
|
+ },
|
|
|
mounted () {
|
|
|
- teacherGetSlides({ size: 2, sort: 'updateAt,desc' })
|
|
|
+ teacherGetCourses({ sort: 'createAt' }).then(res => {
|
|
|
+ this.courses = res.data
|
|
|
+ }).catch(err => {
|
|
|
+ this.$setErrorMessage('获取课件时:' + err.response.data.msg)
|
|
|
+ })
|
|
|
+ teacherGetSlides({ size: 2, sort: 'updateAt,desc' }).then(res => {
|
|
|
+ this.slides = res.data
|
|
|
+ }).catch(err => {
|
|
|
+ this.$setErrorMessage(err.response.data.msg)
|
|
|
+ })
|
|
|
},
|
|
|
methods: {
|
|
|
+ handleToCreateCourse () {
|
|
|
+ this.$router.push({ name: 'create-new-course' })
|
|
|
+ },
|
|
|
handleSlideCardClick (slideId) {
|
|
|
this.$router.push({ name: 'teacher-explore-slide-detail', params: { slideId: slideId } })
|
|
|
},
|