Merge branch 'master-20251023-tag' into test1024

# Conflicts:
#	src/api/modules/course.js
#	src/components/Course/courseForm.vue
#	src/views/portal/course/Index.vue
This commit is contained in:
670788339
2025-11-10 19:31:18 +08:00
4 changed files with 26 additions and 23 deletions

View File

@@ -440,10 +440,12 @@ const queryCrowd=function(query){
const ids=function (data){ const ids=function (data){
return ajax.postJson('/xboe/m/course/manage/ids',data); return ajax.postJson('/xboe/m/course/manage/ids',data);
} }
const saveTip = function() { const saveTip = function() {
return ajax.postJson('/xboe/m/course/manage/saveTip'); return ajax.postJson('/xboe/m/course/manage/saveTip');
} }
export default { export default {
saveBase, saveBase,
submitCourse, submitCourse,
@@ -488,4 +490,5 @@ export default {
queryCrowd, queryCrowd,
ids, ids,
saveTip saveTip
} }

View File

@@ -62,13 +62,13 @@
</div> </div>
</div> </div>
</div> </div>
<!-- <div class="guidance-actions"> <!-- <div class="guidance-actions">
<el-button @click="previousStep1" v-if="currentStep > 1">上一步</el-button> <el-button @click="previousStep1" v-if="currentStep > 1">上一步</el-button>
<el-button type="primary" @click="nextStep"> <el-button type="primary" @click="nextStep">
{{ currentStep === 2 ? '完成' : '下一步' }} {{ currentStep === 2 ? '完成' : '下一步' }}
</el-button> </el-button>
<el-button @click="closeGuidance">跳过引导</el-button> <el-button @click="closeGuidance">跳过引导</el-button>
</div>--> </div>-->
</div> </div>
</div> </div>

View File

@@ -318,7 +318,7 @@ export default {
this.searchResults = tags this.searchResults = tags
// 当搜索结果为空时,提示用户可以按回车键创建标签 // 当搜索结果为空时,提示用户可以按回车键创建标签
if (tags.length === 0) { if (tags.length === 0) {
this.$message.info('无此标签,按回车键创建') // this.$message.info('无此标签,按回车键创建')
} }
} finally { } finally {
this.loading = false this.loading = false

View File

@@ -2,7 +2,7 @@
<div id="couser-list-content" class="couser-list-content"> <div id="couser-list-content" class="couser-list-content">
<div class="course-banner"> <div class="course-banner">
<portal-header current="course" textColor="#fff" :keywords="keyword" @emitInput="emitInput" <portal-header current="course" textColor="#fff" :keywords="keyword" @emitInput="emitInput"
@showClass="showClass"></portal-header> @showClass="showClass"></portal-header>
</div> </div>
<div style="padding-top:30px"> <div style="padding-top:30px">
<div class="xcontent2"> <div class="xcontent2">
@@ -11,7 +11,7 @@
<span v-if="navTitle.length">></span> <span v-if="navTitle.length">></span>
<template v-if="navTitle.length"> <template v-if="navTitle.length">
<div class="oneTitle" v-for="(item, index) in navTitle" :key="item.id" <div class="oneTitle" v-for="(item, index) in navTitle" :key="item.id"
@click="handleOptionClick(item, index)"> @click="handleOptionClick(item, index)">
<span class="titleName">&nbsp;{{ item.name }}&nbsp;</span> <span class="titleName">&nbsp;{{ item.name }}&nbsp;</span>
<span v-if="index !== navTitle.length - 1">></span> <span v-if="index !== navTitle.length - 1">></span>
</div> </div>
@@ -35,15 +35,15 @@
<div class="course-one" v-for="one in oneList" :key="one.id" @click.stop="handleOptionClick(one, 1, oneList)"> <div class="course-one" v-for="one in oneList" :key="one.id" @click.stop="handleOptionClick(one, 1, oneList)">
<div class="course-one-content">{{ one.name }}</div> <div class="course-one-content">{{ one.name }}</div>
<div class="course-two" v-for="(twoList, twoIndex) in one.children" :key="twoList.id" <div class="course-two" v-for="(twoList, twoIndex) in one.children" :key="twoList.id"
@click.stop="handleOptionClick(twoList, 2, one.children)" @click.stop="handleOptionClick(twoList, 2, one.children)"
:class="{ courseTwoActive: twoList.id == twoId || twoList.checked }" @mouseleave.stop="leaveIndex" :class="{ courseTwoActive: twoList.id == twoId || twoList.checked }" @mouseleave.stop="leaveIndex"
@mouseenter.stop="changeIndex(twoList.id)"> @mouseenter.stop="changeIndex(twoList.id)">
<!-- 三级分类 --> <!-- 三级分类 -->
<el-popover class="popover" popper-class='coursePopperClass' placement="right-start" width="536" <el-popover class="popover" popper-class='coursePopperClass' placement="right-start" width="536"
:disabled="!twoList.children.length" :open-delay="0" :close-delay="0" trigger="hover" :disabled="!twoList.children.length" :open-delay="0" :close-delay="0" trigger="hover"
:visible-arrow="false" @hide="leaveIndex" @show="changeIndex(twoList.id)" transition="none"> :visible-arrow="false" @hide="leaveIndex" @show="changeIndex(twoList.id)" transition="none">
<div class="course-two-content" slot="reference">{{ <div class="course-two-content" slot="reference">{{
twoList.name }}</div>- twoList.name }}</div>-
<!-- 内容 --> <!-- 内容 -->
<div class="course-three-box"> <div class="course-three-box">
<div class="course-three-box-title"> <div class="course-three-box-title">
@@ -51,8 +51,8 @@
</div> </div>
<div style="padding: 0 40px;display: flex;flex-wrap: wrap;"> <div style="padding: 0 40px;display: flex;flex-wrap: wrap;">
<div :class="threeList.checked ? 'threeActive' : ''" v-for="threeList in twoList.children" <div :class="threeList.checked ? 'threeActive' : ''" v-for="threeList in twoList.children"
:key="threeList.id" @click.stop="handleOptionClick(threeList, 3, twoList.children)" :key="threeList.id" @click.stop="handleOptionClick(threeList, 3, twoList.children)"
class="course-three"> class="course-three">
<span>{{ threeList.name }}</span> <span>{{ threeList.name }}</span>
</div> </div>
</div> </div>
@@ -285,7 +285,7 @@
<div class="topNav" v-if="!newData"> <div class="topNav" v-if="!newData">
<div class="search-div nav" style="flex: 1;height: auto;"> <div class="search-div nav" style="flex: 1;height: auto;">
<div class="nav-primary"> <div class="nav-primary">
<div @click="handleTypeAllClick(1)" class="option-item" style="position: relative;padding-left: 15px;" :class="{ 'option-active': ctypeTagAll }"> <div @click="handleTypeAllClick(1)" class="option-item" style="position: relative;" :class="{ 'option-active': ctypeTagAll }">
<a>全部</a> <a>全部</a>
<span :class="ctypeTagAll ? 'nav-bottbor' : ''"></span> <span :class="ctypeTagAll ? 'nav-bottbor' : ''"></span>
</div> </div>
@@ -370,11 +370,11 @@
<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('studys')"
:class="{ actice: course.orderField == 'studys' }">最热</el-button> :class="{ actice: course.orderField == 'studys' }">最热</el-button>
<el-button type="text" class="order-class" @click="orderChange('publishTime')" <el-button type="text" class="order-class" @click="orderChange('publishTime')"
:class="{ actice: course.orderField == 'publishTime' }">最新</el-button> :class="{ actice: course.orderField == 'publishTime' }">最新</el-button>
<el-button type="text" class="order-class" @click="orderChange('score')" <el-button type="text" class="order-class" @click="orderChange('score')"
:class="{ actice: course.orderField == 'score' }">好评率</el-button> :class="{ actice: course.orderField == 'score' }">好评率</el-button>
</span> </span>
<span class="order-count"> <span class="order-count">
共找到<span>{{ count }}</span>个结果 共找到<span>{{ count }}</span>个结果
@@ -407,7 +407,7 @@
<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">
<el-tooltip popper-class="keywordInfo-class" :visible-arrow="false" <el-tooltip popper-class="keywordInfo-class" :visible-arrow="false"
:disabled="!keyword.showTitle"> :disabled="!keyword.showTitle">
<template #content> <template #content>
<span v-html="keyword.title"></span> <span v-html="keyword.title"></span>
</template> </template>