diff --git a/src/views/portal/course/Index.vue b/src/views/portal/course/Index.vue index fa821ac2..8f38a616 100644 --- a/src/views/portal/course/Index.vue +++ b/src/views/portal/course/Index.vue @@ -90,11 +90,11 @@
-
- {{cinfo.authorInfo.name}} +
+ {{cinfo.teacher}}
- {{cinfo.studys}}人学习 + {{cinfo.studies}}人学习
@@ -218,10 +218,9 @@ import apiUser from "@/api/system/user.js"; import scene from "@/api/modules/scene.js"; import interactBar from "@/components/Portal/interactBar.vue"; import courseImage from "@/components/Course/courseImage.vue"; -import { courseType, getType, toScore } from "@/utils/tools.js"; +import { courseType, getType, toScore,formatDate } from "@/utils/tools.js"; import { deepClone, param } from "../../../utils"; import apiSearchterm from "@/api/modules/searchterm.js"; -import { Promise } from "q"; export default { name: "index", components: { @@ -239,6 +238,7 @@ export default { }, data() { return { + formatDate, couretitle: "", toScore, noPageList: true, //判断接口是否还有数据 @@ -294,8 +294,7 @@ export default { }; }, mounted() { - let screenWidth = window.screen.availHeight; - //console.log("screenWidth", screenWidth); + let screenWidth = window.screen.availWidth; if (screenWidth < 1280) { this.course.pageSize = 9; this.columns = 3; @@ -306,8 +305,6 @@ export default { this.course.pageSize = 15; this.columns = 5; } - //var hasNum=12; - //console.log(parseInt(hasNum/this.columns)*this.columns,'this.columns'); let el_top = document.querySelector("#searchbar"); let el_search = document.querySelector("#searchbar"); @@ -524,18 +521,8 @@ export default { if (this.course.keyword) { apiSearchterm.save({ keyword: this.course.keyword, type: 1 }); } - this.isFind = true; - if (this.category === 0) { - this.course.type = null; - } else if (this.category === 2) { - // if (this.categorySub === "") { - // this.course.type = "20"; - // } else { - // this.course.type = this.categorySub; - // } - } else { - this.course.type = this.category; - } + this.isFind = true; + this.course.type = this.category; if (this.types.sysTypes == 0 || this.types.sysTypes == null) { this.course.sysType1 = ""; this.course.sysType2 = ""; @@ -553,78 +540,11 @@ export default { } this.course.device = 1; this.getTags(); - //从新课程库中取10条,从老库中取10条 - let oldPageIndex = 0; - let oldCateName = ""; - let oldParamsType = ""; - if (this.course.sysType1) { - //cateName - let courseSysType = this.course.sysType1; - let curName = this.optionsList.find(item => { - return item.id === courseSysType; - }); - if (curName) { - oldCateName = curName.name; - } - } - if (this.category == 20) { - oldParamsType = "online-course"; - } else if (this.category == 30) { - oldParamsType = "face-course"; - } else if (this.category == 40) { - oldParamsType = "project"; - } - //if(oldParamsType == '' && oldCateName == '' && this.course.keyword == '') { - if (this.searchTags.length == 0) { - oldPageIndex = this.course.pageIndex - 3; - } else { - oldPageIndex = this.course.pageIndex; - } - - let oldParams = { - type: oldParamsType, - page: oldPageIndex, - size: this.course.pageSize, - keyword: this.course.keyword, - sort: "new", - cateName: oldCateName - }; - if (this.course.orderField == "id") { - //最新 - oldParams.sort = "new"; - } - if (this.course.orderField == "studys") { - //最热 - oldParams.sort = "hot"; + if(this.course.pageIndex == 1) { + this.courseList = []; } let data = []; let isTopList = []; - - if (this.course.pageIndex > this.totalPages) { - //console.log(this.course.pageIndex, this.totalPages, "1"); - this.noDataList = true; - if (this.searchTags.length == 0) { - oldParams.page = this.course.pageIndex - this.totalPages; - } - } else { - //console.log(this.course.pageIndex, this.totalPages, "2"); - if (this.searchTags.length == 0) { - if (this.totalPages > 3) { - if (this.course.pageIndex <= 3) { - this.noDataList = false; - } else { - this.noDataList = true; - } - } - } - // if(this.totalPages == 1 && this.course.pageIndex ==1){ - // this.noDataList = true; - // } - } - if (this.course.type == 30 || this.course.type == 40) { - this.noPageList = false; - } - //console.log(this.noDataList, this.totalPages, "this.noDataList"); // 隐藏loadMore this.moreState = 2; await apiCoursePortal @@ -634,130 +554,18 @@ export default { this.totalPages = res.result.totalPages; let courseIds = []; res.result.list.forEach(item => { - item.name = this.$keywordActiveShow( - item.name, - this.course.keyword - ); - item.couretitle = this.$keywordActiveShow( - item.name, - this.course.keyword - ) - .replace(/<[^>]+>|&[^>]+;/g, "") - .trim(); //去掉所有的html标签和 之类的特殊符合 - item.authorInfo = { - aid: "", - name: "", - orgInfo: "", - avatar: "", - code: "" - }; courseIds.push(item.id); - if (item.isTop) { - isTopList.push(item); - } else { - data.push(item); - } + data.push(item); }); - that.loadCouserTeacher(res.result.list, courseIds); that.moreState = 1; } else { - that.noPageList = false; + this.moreState = 3; } }) .catch(err => { - that.noPageList = false; + this.moreState = 3; }); - if (this.course.orderField == "id") { - //最新 - data.sort(this.pcompare("publishTime", false)); - } - if (this.course.orderField == "studys") { - //最热 - data.sort(this.pcompare("studys", false)); - } - this.courseList.push(...isTopList, ...data); - if (this.noDataList == false && this.noPageList == false) { - this.moreState = 3; - } - }, - pcompare(prop, rev) { - if (rev === undefined) { - rev = 1; - } else { - rev = rev ? 1 : -1; - } - return function(obj1, obj2) { - let val1 = obj1[prop], - val2 = obj2[prop]; - return val1 < val2 ? rev * -1 : rev * 1; - }; - }, - filterConversion(data) { - let list = []; - data.forEach((item, index) => { - list.push({ - coverImg: item.cover[0].url, - name: item.title, - type: item.type, - id: item.id, - studys: Number(item.enrollSuccess), // Number(), //学习人数 - score: item.score, - publishTime: item.releaseDate, - authorInfo: { - avatar: "", - name: "" - } - }); - }); - return list; - }, - loadCouserTeacher(list, ids) { - let that = this; - // 先查课程关联教师iD - apiCourse.getTeacherByCourseIDs(ids).then(cres => { - if (cres.status == 200) { - let userIds = []; - list.forEach((item, index) => { - cres.result.some(courseTeahcer => { - if (courseTeahcer.courseId == item.id) { - if (courseTeahcer.teacherIds) { - userIds.push(courseTeahcer.teacherIds[0]); - item.authorInfo.aid = courseTeahcer.teacherIds[0]; - item.authorInfo.name = courseTeahcer.names[0]; - } - return true; - } else { - return false; - } - }); - }); - //that.loadCourseAuthorInfo(list,userIds); - } - }); - }, - loadCourseAuthorInfo(list, ids) { - //加载作者信息,头像,机构信息 - if (ids.length == 0) { - return; - } - const noReapetIds = [...new Set(ids)]; - apiUser.getByIds(ids).then(res => { - if (res.status == 200) { - list.forEach((item, index) => { - res.result.some(author => { - if (author.aid == item.authorInfo.aid) { - item.authorInfo = author; - return true; - } else { - return false; - } - }); - }); - } else { - console.log("加载课程信息失败:" + res.error); - //this.$message.error(res.message); - } - }); + this.courseList.push(...data); }, getTags() { this.searchTags = [];