U选小课堂
@@ -285,7 +258,7 @@
-
+
通用力专区
加厚职业素养,轻学习、快成长!
@@ -296,17 +269,6 @@
创新力专区课程版权已到期!
-
@@ -335,7 +297,6 @@ import apiSearchterm from "@/api/modules/searchterm.js";
import apiPlace from "@/api/phase2/place.js"
import {qualityCourseTimeMark, qualityPageList} from "@/api/phase2"
import apiCourseTag from '@/api/modules/courseTag.js'
-
export default {
name: "index",
components: {
@@ -355,45 +316,19 @@ export default {
let list = [];
},
+ // 取消搜索条件标签展示
stagList() { //计算出选择的内容
let list = [];
-
- // 关键词
if (this.keyword) {
list.push({
type: 0,
id: 'keyword',
name: this.keyword,
- tagName: this.keyword,
checked: true
- });
+ })
}
-
- // 课程类型
- this.ctypeList.forEach(item => {
- if (item.checked) {
- list.push({
- ...item,
- tagName: item.name
- });
- }
- });
-
- // 热点标签
- this.hotTagsList.forEach(item => {
- if (item.checked) {
- list.push({
- ...item,
- name: item.tagName || item.name,
- tagName: item.tagName || item.name,
- type: 14
- });
- }
- });
-
- // 三级分类
this.oneList.forEach(one => {
- var twoChildChecked = false;
+ var twoChildChecked = false;//是否有下级
one.children.forEach(two => {
if (two.checked) {
twoChildChecked = true;
@@ -401,28 +336,18 @@ export default {
var threeChildChecked = false;
two.children.forEach(three => {
if (three.checked) {
- list.push({
- ...three,
- tagName: three.name
- });
+ list.push(three);
threeChildChecked = true;
}
});
if (two.checked && !threeChildChecked) {
- list.push({
- ...two,
- tagName: two.name
- });
+ list.push(two);
}
});
if (one.checked && !twoChildChecked) {
- list.push({
- ...one,
- tagName: one.name
- });
+ list.push(one);
}
- });
-
+ })
return list;
},
ctypeTagAll() {
@@ -431,14 +356,9 @@ export default {
});
return !flag;
},
- // 添加计算是否所有热点标签都未选中(即"全部"选中状态)
- isAllHotTagsSelected() {
- return !this.hotTagsList.some(tag => tag.checked);
- }
},
data() {
return {
- hotTagsList: [],
/** 被选择的精品课程*/
courseChosen: void 0,
yearChosen: [],
@@ -503,7 +423,8 @@ export default {
searchRecords: [],
hotList: [],
totalPages: 1,
- localSessionKey: this.$xpage.constants.localCourseFiltersKey
+ localSessionKey: this.$xpage.constants.localCourseFiltersKey,
+ hotTagsList: [],
};
},
// 受众需要每次刷新
@@ -516,15 +437,13 @@ export default {
} else {
console.log(rs.message);
}
- });
-
- // 初始化热点标签
- this.initHotTags();
+ })
},
mounted() {
+
qualityCourseTimeMark().then(response=>{
this.years = response.data.result
- });
+ })
let el_top = document.querySelector("#searchbar");
let el_search = document.querySelector("#searchbar");
@@ -532,16 +451,17 @@ export default {
let flag = true;
let $this = this;
this.getAnkingData();
-
+ // window.addEventListener("scroll", this.handleScroll);
+ // if (this.$route.query !== {}) {
if (this.$route.query.keyword) {
this.keyword = this.$route.query.keyword;
}
this.loadTypeData();//加载分类
-
+ //this.getSceneData(); //已经没有场景了
if (this.keyword) {
this.totalPages = 4;
}
-
+ //新加
this.refId = this.$route.query.recommendId;
if (this.refId) {
this.course.type = 'recommend'
@@ -549,9 +469,10 @@ export default {
this.loadSysTypes();
this.getScoreList();
this.getHotList();
-
+ //查询排行榜,页面打开只查询一次
let localKey = "user_" + this.userInfo.sysId + "_gids";
if (this.audiences.length == 0) {
+ //let hasIds;
let hasIds = sessionStorage.getItem(localKey);
if (hasIds && hasIds.length > 0) {
this.audiences = hasIds.split(",");
@@ -568,21 +489,16 @@ export default {
})
}
}
-
this.couresreso();//广告位
},
beforeDestroy() {
// window.removeEventListener("scroll", this.handleScroll);
},
methods: {
- isTagMatched(tag) {
- // 检查stagList中是否有匹配的标签
- return this.stagList.some(searchTag =>
- searchTag.tagName === tag || searchTag.name === tag
- );
- },
- // 添加清除热点标签选中的方法
+ isAllHotTagsSelected() {
+ return !this.hotTagsList.some(tag => tag.checked);
+ },
handleClearHotTags() {
// 清除所有热点标签的选中状态
this.hotTagsList.forEach(tag => {
@@ -594,22 +510,22 @@ export default {
// 触发搜索
this.searchData();
},
+ handleTagClick(item, list,type) {
+ item.checked = !item.checked;
- // 初始化热点标签
- initHotTags() {
- // 初始化:获取最新前10个热点标签
- apiCourseTag.getHotTagList(null).then(rs => {
- if (rs.status == 200) {
- this.hotTagsList = rs.result.map(tag => ({
- ...tag,
- checked: false
- }));
- } else {
- console.log(rs.message);
- }
+ // 更新course.tags
+ const checkedTags = this.hotTagsList.filter(tag => tag.checked);
+ let tagIds = checkedTags.map(tag => tag.id).join(',');
+ this.course.tags = tagIds;
+
+ // 强制触发stagList重新计算
+ this.$nextTick(() => {
+ this.searchData(type);
});
},
+
+
// 改变分页
currentChange(val) {
this.course.pageIndex = val
@@ -635,6 +551,7 @@ export default {
}
},
uClassClick() {
+ // this.showUClass = true;
window.open("https://m.qingxuetang.com/x/?appId=qxtcorp306130")
},
saveLocalFilters() {
@@ -647,6 +564,7 @@ export default {
})
});
let typeCodeString = JSON.stringify(typeCodeList);
+ //console.log(typeCodeString);
sessionStorage.setItem(this.localSessionKey, typeCodeString);
},
loadLocalFilters() {
@@ -692,54 +610,10 @@ export default {
stagClose(tag, tagIndex) {
this.courseChosen = void 0;
tag.checked = false;
-
- // 根据标签类型处理不同的清除逻辑
if (tag.type == 0) {
- // 关键词类型
this.keyword = '';
- } else if (tag.type == 1) {
- // 课程类型(全部、内部专享、外部精选)
- this.ctypeList.forEach(item => {
- if (item.id == tag.id) {
- item.checked = false;
- }
- });
- } else if (tag.type == 14) {
- // 热点标签类型
- this.hotTagsList.forEach(item => {
- if (item.id == tag.id) {
- item.checked = false;
- }
- });
-
- // 更新course.tags,移除被删除的热点标签
- const checkedHotTags = this.hotTagsList.filter(tag => tag.checked);
- let tagIds = checkedHotTags.map(tag => tag.id).join(',');
- this.course.tags = tagIds;
-
- } else if (tag.type == 11 || tag.type == 12 || tag.type == 13) {
- // 三级分类标签
- this.oneList.forEach(one => {
- if (one.id == tag.id) {
- one.checked = false;
- }
- one.children.forEach(two => {
- if (two.id == tag.id) {
- two.checked = false;
- }
- two.children.forEach(three => {
- if (three.id == tag.id) {
- three.checked = false;
- }
- });
- });
- });
}
-
- // 重置导航标题
- this.navTitle = [];
-
- // 触发搜索更新
+ this.navTitle = []
this.searchData();
},
@@ -780,45 +654,36 @@ export default {
handleClearTags() {
//清空所有的条件
this.keyword = '';
- this.ctypeList.forEach(item => {
- item.checked = false;
- });
- this.hotTagsList.forEach(item => {
- item.checked = false;
- });
- this.course.tags = ''; // 清空标签ID
-
- // 添加清除三级分类的逻辑
+ // 取消搜索条件标签展示
+ // this.ctypeList.forEach(item => {
+ // item.checked = false;
+ // });
this.oneList.forEach(one => {
one.checked = false;
one.children.forEach(two => {
two.checked = false;
two.children.forEach(three => {
three.checked = false;
- });
- });
+ })
+ })
});
-
- // 清空导航标题
- this.navTitle = [];
+ // 清除左侧被选中的内容
this.courseChosen = void 0;
this.twoList = [];
this.threeList = [];
+ this.navTitle = [];
this.newData = false;
sessionStorage.removeItem(this.localSessionKey)
this.searchData();
},
- // 导航切换(全部、内部专享、外部精选)
+ // 导航切换(录播课,线下课,学习项目)
handleTypeClick(item, list) {
- item.checked = !item.checked;
- const checkedTags = this.hotTagsList.filter(tag => tag.checked);
- let tagIds = checkedTags.map(tag => tag.id).join(',');
- this.course.tags = tagIds;
+ // item.checked = !item.checked;
//使用上面一行是可以多选,使用下面是单选
- // list.forEach(row=>{
- // row.checked=false;
- // })
- // item.checked=true;
+ list.forEach(row=>{
+ row.checked=false;
+ })
+ item.checked=true;
this.searchData();
},
//三级分类
@@ -827,10 +692,6 @@ export default {
this.newData = item.newData;
this.courseChosen = item.id
console.log(item, "---------");
-
- // 点击左侧分类时,动态加载对应的标签
- this.loadTagsByCategory(item.id);
-
// 单选,排除法
this.oneList.forEach(one => {
one.checked = false;
@@ -853,27 +714,8 @@ export default {
})
})
})
-
this.searchData();
},
-
- // 根据分类加载标签
- loadTagsByCategory(categoryId) {
- // 根据分类ID加载对应的标签
- apiCourseTag.getHotTagList({ sysType: categoryId }).then(rs => {
- if (rs.status == 200) {
- // 保留已选中标签的状态
- const currentCheckedTags = this.hotTagsList.filter(tag => tag.checked);
- this.hotTagsList = rs.result.map(tag => ({
- ...tag,
- checked: currentCheckedTags.some(checkedTag => checkedTag.id === tag.id)
- }));
- } else {
- console.log(rs.message);
- }
- });
- },
-
// 无用
handleChangeTypes(item) {
console.log(item);
@@ -937,8 +779,11 @@ export default {
})
}
$this.oneList.push(newItem);
+
+
});
this.loadLocalFilters();
+ // this.search()
}
} catch (error) {
console.log(error);
@@ -974,8 +819,7 @@ export default {
this.keyword = val;
this.searchData();
},
-
- toNeedCourse() {// 上传
+ toNeedCourse() {
this.$refs.floatTools.toNeedCourse();
},
searchData(type) {
@@ -1016,7 +860,11 @@ export default {
courseId = item.courseId;
}
if (item.source == 1) {
+ //return `${this.webBaseUrl}/course/boeframe?id=${item.id}&type=${item.type}`;
+ //location.href=`${this.webBaseUrl}/course/boeframe?id=${item.id}&type=${item.type}`;
this.$router.push('/course/boeframe?id=' + courseId + '&type=' + item.type);
+ //此处使用window.open有问题
+ //window.open(`${this.webBaseUrl}/course/boeframe?id=${item.id}&type=${item.type}`);
} else if (item.source == 3) {
//跳转到管理系统的页面
let manageApi = process.env.VUE_APP_MANAGER_API_PATH;
@@ -1027,18 +875,23 @@ export default {
} else if (item.type == 40) { //学习项目
let params = encodeURIComponent('projectId=' + courseId);
this.$router.push('/forward?to=' + studentPath + '/projectdetails¶ms=' + params);
+ //this.$router.push('/forward?to='+manageApi+'/stu/project/redirectDetail¶ms='+params);
}
} else {
if (item.type == 10) {
+ //return this.webBaseUrl + "/course/studyindex?id=" + item.id;
this.$router.push("/course/studyindex?id=" + courseId);
} else if (item.type == 20) {
apiCourseStudy.hasSignup(courseId).then(rs => {
if (rs.status == 200) {
+ //return $this.webBaseUrl + "/course/studyindex?id=" + item.id;
this.$router.push("/course/studyindex?id=" + courseId);
} else {
+ //return $this.webBaseUrl + "/course/detail?id=" + item.id;
this.$router.push("/course/detail?id=" + courseId);
}
})
+ //return $this.webBaseUrl + "/course/detail?id=" + item.id;
}
}
},
@@ -1117,11 +970,6 @@ export default {
list.push(item);
}
});
- this.hotTagsList.forEach(item => {
- if (item.checked) {
- list.push(item);
- }
- });
this.oneList.forEach(one => {
one.children.forEach(two => {
two.children.forEach(three => {
@@ -1146,7 +994,6 @@ export default {
return;
}
this.searching = true;
-
this.saveLocalFilters();
let that = this;
if (this.keyword) {
@@ -1156,14 +1003,13 @@ export default {
if (this.audiences.length > 0) {
this.course.audiences = this.audiences.join(",");
}
-
+ //console.log(this.userInfo)
this.course.type = "";//不使用单查询了
this.course.types = "";
this.course.sysType1 = "";
this.course.sysType2 = "";
this.course.sysType3 = "";
this.course.keyword = this.keyword;
-
let allChecked = this.getAllChecked();
allChecked.forEach(item => {
if (item.type == 1) {
@@ -1180,9 +1026,7 @@ export default {
that.course.sysType3 += item.id;
}
});
-
- // 动态加载标签数据(如果不是标签点击触发的搜索)
- if (!type || type !== 1){
+ if (!type && type !== 1){
apiCourseTag.getHotTagList(that.course).then(rs => {
if (rs.status == 200) {
// 保留已选中标签的状态
@@ -1220,7 +1064,6 @@ export default {
delete params.userId
params.aid = userId
params.sysType = this.courseChosen
- params.tags = this.
console.log(`params`, params)
await qualityPageList(params).then(res => {
@@ -1230,6 +1073,7 @@ export default {
this.totalPages = res.data.result.pages;
const list = res.data.result.records ?? []
+
this.courseList = list
if (this.newData) {
this.courseList = [
@@ -1289,6 +1133,7 @@ export default {
this.moreState = 2;
});
},
+
getAnkingData() {
apiCourse.ranking().then(res => {
if (res.status == 200) {
@@ -1314,6 +1159,7 @@ export default {
}
})
this.scorelist = res.result;
+ // console.log(this.scorelist)
}
});
},
@@ -1332,12 +1178,36 @@ export default {
});
},
jumpRouter(item) {
+ //console.log(item.type, "item.type");
+ // return console.log(id,type,"fihkj1")
+ // if (item.type == 20) {
+ //录播课
+ // window.open(`${this.webBaseUrl}/course/detail?id=${id}`)
this.$router.push(`/course/detail?id=${item.id}`);
+ // }
+ // if (item.type == 10) {
+ //微课
+ // window.open(`${this.webBaseUrl}/course/micro?id=${id}`)
+ // this.$router.push(`/course/micro?id=${item.id}`);
+ // }
},
jumpRouter2(item) {
+ // console.log(item,"土豪包括九年")
let type = item.courseType;
let id = item.courseId;
+
+ //console.log(item.type,type,'item.type');
+ // return console.log(id,type,"fihkj1")
+ // if (type == 20) {
+ //录播课
+ // window.open(`${this.webBaseUrl}/course/detail?id=${id}`)
this.$router.push(`/course/detail?id=${id}`);
+ // }
+ // if (type == 10) {
+ //微课
+ // window.open(`${this.webBaseUrl}/course/micro?id=${id}`)
+ // this.$router.push(`/course/micro?id=${id}`);
+ // }
}
},
watch:{
@@ -1398,6 +1268,15 @@ export default {
color: #FFFFFF;
font-weight: 500;
}
+
+ // & div:last-child {
+ // padding-left: 40px;
+ // font-size: 20px;
+ // color: #FFFFFF;
+ // opacity: .5;
+ // font-family: ArialMT !important;
+ // }
+
}
}
@@ -1488,6 +1367,7 @@ export default {
.ClassBoxContent {
width: 100%;
height: 396px;
+ // background: red;
border-radius: 15px;
.ContentBox {
@@ -1544,6 +1424,7 @@ export default {
}
.right {
+ // padding-left: 10px;
width: 50%;
.tyl {
@@ -1560,6 +1441,11 @@ export default {
padding-left: 20px;
padding-top: 20px;
+ .tyl_title_img {
+ width: 18px;
+ height: 18px;
+ }
+
.tyl_title_msg {
font-size: 20px;
margin-left: 10px;
@@ -1612,6 +1498,11 @@ export default {
padding-left: 20px;
padding-top: 20px;
+ .tyl_title_img {
+ width: 18px;
+ height: 18px;
+ }
+
.tyl_title_msg {
font-size: 20px;
margin-left: 10px;
@@ -1646,6 +1537,15 @@ export default {
}
}
}
+
+ .img {
+ width: 835px;
+ height: 428px;
+ margin-left: -1px;
+ margin-top: -1px;
+ position: absolute;
+ top: 0px;
+ }
}
}
@@ -1655,6 +1555,10 @@ export default {
padding-top: 5px;
font-size: 14px;
color: #666;
+ // position: absolute;
+ // right:2px;
+ // height: 20px;
+ // bottom: 50px;
}
.interact-bar-value {
@@ -1678,6 +1582,11 @@ export default {
.notcoures {
text-align: center;
+ img {
+ width: 360px;
+ height: 226px;
+ }
+
h5 {
font-size: 14px;
color: #333333;
@@ -1755,10 +1664,13 @@ export default {
& .keywordInfo:last-child {
margin-right: 0 !important;
}
+
}
+
.list-active {
display: none;
+ // width: 458px;
width: 135%;
height: 165px;
padding: 20px;
@@ -1794,8 +1706,9 @@ export default {
.course-type {
position: absolute;
right: 23.5%;
+ // bottom: 26%;
top: 0;
- height: 20;
+ height: 20px;
line-height: 20px;
font-size: 12px;
color: #FFFFFF;
@@ -1808,6 +1721,7 @@ export default {
.list-text {
flex: 1;
+ // margin-left: 12px;
h6 {
font-size: 14px;
margin: 0px;
@@ -1845,10 +1759,13 @@ export default {
}
.list-info:hover .list-active {
+ // transition: all 0.5s;
display: block;
}
.course-banner {
+ // height: 240px;
+ // background: url('../../../../public/images/course-banner.png');
background-color: #0078FC;
}
@@ -1857,6 +1774,7 @@ export default {
}
::v-deep .title-line-ellipsis {
+ // width: 100%;
display: -webkit-box;
overflow: hidden;
text-overflow: ellipsis;
@@ -1897,6 +1815,16 @@ export default {
left: 98%;
}
+// .el-radio-button{
+// margin-right: 10px;
+// margin-bottom: 10px;
+
+// .el-radio-button__inner{
+// background: #fff;
+// border: none;
+// height: 20px;
+// }
+// }
::v-deep .el-radio-button__inner,
.el-radio-group {
vertical-align: top;
@@ -1908,6 +1836,8 @@ export default {
::v-deep .el-radio-button:first-child .el-radio-button__inner {
border-left: none;
+ // border-radius: 4px 0 0 4px;
+ //box-shadow: none!important;
}
.item-title {
@@ -1950,6 +1880,9 @@ export default {
.searchbar {
background-color: #ffffff;
+ // border: 1px solid #f3f3f3;
+ // width: 900px;
+ // padding: 5px 20px;
}
.fixed {
@@ -1962,6 +1895,8 @@ export default {
.content-div {
.quyer-tag {
+
+ // margin-left: 10px;
.order-class {
margin: 30px 0;
color: #6E7B84;
@@ -2005,6 +1940,7 @@ export default {
::v-deep .el-input {
width: 420px;
height: 38px;
+ //margin-bottom: 13px;
.el-input__inner {
height: 38px;
@@ -2037,6 +1973,14 @@ export default {
}
}
+ // .tip{
+ // color:#999999;
+ // font-size: 12px;
+ // >span{
+ // margin-right: 8px;
+ // cursor: pointer;
+ // }
+ // }
.search-item {
// padding: 10px 0;
}
@@ -2079,7 +2023,18 @@ export default {
}
}
}
-
+.hot-tags-wrapper {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 15px;
+ align-items: center;
+ padding-top: 2px;
+}
+.search-div.nav {
+ display: block;
+ width: 100%;
+ clear: both;
+}
.search-item-type {
line-height: 25px;
padding-right: 10px;
@@ -2088,7 +2043,7 @@ export default {
}
.option-item {
- font-family: "Menlo", "苹苹方-简" !important;
+ font-family: "Menlo", "苹方-简" !important;
color: #3d3d3d;
display: inline-block;
font-size: 14px;
@@ -2107,61 +2062,4 @@ export default {
color: #387DF7;
}
-/* 添加标签样式 */
-.course-tags {
- margin: 5px 0;
- min-height: 20px;
-}
-
-.hot-tags-wrapper {
- display: flex;
- flex-wrap: wrap;
- gap: 15px;
- align-items: center;
- padding-top: 2px;
-}
-
-.course-tag-item {
- color: #333333;
-}
-.course-tag-item[style*="color: #387DF7"] {
- color: #387DF7 !important;
-}
-
-/* 调整option-item样式以适应换行布局 */
-.option-item {
- position: relative;
- cursor: pointer;
- white-space: nowrap;
-}
-
-/* 保持原有的导航底部横线样式 */
-.nav-bottbor {
- position: absolute;
- top: 130%;
- left: 0;
- width: 100%;
- height: 4px;
- background: #387DF7;
- border-radius: 5px;
-}
-
-/* 响应式调整,当屏幕较小时减小标签间距 */
-@media (max-width: 1600px) {
- .hot-tags-wrapper {
- gap: 10px;
- }
-}
-
-@media (max-width: 1400px) {
- .hot-tags-wrapper {
- gap: 5px;
- }
-}
-
-.search-div.nav {
- display: block;
- width: 100%;
- clear: both;
-}
From 89a9be76d471a28724093d87040142d03f628dcf Mon Sep 17 00:00:00 2001
From: 670788339 <670788339@qq.com>
Date: Sun, 9 Nov 2025 15:25:13 +0800
Subject: [PATCH 23/58] =?UTF-8?q?=E5=BC=80=E5=8F=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/portal/course/qualityCourse.vue | 21 +++++++++++++++++++--
1 file changed, 19 insertions(+), 2 deletions(-)
diff --git a/src/views/portal/course/qualityCourse.vue b/src/views/portal/course/qualityCourse.vue
index ccb17b11..8f2d1e96 100644
--- a/src/views/portal/course/qualityCourse.vue
+++ b/src/views/portal/course/qualityCourse.vue
@@ -148,6 +148,18 @@
学习项目
@@ -653,7 +665,12 @@ export default {
this.navTitle = []
this.searchData();
},
-
+ isTagMatched(tag) {
+ // 检查stagList中是否有匹配的标签
+ return this.stagList.some(searchTag =>
+ searchTag.tagName === tag || searchTag.name === tag
+ );
+ },
// 导航全选
handleTypeAllClick(t) {
if (t == 1) {
@@ -1887,7 +1904,7 @@ export default {
right: 23.5%;
// bottom: 26%;
top: 0;
- height: 20;
+ height: 20px;
line-height: 20px;
font-size: 12px;
color: #FFFFFF;
From 29ece965288430534c32f3fc5906650a91897dd9 Mon Sep 17 00:00:00 2001
From: 670788339 <670788339@qq.com>
Date: Sun, 9 Nov 2025 15:50:53 +0800
Subject: [PATCH 24/58] =?UTF-8?q?=E5=BC=80=E5=8F=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/portal/course/qualityCourse.vue | 73 ++++++++++++++++++++++-
1 file changed, 72 insertions(+), 1 deletion(-)
diff --git a/src/views/portal/course/qualityCourse.vue b/src/views/portal/course/qualityCourse.vue
index 7921f98f..63901ed4 100644
--- a/src/views/portal/course/qualityCourse.vue
+++ b/src/views/portal/course/qualityCourse.vue
@@ -329,7 +329,7 @@ export default {
},
// 取消搜索条件标签展示
- stagList() { //计算出选择的内容
+ /*stagList() { //计算出选择的内容
let list = [];
if (this.keyword) {
list.push({
@@ -360,6 +360,77 @@ export default {
list.push(one);
}
})
+ return list;
+ },*/
+
+ stagList() {
+ let list = [];
+
+ // 关键词
+ if (this.keyword) {
+ list.push({
+ type: 0,
+ id: 'keyword',
+ name: this.keyword,
+ tagName: this.keyword,
+ checked: true
+ });
+ }
+
+ // 课程类型
+ this.ctypeList.forEach(item => {
+ if (item.checked) {
+ list.push({
+ ...item,
+ tagName: item.name
+ });
+ }
+ });
+
+ // 热点标签 - 这是关键修复
+ this.hotTagsList.forEach(item => {
+ if (item.checked) {
+ list.push({
+ ...item,
+ name: item.tagName || item.name,
+ tagName: item.tagName || item.name,
+ type: 14
+ });
+ }
+ });
+
+ // 三级分类
+ this.oneList.forEach(one => {
+ var twoChildChecked = false;
+ one.children.forEach(two => {
+ if (two.checked) {
+ twoChildChecked = true;
+ }
+ var threeChildChecked = false;
+ two.children.forEach(three => {
+ if (three.checked) {
+ list.push({
+ ...three,
+ tagName: three.name
+ });
+ threeChildChecked = true;
+ }
+ });
+ if (two.checked && !threeChildChecked) {
+ list.push({
+ ...two,
+ tagName: two.name
+ });
+ }
+ });
+ if (one.checked && !twoChildChecked) {
+ list.push({
+ ...one,
+ tagName: one.name
+ });
+ }
+ });
+
return list;
},
ctypeTagAll() {
From 78b8b76dc3bdbd62025725d8c3e9f8673e4f60ae Mon Sep 17 00:00:00 2001
From: 670788339 <670788339@qq.com>
Date: Sun, 9 Nov 2025 16:03:20 +0800
Subject: [PATCH 25/58] =?UTF-8?q?=E5=BC=80=E5=8F=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/portal/course/qualityCourse.vue | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/views/portal/course/qualityCourse.vue b/src/views/portal/course/qualityCourse.vue
index 63901ed4..42ac03e3 100644
--- a/src/views/portal/course/qualityCourse.vue
+++ b/src/views/portal/course/qualityCourse.vue
@@ -600,15 +600,16 @@ export default {
const checkedTags = this.hotTagsList.filter(tag => tag.checked);
let tagIds = checkedTags.map(tag => tag.id).join(',');
this.course.tags = tagIds;
+ this.$forceUpdate();
+ this.searchData(type);
// 强制触发stagList重新计算
- this.$nextTick(() => {
- this.searchData(type);
- });
+ // this.$nextTick(() => {
+ // this.searchData(type);
+ // });
},
-
// 改变分页
currentChange(val) {
this.course.pageIndex = val
From d5ec4c1833b3954fa11fbbe49413c1204f06e525 Mon Sep 17 00:00:00 2001
From: 670788339 <670788339@qq.com>
Date: Sun, 9 Nov 2025 16:25:03 +0800
Subject: [PATCH 26/58] =?UTF-8?q?=E5=BC=80=E5=8F=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/portal/course/qualityCourse.vue | 167 +++++++++++++++-------
1 file changed, 113 insertions(+), 54 deletions(-)
diff --git a/src/views/portal/course/qualityCourse.vue b/src/views/portal/course/qualityCourse.vue
index 8f2d1e96..41013f36 100644
--- a/src/views/portal/course/qualityCourse.vue
+++ b/src/views/portal/course/qualityCourse.vue
@@ -89,6 +89,32 @@