mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/learning-system-portal.git
synced 2025-12-09 02:46:44 +08:00
Compare commits
40 Commits
20250909-h
...
master-202
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3d7ca1cc20 | ||
|
|
ebae7f6c0b | ||
|
|
91f06d4ed6 | ||
|
|
9b3b3b94ef | ||
|
|
427ff20531 | ||
|
|
6c5e189448 | ||
|
|
c3f53515b9 | ||
| 087be5dd38 | |||
|
|
1772c972b9 | ||
|
|
91bafcb5b9 | ||
|
|
8c533c5f3a | ||
|
|
bb17784501 | ||
|
|
69530fe6ad | ||
|
|
b1cd8e2f63 | ||
|
|
7335dd4eba | ||
| 3860087fac | |||
| 046509f70d | |||
| bf0ae91184 | |||
| f61742a0b9 | |||
|
|
c886a80193 | ||
| 05ad90b025 | |||
| f3833a23fa | |||
| d957a8d44b | |||
|
|
89ed79828f | ||
|
|
b926590edc | ||
| 19bc757dc2 | |||
| f3a1036b64 | |||
| 3c1650b751 | |||
| ff2bdb4ae5 | |||
|
|
14fb53ccd3 | ||
|
|
72f9661150 | ||
|
|
7806afc5f7 | ||
| e1af233c5f | |||
| 2738493030 | |||
| 480a4f5564 | |||
|
|
205bf5469f | ||
| 0b0789feda | |||
| 70bb87a17a | |||
| 4e60811542 | |||
|
|
075fdb1913 |
BIN
public/images/qualityBg.png
Normal file
BIN
public/images/qualityBg.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.5 KiB |
@@ -53,6 +53,14 @@ const courselist=function (data){
|
|||||||
const qualitylist=function (data){
|
const qualitylist=function (data){
|
||||||
return httpAjax.post(baseURL,'/quality/home/qualityItem',data);
|
return httpAjax.post(baseURL,'/quality/home/qualityItem',data);
|
||||||
}
|
}
|
||||||
|
// 精品课分页查询
|
||||||
|
export const qualityPageList=function (data){
|
||||||
|
return httpAjax.post(baseURL,'/quality/home/qualityPages',data);
|
||||||
|
}
|
||||||
|
// 课程精品课标记时间年份列表
|
||||||
|
export const qualityCourseTimeMark=function (){
|
||||||
|
return httpAjax.post(baseURL,'/quality/manage/qualityYearList',{});
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* 首页新课程推荐列表
|
* 首页新课程推荐列表
|
||||||
*/
|
*/
|
||||||
@@ -68,5 +76,6 @@ export default {
|
|||||||
courselist,
|
courselist,
|
||||||
newCases,
|
newCases,
|
||||||
getRecommendList,
|
getRecommendList,
|
||||||
qualitylist
|
qualitylist,
|
||||||
|
qualityPageList
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,9 +13,9 @@
|
|||||||
</router-link>
|
</router-link>
|
||||||
</div>
|
</div>
|
||||||
<div class="top-nav" :style="{color:textColor}" :class="current == 'course' ? activeNav : ''">
|
<div class="top-nav" :style="{color:textColor}" :class="current == 'course' ? activeNav : ''">
|
||||||
<router-link to="/course">课程
|
<a @click="handleChangeCourse">课程
|
||||||
<div :class="current == 'course' ? 'nav-bottbor' : ''"></div>
|
<div :class="current == 'course' ? 'nav-bottbor' : ''"></div>
|
||||||
</router-link>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="top-nav" :style="{color:textColor}" :class="current == 'case' ? activeNav : ''">
|
<div class="top-nav" :style="{color:textColor}" :class="current == 'case' ? activeNav : ''">
|
||||||
<router-link to="/case">案例
|
<router-link to="/case">案例
|
||||||
@@ -214,6 +214,12 @@ export default {
|
|||||||
//this.loadPopupConfig();
|
//this.loadPopupConfig();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
handleChangeCourse() {
|
||||||
|
const paths = ["/course","/qualityCourse"]
|
||||||
|
// 如果是 课程 和 精品课程, 那么就不再重定向
|
||||||
|
const needReload = paths.findIndex(e=> e === this.$route.path) === -1
|
||||||
|
if (needReload) this.$router.push({path: paths[0]})
|
||||||
|
},
|
||||||
|
|
||||||
setCurIdentity(iden){
|
setCurIdentity(iden){
|
||||||
this.$store.dispatch('SetCurIdentity',iden);
|
this.$store.dispatch('SetCurIdentity',iden);
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ import Vue from 'vue'
|
|||||||
import VueRouter from 'vue-router'
|
import VueRouter from 'vue-router'
|
||||||
/* Layout */
|
/* Layout */
|
||||||
import Layout from '@/layout/index'
|
import Layout from '@/layout/index'
|
||||||
import LayoutPortal from '@/layout/portal'
|
|
||||||
import Grateful from '@/views/grateful'
|
import Grateful from '@/views/grateful'
|
||||||
|
|
||||||
Vue.use(VueRouter)
|
Vue.use(VueRouter)
|
||||||
@@ -363,13 +362,13 @@ export const constantRoutes = [{
|
|||||||
component: (resolve) => require(['@/views/error/500'], resolve),
|
component: (resolve) => require(['@/views/error/500'], resolve),
|
||||||
hidden: true
|
hidden: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/quailtyCourse',
|
path: '/qualityCourse',
|
||||||
hidden: true,
|
hidden: true,
|
||||||
component: (resolve) => require(['@/views/portal/course/quailtyCourse'], resolve),
|
component: (resolve) => require(['@/views/portal/course/qualityCourse'], resolve),
|
||||||
name: 'course',
|
name: 'qualityCourse',
|
||||||
meta: {title: '精品课课程', keepAlive: true, icon: 'dashboard', noCache: true, affix: false},
|
meta: {title: '精品课课程', keepAlive: true, icon: 'dashboard', noCache: true, affix: false},
|
||||||
},
|
}
|
||||||
|
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
@@ -162,14 +162,14 @@
|
|||||||
<!-- </div> -->
|
<!-- </div> -->
|
||||||
<!-- 精品课模块 -->
|
<!-- 精品课模块 -->
|
||||||
<div class="xcontent2-main">
|
<div class="xcontent2-main">
|
||||||
<div class="modules-title xindex-main" v-if="this.qusisityList.list.length>0">
|
<div class="modules-title xindex-main" v-if="this.qusisityList.list.length > 0">
|
||||||
<!-- <span class="modules-text" style="color: #3D86F4;">精品课</span> -->
|
<!-- <span class="modules-text" style="color: #3D86F4;">精品课</span> -->
|
||||||
<span class="quyer-tag" style="margin-left: 0px;">
|
<span class="quyer-tag" style="margin-left: 0px;">
|
||||||
<!-- <img src="../assets/images/tutoring1.pn" alt=""> -->
|
<!-- <img src="../assets/images/tutoring1.pn" alt=""> -->
|
||||||
<img class="modules-text" style="height: 24px;" src="../assets/images/course/courseTitle.png" alt="">
|
<img class="modules-text" style="height: 28px;" src="../assets/images/course/courseTitle.png" alt="">
|
||||||
</span>
|
</span>
|
||||||
<span class="more">
|
<span class="more">
|
||||||
<router-link to="/quailtyCourse">查看更多>></router-link>
|
<router-link to="/qualityCourse">查看更多>></router-link>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -212,7 +212,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="course-author">
|
<div class="course-author">
|
||||||
<div class="course-author-left">
|
<div class="course-author-left">
|
||||||
{{ course.authorInfo.teacherName }}
|
{{ course.authorInfo.name }}
|
||||||
|
|
||||||
<span class="study-num"
|
<span class="study-num"
|
||||||
>{{ formatNum(course.studyNum) }}人学习</span
|
>{{ formatNum(course.studyNum) }}人学习</span
|
||||||
@@ -233,7 +233,7 @@
|
|||||||
|
|
||||||
|
|
||||||
<!--内容块-->
|
<!--内容块-->
|
||||||
<div class="modules-title xindex-main" v-if="courseComputedOneList.length > 0">
|
<div class="modules-title xindex-main">
|
||||||
<span class="modules-text">推荐课程</span>
|
<span class="modules-text">推荐课程</span>
|
||||||
<span class="quyer-tag">
|
<span class="quyer-tag">
|
||||||
<a
|
<a
|
||||||
@@ -1505,21 +1505,27 @@ export default {
|
|||||||
//二期调整,直接改成一个地址
|
//二期调整,直接改成一个地址
|
||||||
//return this.webBaseUrl + '/course/detail?id=' + item.id;
|
//return this.webBaseUrl + '/course/detail?id=' + item.id;
|
||||||
let $this = this;
|
let $this = this;
|
||||||
|
let cId = "";
|
||||||
|
if (item.id) {
|
||||||
|
cId = item.id;
|
||||||
|
} else {
|
||||||
|
cId = item.courseId;
|
||||||
|
}
|
||||||
if (item.type == 10) {
|
if (item.type == 10) {
|
||||||
//return this.webBaseUrl + "/course/studyindex?id=" + item.id;
|
//return this.webBaseUrl + "/course/studyindex?id=" + item.id;
|
||||||
//console.log("直接进入学习页面");
|
//console.log("直接进入学习页面");
|
||||||
this.$router.push("/course/studyindex?id=" + item.id?item.id:item.courseId);
|
this.$router.push("/course/studyindex?id=" + cId);
|
||||||
} else if (item.type == 20) {
|
} else if (item.type == 20) {
|
||||||
apiCourseStudy.hasSignup(item.id?item.id:item.courseId).then((rs) => {
|
apiCourseStudy.hasSignup(cId).then((rs) => {
|
||||||
if (rs.status == 200) {
|
if (rs.status == 200) {
|
||||||
//return $this.webBaseUrl + "/course/studyindex?id=" + item.id;
|
//return $this.webBaseUrl + "/course/studyindex?id=" + cId;
|
||||||
this.$router.push("/course/studyindex?id=" + item.id?item.id:item.courseId);
|
this.$router.push("/course/studyindex?id=" + cId);
|
||||||
} else {
|
} else {
|
||||||
//return $this.webBaseUrl + "/course/detail?id=" + item.id;
|
//return $this.webBaseUrl + "/course/detail?id=" + cId;
|
||||||
this.$router.push("/course/detail?id=" + item.id?item.id:item.courseId);
|
this.$router.push("/course/detail?id=" + cId);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
//return $this.webBaseUrl + "/course/detail?id=" + item.id;
|
//return $this.webBaseUrl + "/course/detail?id=" + cId;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
orderTypeFilter(val) {
|
orderTypeFilter(val) {
|
||||||
@@ -1562,7 +1568,20 @@ export default {
|
|||||||
aid: this.userInfo.aid,
|
aid: this.userInfo.aid,
|
||||||
}
|
}
|
||||||
apiIndex.qualitylist(course).then((res) => {
|
apiIndex.qualitylist(course).then((res) => {
|
||||||
console.log(res,'jinpinsjfhhfjash--------------------------');
|
let courseIds = [];
|
||||||
|
res.data.result.forEach((item) => {
|
||||||
|
item.authorInfo = {
|
||||||
|
aid: "",
|
||||||
|
name: "",
|
||||||
|
orgInfo: "",
|
||||||
|
avatar: "",
|
||||||
|
code: "",
|
||||||
|
sex: null,
|
||||||
|
};
|
||||||
|
courseIds.push(item.courseId);
|
||||||
|
});
|
||||||
|
this.loadCouserTeacher(res.data.result, courseIds);
|
||||||
|
console.log(res.data.result,'--------------------------');
|
||||||
this.qusisityList.list = res.data.result;
|
this.qusisityList.list = res.data.result;
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -1765,7 +1784,7 @@ export default {
|
|||||||
let userIds = [];
|
let userIds = [];
|
||||||
list.forEach((item, index) => {
|
list.forEach((item, index) => {
|
||||||
cres.result.some((courseTeahcer) => {
|
cres.result.some((courseTeahcer) => {
|
||||||
if (courseTeahcer.courseId == item.id) {
|
if (courseTeahcer.courseId == (item.id||item.courseId)) {
|
||||||
if (courseTeahcer.teacherIds) {
|
if (courseTeahcer.teacherIds) {
|
||||||
userIds.push(courseTeahcer.teacherIds[0]);
|
userIds.push(courseTeahcer.teacherIds[0]);
|
||||||
item.authorInfo.aid = courseTeahcer.teacherIds[0];
|
item.authorInfo.aid = courseTeahcer.teacherIds[0];
|
||||||
@@ -3115,6 +3134,6 @@ export default {
|
|||||||
background: linear-gradient(135deg, #e6f7ff, #f0f8ff, #ffffff);
|
background: linear-gradient(135deg, #e6f7ff, #f0f8ff, #ffffff);
|
||||||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
|
||||||
border: 1px solid #d9edf7;
|
border: 1px solid #d9edf7;
|
||||||
overflow: hidden;
|
//overflow: hidden;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -123,6 +123,16 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="创建人" prop="sysCreateBy"></el-table-column>
|
<el-table-column label="创建人" prop="sysCreateBy"></el-table-column>
|
||||||
<el-table-column label="创建时间" prop="sysCreateTime" width="230px" show-overflow-tooltip></el-table-column>
|
<el-table-column label="创建时间" prop="sysCreateTime" width="230px" show-overflow-tooltip></el-table-column>
|
||||||
|
<el-table-column label="审核人" prop="auditUser" width="130px" show-overflow-tooltip>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.auditUser || '-' }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="审核时间" prop="auditTime" width="230px" show-overflow-tooltip>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.auditTime || '-' }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column label="是否停用" width="130px">
|
<el-table-column label="是否停用" width="130px">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ scope.row.enabled == true ? '启用' : '停用' }}
|
{{ scope.row.enabled == true ? '启用' : '停用' }}
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
<div class="navTop">
|
<div class="navTop">
|
||||||
<div>
|
<div>
|
||||||
<router-link to="/grateful" class="nav">首页</router-link> >
|
<router-link to="/grateful" class="nav">首页</router-link> >
|
||||||
<span style="cursor: pointer;" class="nav">认证讲师库(2023)</span>
|
<span style="cursor: pointer;" class="nav">认证讲师库</span>
|
||||||
</div>
|
</div>
|
||||||
<div style="position: relative;">
|
<div style="position: relative;">
|
||||||
<el-input class="portal-input" placeholder="请输入课程名称" style="border-radius: 20px !important; "
|
<el-input class="portal-input" placeholder="请输入课程名称" style="border-radius: 20px !important; "
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
<div class="course-title-style">
|
<div class="course-title-style">
|
||||||
<div class="imgTilte">
|
<div class="imgTilte">
|
||||||
<div>精品课程</div>
|
<div>精品课程</div>
|
||||||
<div>COURSE</div>
|
<!-- <div>COURSE</div> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="course-list">
|
<div class="course-list">
|
||||||
@@ -67,34 +67,47 @@
|
|||||||
</div>
|
</div>
|
||||||
<!-- 右侧 -->
|
<!-- 右侧 -->
|
||||||
<div class="xcontent2-main content-div">
|
<div class="xcontent2-main content-div">
|
||||||
|
|
||||||
<!-- 内容导航 -->
|
<!-- 内容导航 -->
|
||||||
<div class="topNav" v-if="!newData">
|
<div class="topNav" v-if="!newData" style="display: flex; flex-direction: row;background-color:#fff;">
|
||||||
<div class="search-div nav" style="height: 100px;flex: 1;">
|
<div>
|
||||||
<div @click="handleTypeAllClick(1)" class="option-item" :class="{ 'option-active': ctypeTagAll }">
|
<div class="search-div nav" style="height: 100px;flex: 1;">
|
||||||
<a>全部</a>
|
<div @click="handleTypeClick(ctypeList[0], ctypeList)" class="option-item"
|
||||||
<span :class="ctypeTagAll ? 'nav-bottbor' : ''"></span>
|
:class="{ 'option-active': ctypeList[0].checked }">
|
||||||
|
<a>全部</a>
|
||||||
|
<span :class="ctypeList[0].checked ? 'nav-bottbor' : ''"></span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div @click="handleTypeClick(ctypeList[1], ctypeList)" class="option-item"
|
||||||
|
:class="{ 'option-active': ctypeList[1].checked }">
|
||||||
|
<a>内部专享</a>
|
||||||
|
<span :class="ctypeList[1].checked ? 'nav-bottbor' : ''"></span>
|
||||||
|
</div>
|
||||||
|
<div @click="handleTypeClick(ctypeList[2], ctypeList)" class="option-item"
|
||||||
|
:class="{ 'option-active': ctypeList[2].checked }">
|
||||||
|
<a>外部精选</a>
|
||||||
|
<span :class="ctypeList[2].checked ? 'nav-bottbor' : ''"></span>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div @click="handleTypeClick(ctypeList[0], ctypeList)" class="option-item"
|
|
||||||
:class="{ 'option-active': ctypeList[0].checked }">
|
|
||||||
<a>内部专享</a>
|
|
||||||
<span :class="ctypeList[0].checked ? 'nav-bottbor' : ''"></span>
|
|
||||||
</div>
|
|
||||||
<div @click="handleTypeClick(ctypeList[1], ctypeList)" class="option-item"
|
|
||||||
:class="{ 'option-active': ctypeList[1].checked }">
|
|
||||||
<a>外部精选</a>
|
|
||||||
<span :class="ctypeList[1].checked ? 'nav-bottbor' : ''"></span>
|
|
||||||
</div>
|
|
||||||
<div style="display: flex;justify-content: space-between;">
|
|
||||||
<el-input placeholder="请输入关键字" v-model="keyword" @input="handleInput" clearable
|
|
||||||
style="width: 300px;"></el-input>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div style="display: flex;justify-content: space-between; align-items: center;">
|
||||||
|
<span style="margin-right: 10px;" class="option-item">请选择年份 </span>
|
||||||
|
<el-select v-model="yearChosen" multiple>
|
||||||
|
<el-option
|
||||||
|
v-for="year in years"
|
||||||
|
v-if="year"
|
||||||
|
:key="year"
|
||||||
|
:label="year"
|
||||||
|
:value="year">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<!-- 清除 -->
|
<!-- 清除 -->
|
||||||
<!-- <div v-if="stagList.length > 0 && !newData" class="search-div" style="padding: 0;margin-bottom: 20px;">
|
<div v-if="stagList.length > 0 && !newData" class="search-div" style="padding: 0;margin-bottom: 20px;">
|
||||||
<div class="searchbar" style="background-color:#f6f7fb;display: flex;justify-content: space-between;">
|
<div class="searchbar" style="background-color:#f6f7fb;display: flex;justify-content: space-between;">
|
||||||
<div style="line-height: 30px;">
|
<div style="line-height: 30px;">
|
||||||
<span class="item-title"> 搜索条件</span>
|
<span class="item-title"> 搜索条件</span>
|
||||||
@@ -105,20 +118,20 @@
|
|||||||
<el-button type="primary" size="mini" @click="handleClearTags">清除</el-button>
|
<el-button type="primary" size="mini" @click="handleClearTags">清除</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div> -->
|
</div>
|
||||||
|
|
||||||
<!-- 标题最新最热好评率 -->
|
<!-- 标题最新最热好评率 -->
|
||||||
<div class="xcourse-list" style="background-color: #fff;border-radius: 8px;padding:0 25px;">
|
<div class="xcourse-list" style="background-color: #fff;border-radius: 8px;padding:0 25px;">
|
||||||
<div class="order-div" v-if="!newData">
|
<div class="order-div" v-if="!newData">
|
||||||
<span class="quyer-tag">
|
<span class="quyer-tag">
|
||||||
<el-button type="text" class="order-class" @click="orderChange('studys')"
|
<el-button type="text" class="order-class" @click="orderChange('DEFAULT')"
|
||||||
:class="{ actice: course.orderField == 'studys' }">全部课程</el-button>
|
:class="{ actice: course.orderField == 'DEFAULT' }">全部课程</el-button>
|
||||||
<el-button type="text" class="order-class" @click="orderChange('studys')"
|
<el-button type="text" class="order-class" @click="orderChange('HOT')"
|
||||||
:class="{ actice: course.orderField == 'studys1' }">最热</el-button>
|
:class="{ actice: course.orderField == 'HOT' }">最热</el-button>
|
||||||
<el-button type="text" class="order-class" @click="orderChange('publishTime')"
|
<el-button type="text" class="order-class" @click="orderChange('NEW')"
|
||||||
:class="{ actice: course.orderField == 'publishTime' }">最新</el-button>
|
:class="{ actice: course.orderField == 'NEW' }">最新</el-button>
|
||||||
<el-button type="text" class="order-class" @click="orderChange('score')"
|
<el-button type="text" class="order-class" @click="orderChange('GOOD')"
|
||||||
:class="{ actice: course.orderField == 'score' }">好评率</el-button>
|
:class="{ actice: course.orderField == 'GOOD' }">好评率</el-button>
|
||||||
</span>
|
</span>
|
||||||
<span class="order-count">
|
<span class="order-count">
|
||||||
共找到<span>{{ count }}</span>个结果
|
共找到<span>{{ count }}</span>个结果
|
||||||
@@ -134,7 +147,7 @@
|
|||||||
<span v-if="cinfo.type == 30" class="course-type-left">线下课</span>
|
<span v-if="cinfo.type == 30" class="course-type-left">线下课</span>
|
||||||
<span v-if="cinfo.type == 40" class="course-type-left">学习项目</span>
|
<span v-if="cinfo.type == 40" class="course-type-left">学习项目</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="course-title two-line-ellipsis" :title="cinfo.title" v-html="cinfo.name"></div>
|
<div class="course-title two-line-ellipsis" :title="cinfo.title" v-html="cinfo.courseName"></div>
|
||||||
<!-- 关键字 -->
|
<!-- 关键字 -->
|
||||||
<div class="keywordInfo-every">
|
<div class="keywordInfo-every">
|
||||||
<div class="keywordInfo" v-for="(keyword, index) in cinfo.keywordsActive" :key="index">
|
<div class="keywordInfo" v-for="(keyword, index) in cinfo.keywordsActive" :key="index">
|
||||||
@@ -147,25 +160,25 @@
|
|||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- {{cinfo}}-->
|
||||||
<div class="couresstartTime">
|
<div class="couresstartTime">
|
||||||
<span v-if="cinfo.type == 30 && cinfo.startTime">开课时间:{{ cinfo.startTime }}</span>
|
<span v-if="cinfo.type == 30 && cinfo.startTime">开课时间:{{ cinfo.startTime }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="course-info">
|
<div class="course-info">
|
||||||
<div class="course-info-user" style="max-width: 100px;" v-if="cinfo.teacher">
|
<div class="course-info-user" style="max-width: 100px;" v-if="cinfo.teacherName">
|
||||||
<el-tooltip :content="cinfo.teacher" placement="bottom" effect="light">
|
<el-tooltip :content="cinfo.teacherName.split(',')[0]" placement="bottom" effect="light">
|
||||||
<span class="course-info-author">{{ cinfo.teacher }}</span>
|
<span class="course-info-author">{{ cinfo.teacherName.split(',')[0] }}</span>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
</div>
|
</div>
|
||||||
<div class="course-info-user">
|
<div class="course-info-user">
|
||||||
<span class="course-info-studys">{{ formatNum(cinfo.studies) }}人学习</span>
|
<span class="course-info-studys">{{ formatNum(cinfo.studyNum) }}人学习</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="course-info-score">
|
<div class="course-info-score">
|
||||||
<div style="display: flex;">
|
<div style="display: flex;">
|
||||||
<interactBar :type="1" nodeWidth="20px" :data="cinfo" :courseExclusive="true" :comments="false"
|
<interactBar :type="1" nodeWidth="20px" :data="cinfo" :courseExclusive="true" :comments="false"
|
||||||
:praises="false" :shares="false" :views="false"></interactBar>
|
:praises="false" :shares="false" :views="false"></interactBar>
|
||||||
<div v-if="cinfo.score">
|
<div v-if="cinfo.courseScore">
|
||||||
<span class="course-score-value">{{ toScore(cinfo.score) }}分</span>
|
<span class="course-score-value">{{ toScore(cinfo.courseScore) }}分</span>
|
||||||
</div>
|
</div>
|
||||||
<div v-else class="course-score-no">未评分</div>
|
<div v-else class="course-score-no">未评分</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -204,10 +217,10 @@
|
|||||||
<!-- <span class="pag-text-msg" v-else-if="moreState == 3 && courseList.length > 0">没有更多数据了</span> -->
|
<!-- <span class="pag-text-msg" v-else-if="moreState == 3 && courseList.length > 0">没有更多数据了</span> -->
|
||||||
<span class="notcoures" v-if="moreState == 3 && courseList.length == 0">
|
<span class="notcoures" v-if="moreState == 3 && courseList.length == 0">
|
||||||
<img :src="`${webBaseUrl}/images/nocouresimg.png`" alt="">
|
<img :src="`${webBaseUrl}/images/nocouresimg.png`" alt="">
|
||||||
<h5>暂无课程,请优先学习其它课程吧~</h5>
|
<h5>当前分类下暂未标记精品课</h5>
|
||||||
</span>
|
</span>
|
||||||
<div v-if="courseList.length > 0">
|
<div v-if="courseList.length > 0">
|
||||||
<pagination :size="course.pageSize" :total="count" :page="course.pageIndex"
|
<pagination :size="course.pageSize" :total="Number(count)" :page="course.pageIndex"
|
||||||
layout="total, prev, pager, next, jumper" @change-page="currentChange"></pagination>
|
layout="total, prev, pager, next, jumper" @change-page="currentChange"></pagination>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -264,29 +277,26 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { mapGetters, mapActions } from "vuex";
|
import {mapActions, mapGetters} from "vuex";
|
||||||
import couresinteract from '@/components/Portal/course/couresinteract.vue';
|
import couresinteract from '@/components/Portal/course/couresinteract.vue';
|
||||||
import portalHeader from "@/components/PortalHeader.vue";
|
import portalHeader from "@/components/PortalHeader.vue";
|
||||||
import portalFooter from "@/components/PortalFooter.vue";
|
import portalFooter from "@/components/PortalFooter.vue";
|
||||||
import portalFloatTools from "@/components/PortalFloatTools.vue";
|
import portalFloatTools from "@/components/PortalFloatTools.vue";
|
||||||
import authorInfo from "@/components/Portal/authorInfo.vue";
|
import authorInfo from "@/components/Portal/authorInfo.vue";
|
||||||
import courseItem from "@/components/Portal/course/courseItem.vue";
|
import courseItem from "@/components/Portal/course/courseItem.vue";
|
||||||
import apiCoursePortal from "@/api/modules/coursePortal.js";
|
|
||||||
import apiCourseStudy from "@/api/modules/courseStudy.js";
|
import apiCourseStudy from "@/api/modules/courseStudy.js";
|
||||||
import courseForm from "@/components/Course/courseForm.vue";
|
import courseForm from "@/components/Course/courseForm.vue";
|
||||||
import apiType from "@/api/modules/type.js";
|
import apiType from "@/api/modules/type.js";
|
||||||
import apiCourse from "@/api/modules/coursePortal.js";
|
import apiCourse from "@/api/modules/coursePortal.js";
|
||||||
import apiOldCourse from "@/api/boe/course.js";
|
|
||||||
import apiTeacher from "@/api/modules/teacher.js";
|
|
||||||
import apiUser from "@/api/system/user.js";
|
|
||||||
import scene from "@/api/modules/scene.js";
|
import scene from "@/api/modules/scene.js";
|
||||||
import apiUserbasic from "@/api/boe/userbasic.js";
|
import apiUserbasic from "@/api/boe/userbasic.js";
|
||||||
import interactBar from "@/components/Portal/interactBar.vue";
|
import interactBar from "@/components/Portal/interactBar.vue";
|
||||||
import courseImage from "@/components/Course/courseImage.vue";
|
import courseImage from "@/components/Course/courseImage.vue";
|
||||||
import { courseType, getType, toScore, formatDate, formatUserNumber, formatDateByFmt } from "@/utils/tools.js";
|
import {formatDate, formatUserNumber, toScore} from "@/utils/tools.js";
|
||||||
import { deepClone, param } from "../../../utils";
|
|
||||||
import apiSearchterm from "@/api/modules/searchterm.js";
|
import apiSearchterm from "@/api/modules/searchterm.js";
|
||||||
import apiPlace from "@/api/phase2/place.js"
|
import apiPlace from "@/api/phase2/place.js"
|
||||||
|
import {qualityCourseTimeMark, qualityPageList} from "@/api/phase2"
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "index",
|
name: "index",
|
||||||
components: {
|
components: {
|
||||||
@@ -306,6 +316,7 @@ export default {
|
|||||||
let list = [];
|
let list = [];
|
||||||
|
|
||||||
},
|
},
|
||||||
|
// 取消搜索条件标签展示
|
||||||
stagList() { //计算出选择的内容
|
stagList() { //计算出选择的内容
|
||||||
let list = [];
|
let list = [];
|
||||||
if (this.keyword) {
|
if (this.keyword) {
|
||||||
@@ -316,11 +327,12 @@ export default {
|
|||||||
checked: true
|
checked: true
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
this.ctypeList.forEach(item => {
|
// 取消 全部 内部专享 外部精选 三种的显示
|
||||||
if (item.checked) {
|
// this.ctypeList.forEach(item => {
|
||||||
list.push(item);
|
// if (item.checked) {
|
||||||
}
|
// list.push(item);
|
||||||
});
|
// }
|
||||||
|
// });
|
||||||
this.oneList.forEach(one => {
|
this.oneList.forEach(one => {
|
||||||
var twoChildChecked = false;//是否有下级
|
var twoChildChecked = false;//是否有下级
|
||||||
one.children.forEach(two => {
|
one.children.forEach(two => {
|
||||||
@@ -387,6 +399,10 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
/** 被选择的精品课程*/
|
||||||
|
courseChosen: void 0,
|
||||||
|
yearChosen: [],
|
||||||
|
years: [],
|
||||||
newData: false,//线上品牌系列隐藏
|
newData: false,//线上品牌系列隐藏
|
||||||
navTitle: [],
|
navTitle: [],
|
||||||
// 设置高亮
|
// 设置高亮
|
||||||
@@ -394,9 +410,9 @@ export default {
|
|||||||
count: 0,//分页总条条数
|
count: 0,//分页总条条数
|
||||||
showUClass: false,
|
showUClass: false,
|
||||||
ctypeList: [
|
ctypeList: [
|
||||||
{ type: 1, id: 20, name: '录播课', checked: false },
|
{ type: 1, id: 0, name: '全部', checked: true },
|
||||||
{ type: 1, id: 30, name: '线下课', checked: false },
|
{ type: 1, id: 1, name: '内部专享', checked: false },
|
||||||
{ type: 1, id: 40, name: '学习项目', checked: false },
|
{ type: 1, id: 2, name: '外部精选', checked: false },
|
||||||
],
|
],
|
||||||
id: '',
|
id: '',
|
||||||
oneList: [], //一级分类{type:11}
|
oneList: [], //一级分类{type:11}
|
||||||
@@ -417,7 +433,7 @@ export default {
|
|||||||
fileBaseUrl: process.env.VUE_APP_FILE_BASE_URL,
|
fileBaseUrl: process.env.VUE_APP_FILE_BASE_URL,
|
||||||
// 查询信息
|
// 查询信息
|
||||||
course: {
|
course: {
|
||||||
orderField: "studys",
|
orderField: "DEFAULT",
|
||||||
companyId: '',
|
companyId: '',
|
||||||
keyword: '',//关键词
|
keyword: '',//关键词
|
||||||
topOrder: true,
|
topOrder: true,
|
||||||
@@ -463,7 +479,11 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
let screenWidth = window.screen.availWidth;
|
|
||||||
|
qualityCourseTimeMark().then(response=>{
|
||||||
|
this.years = response.data.result
|
||||||
|
})
|
||||||
|
// let screenWidth = window.screen.availWidth;
|
||||||
// if (screenWidth < 1280) {
|
// if (screenWidth < 1280) {
|
||||||
// this.course.pageSize = 9;
|
// this.course.pageSize = 9;
|
||||||
// this.columns = 3;
|
// this.columns = 3;
|
||||||
@@ -625,6 +645,7 @@ export default {
|
|||||||
},
|
},
|
||||||
//搜索条件
|
//搜索条件
|
||||||
stagClose(tag, tagIndex) {
|
stagClose(tag, tagIndex) {
|
||||||
|
this.courseChosen = void 0;
|
||||||
tag.checked = false;
|
tag.checked = false;
|
||||||
if (tag.type == 0) {
|
if (tag.type == 0) {
|
||||||
this.keyword = '';
|
this.keyword = '';
|
||||||
@@ -670,9 +691,10 @@ export default {
|
|||||||
handleClearTags() {
|
handleClearTags() {
|
||||||
//清空所有的条件
|
//清空所有的条件
|
||||||
this.keyword = '';
|
this.keyword = '';
|
||||||
this.ctypeList.forEach(item => {
|
// 取消搜索条件标签展示
|
||||||
item.checked = false;
|
// this.ctypeList.forEach(item => {
|
||||||
});
|
// item.checked = false;
|
||||||
|
// });
|
||||||
this.oneList.forEach(one => {
|
this.oneList.forEach(one => {
|
||||||
one.checked = false;
|
one.checked = false;
|
||||||
one.children.forEach(two => {
|
one.children.forEach(two => {
|
||||||
@@ -682,6 +704,8 @@ export default {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
// 清除左侧被选中的内容
|
||||||
|
this.courseChosen = void 0;
|
||||||
this.twoList = [];
|
this.twoList = [];
|
||||||
this.threeList = [];
|
this.threeList = [];
|
||||||
this.navTitle = [];
|
this.navTitle = [];
|
||||||
@@ -691,20 +715,20 @@ export default {
|
|||||||
},
|
},
|
||||||
// 导航切换(录播课,线下课,学习项目)
|
// 导航切换(录播课,线下课,学习项目)
|
||||||
handleTypeClick(item, list) {
|
handleTypeClick(item, list) {
|
||||||
item.checked = !item.checked;
|
// item.checked = !item.checked;
|
||||||
//使用上面一行是可以多选,使用下面是单选
|
//使用上面一行是可以多选,使用下面是单选
|
||||||
// list.forEach(row=>{
|
list.forEach(row=>{
|
||||||
// row.checked=false;
|
row.checked=false;
|
||||||
// })
|
})
|
||||||
// item.checked=true;
|
item.checked=true;
|
||||||
|
|
||||||
this.searchData();
|
this.searchData();
|
||||||
},
|
},
|
||||||
//三级分类
|
//三级分类
|
||||||
handleOptionClick(item, level, list) {
|
handleOptionClick(item, level, list) {
|
||||||
// 线上品牌展示效果
|
// 线上品牌展示效果
|
||||||
this.newData = item.newData;
|
this.newData = item.newData;
|
||||||
console.log(this.newData);
|
this.courseChosen = item.id
|
||||||
|
console.log(item, "---------");
|
||||||
// 单选,排除法
|
// 单选,排除法
|
||||||
this.oneList.forEach(one => {
|
this.oneList.forEach(one => {
|
||||||
one.checked = false;
|
one.checked = false;
|
||||||
@@ -902,7 +926,6 @@ export default {
|
|||||||
// 头部
|
// 头部
|
||||||
emitInput(val) {
|
emitInput(val) {
|
||||||
this.keyword = val;
|
this.keyword = val;
|
||||||
//this.stagList;
|
|
||||||
this.searchData();
|
this.searchData();
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -1105,7 +1128,7 @@ export default {
|
|||||||
return list;
|
return list;
|
||||||
},
|
},
|
||||||
// 查询
|
// 查询
|
||||||
async search() {
|
async search () {
|
||||||
//
|
//
|
||||||
if (this.searching) {
|
if (this.searching) {
|
||||||
this.$message.warning("正在搜索中,请待搜索完成后再重新搜索");
|
this.$message.warning("正在搜索中,请待搜索完成后再重新搜索");
|
||||||
@@ -1160,40 +1183,66 @@ export default {
|
|||||||
// 隐藏loadMore
|
// 隐藏loadMore
|
||||||
this.moreState = 2;
|
this.moreState = 2;
|
||||||
this.course.userId = this.userInfo.aid
|
this.course.userId = this.userInfo.aid
|
||||||
await apiCoursePortal.courseSearch(this.course).then(res => {
|
|
||||||
this.searching = false;
|
|
||||||
if (res.status == 200) {
|
|
||||||
this.totalPages = res.result.totalPages;
|
|
||||||
res.result.list.forEach(item => {
|
|
||||||
if (item.startTime != '') {
|
|
||||||
item.startTime = formatDateByFmt(new Date(item.startTime * 1000), 'yyyy-MM-dd hh:mm')
|
|
||||||
//let time = item.startTime.split('-');
|
|
||||||
//item.startTime = `${time[0]}年${time[1]}月${time[2]}日`
|
|
||||||
}
|
|
||||||
//教师转化
|
|
||||||
if (item.teacher) {
|
|
||||||
item.teacher = item.teacher.split(',').filter(itemValue => itemValue !== 'BOE教师').join(',');
|
|
||||||
// if (dotIdx > 0) {
|
|
||||||
// item.teacher = item.teacher.substring(0, dotIdx);
|
|
||||||
// }
|
|
||||||
}
|
|
||||||
if (item.teacher && item.teacher == 'BOE教师') {
|
|
||||||
item.teacher = '';
|
|
||||||
}
|
|
||||||
|
|
||||||
//转化标红显示
|
// 请求参数预处理
|
||||||
item.title = item.name;
|
const params = JSON.parse(JSON.stringify(this.course))
|
||||||
if (that.course.keyword) {
|
// 清除多余的参数
|
||||||
item.name = that.brightenKeyword(item.name, that.course.keyword);
|
const {pageIndex, orderField, userId} = params
|
||||||
item.keywordsActive = that.brightenKeywords(item.keywordsList, that.course.keyword)
|
params.pageNum = pageIndex
|
||||||
console.log(item.keywordsActive);
|
params.orderByType = orderField
|
||||||
} else {
|
params.courseSource = this.ctypeList.findIndex(e => e.checked)
|
||||||
item.name = item.name;
|
this.yearChosen.length && (params.years = this.yearChosen)
|
||||||
}
|
params.courseName = this.keyword
|
||||||
});
|
delete params.userId
|
||||||
console.log(res.result.list,'data')
|
params.aid = userId
|
||||||
this.courseList = res?.result?.list ?? []
|
params.sysType = this.courseChosen
|
||||||
console.log(this.courseList);
|
|
||||||
|
console.log(`params`, params)
|
||||||
|
await qualityPageList(params).then(res => {
|
||||||
|
this.searching = false;
|
||||||
|
console.log(res.status)
|
||||||
|
if (res.status === 200) {
|
||||||
|
this.totalPages = res.data.result.pages;
|
||||||
|
// res.result.list.forEach(item => {
|
||||||
|
// if (item.startTime != '') {
|
||||||
|
// item.startTime = formatDateByFmt(new Date(item.startTime * 1000), 'yyyy-MM-dd hh:mm')
|
||||||
|
// //let time = item.startTime.split('-');
|
||||||
|
// //item.startTime = `${time[0]}年${time[1]}月${time[2]}日`
|
||||||
|
// }
|
||||||
|
// //教师转化
|
||||||
|
// if (item.teacher) {
|
||||||
|
// item.teacher = item.teacher.split(',').filter(itemValue => itemValue !== 'BOE教师').join(',');
|
||||||
|
// // if (dotIdx > 0) {
|
||||||
|
// // item.teacher = item.teacher.substring(0, dotIdx);
|
||||||
|
// // }
|
||||||
|
// }
|
||||||
|
// if (item.teacher && item.teacher == 'BOE教师') {
|
||||||
|
// item.teacher = '';
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// //转化标红显示
|
||||||
|
// item.title = item.name;
|
||||||
|
// if (that.course.keyword) {
|
||||||
|
// item.name = that.brightenKeyword(item.name, that.course.keyword);
|
||||||
|
// item.keywordsActive = that.brightenKeywords(item.keywordsList, that.course.keyword)
|
||||||
|
// console.log(item.keywordsActive);
|
||||||
|
// } else {
|
||||||
|
// item.name = item.name;
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
|
||||||
|
const list = res.data.result.records ?? []
|
||||||
|
// list.forEach(course=>{
|
||||||
|
// const id = course.courseId
|
||||||
|
//
|
||||||
|
// apiCourse.getTeacherByCourseIDs([id]).then(res=>{
|
||||||
|
// console.log(res, "ids res")
|
||||||
|
// course.teacher = res.result[0].names[0]
|
||||||
|
// console.log(`course.teacher`, course.teacher)
|
||||||
|
// })
|
||||||
|
// })
|
||||||
|
|
||||||
|
this.courseList = list
|
||||||
if (this.newData) {
|
if (this.newData) {
|
||||||
this.courseList = [
|
this.courseList = [
|
||||||
{
|
{
|
||||||
@@ -1238,7 +1287,7 @@ console.log(res.result.list,'data')
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
this.count = res?.result?.count
|
this.count = res.data.result.total
|
||||||
if (this.newData) {
|
if (this.newData) {
|
||||||
this.count = 1
|
this.count = 1
|
||||||
}
|
}
|
||||||
@@ -1246,6 +1295,7 @@ console.log(res.result.list,'data')
|
|||||||
} else {
|
} else {
|
||||||
this.moreState = 2;
|
this.moreState = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
})
|
})
|
||||||
.catch(err => {
|
.catch(err => {
|
||||||
this.moreState = 2;
|
this.moreState = 2;
|
||||||
@@ -1338,6 +1388,11 @@ console.log(res.result.list,'data')
|
|||||||
// this.$router.push(`/course/micro?id=${id}`);
|
// this.$router.push(`/course/micro?id=${id}`);
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
watch:{
|
||||||
|
yearChosen(){
|
||||||
|
this.searchData()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
@@ -1378,7 +1433,7 @@ console.log(res.result.list,'data')
|
|||||||
.course-title-style {
|
.course-title-style {
|
||||||
position: relative;
|
position: relative;
|
||||||
height: 100px;
|
height: 100px;
|
||||||
background-image: url('../../../../public/images/courseBg.png');
|
background-image: url('../../../../public/images/qualityBg.png');
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -1386,19 +1441,20 @@ console.log(res.result.list,'data')
|
|||||||
|
|
||||||
.imgTilte {
|
.imgTilte {
|
||||||
|
|
||||||
& div:first-child {
|
div {
|
||||||
padding-left: 40px;
|
padding-left: 20px;
|
||||||
font-size: 30px;
|
font-size: 50px;
|
||||||
color: #FFFFFF;
|
color: #FFFFFF;
|
||||||
|
font-weight: 500;
|
||||||
}
|
}
|
||||||
|
|
||||||
& div:last-child {
|
// & div:last-child {
|
||||||
padding-left: 40px;
|
// padding-left: 40px;
|
||||||
font-size: 20px;
|
// font-size: 20px;
|
||||||
color: #FFFFFF;
|
// color: #FFFFFF;
|
||||||
opacity: .5;
|
// opacity: .5;
|
||||||
font-family: ArialMT !important;
|
// font-family: ArialMT !important;
|
||||||
}
|
// }
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2057,13 +2113,13 @@ console.log(res.result.list,'data')
|
|||||||
|
|
||||||
.search-div {
|
.search-div {
|
||||||
background: #fff;
|
background: #fff;
|
||||||
padding: 10px 25px;
|
padding: 10px 15px;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
|
|
||||||
::v-deep .el-input {
|
::v-deep .el-input {
|
||||||
width: 420px;
|
width: 420px;
|
||||||
height: 38px;
|
height: 38px;
|
||||||
margin-bottom: 13px;
|
//margin-bottom: 13px;
|
||||||
|
|
||||||
.el-input__inner {
|
.el-input__inner {
|
||||||
height: 38px;
|
height: 38px;
|
||||||
@@ -177,7 +177,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<!-- 课程单元 -->
|
<!-- 课程单元 -->
|
||||||
<div class="course-units" v-if="tab == 1">
|
<div class="course-units" v-if="tab == 1">
|
||||||
<div :style="`height: ${controlHeight}px;overflow-y: auto;`">
|
<div style="min-height: 350px;max-height: 650px ;overflow-y: auto;">
|
||||||
<div class="catalog" v-if="courseInfo.type == 20">
|
<div class="catalog" v-if="courseInfo.type == 20">
|
||||||
<div v-for="(item, index) in catalogTree" :key="index" :name="index">
|
<div v-for="(item, index) in catalogTree" :key="index" :name="index">
|
||||||
<el-menu
|
<el-menu
|
||||||
@@ -816,7 +816,8 @@
|
|||||||
}else if(h>500){
|
}else if(h>500){
|
||||||
h=h+60;
|
h=h+60;
|
||||||
}
|
}
|
||||||
$this.controlHeight=h-95;
|
// 移除高度控制 防止内容塌陷
|
||||||
|
// $this.controlHeight=h-95;
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
@@ -1800,7 +1801,7 @@
|
|||||||
margin: 20px auto;
|
margin: 20px auto;
|
||||||
.course-playbox {
|
.course-playbox {
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
min-height: 400px;
|
//min-height: 400px;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
.course-player-container {
|
.course-player-container {
|
||||||
|
|||||||
Reference in New Issue
Block a user