案例专家添加图片

This commit is contained in:
dong.ai
2025-09-24 09:27:26 +08:00
parent 8b68489b25
commit d7e425ce9d
2 changed files with 279 additions and 215 deletions

BIN
public/images/case-logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 438 KiB

View File

@@ -1,7 +1,8 @@
<template> <template>
<div id="case-list-content"> <div id="case-list-content">
<div style="margin-bottom:30px" class="case-banner"> <div style="margin-bottom:30px" class="case-banner">
<portal-header @type1="handleType" :type="queryCondition" current="case" textColor="#fff" @emitInput="emitInput" @showClass="showClass"></portal-header> <portal-header @type1="handleType" :type="queryCondition" current="case" textColor="#fff" @emitInput="emitInput"
@showClass="showClass"></portal-header>
</div> </div>
<div class="xcontent2"> <div class="xcontent2">
<!-- 新增的案例分类 --> <!-- 新增的案例分类 -->
@@ -115,7 +116,8 @@
<div style="padding:0;" :class="speciAll ? 'fieldactive' : ''" @click="majorall()">全部</div> <div style="padding:0;" :class="speciAll ? 'fieldactive' : ''" @click="majorall()">全部</div>
<div class="fieldbox"> <div class="fieldbox">
<div :class="item.fielclass ? 'fieldactive' : ''" @click="fieldmajor(item)" <div :class="item.fielclass ? 'fieldactive' : ''" @click="fieldmajor(item)"
v-for="(item, idx) in speciData" :key="'d' + idx">{{ item.name }}({{ item.explanation }})</div> v-for="(item, idx) in speciData" :key="'d' + idx">{{ item.name }}({{ item.explanation }})
</div>
</div> </div>
</div> </div>
<!-- <el-radio-group style="display:flex;" v-model="queryCondition.majorType" size="mini" @change="search()"> <!-- <el-radio-group style="display:flex;" v-model="queryCondition.majorType" size="mini" @change="search()">
@@ -156,15 +158,19 @@
<div v-if="caseTimeShow" class="pub_time" @click="searchTime"> <div v-if="caseTimeShow" class="pub_time" @click="searchTime">
<div class="text">发布时间</div> <div class="text">发布时间</div>
<div class="triangle"> <div class="triangle">
<div :style="{borderBottomColor:pubTimeNum===2?'#387DF7':'#DCDFE6'}" class="up-triangle"></div> <div :style="{ borderBottomColor: pubTimeNum === 2 ? '#387DF7' : '#DCDFE6' }" class="up-triangle">
<div :style="{borderTopColor:pubTimeNum===1?'#387DF7':'#DCDFE6'}" class="down-triangle"></div> </div>
<div :style="{ borderTopColor: pubTimeNum === 1 ? '#387DF7' : '#DCDFE6' }" class="down-triangle">
</div>
</div> </div>
</div> </div>
<div v-if="caseTimeShow" class="pub_time" @click="searchPageView"> <div v-if="caseTimeShow" class="pub_time" @click="searchPageView">
<div class="text">浏览量</div> <div class="text">浏览量</div>
<div class="triangle"> <div class="triangle">
<div :style="{borderBottomColor:pageViewNum===2?'#387DF7':'#DCDFE6'}" class="up-triangle"></div> <div :style="{ borderBottomColor: pageViewNum === 2 ? '#387DF7' : '#DCDFE6' }" class="up-triangle">
<div :style="{borderTopColor:pageViewNum===1?'#387DF7':'#DCDFE6'}" class="down-triangle"></div> </div>
<div :style="{ borderTopColor: pageViewNum === 1 ? '#387DF7' : '#DCDFE6' }" class="down-triangle">
</div>
</div> </div>
</div> </div>
<el-select v-if="caseTimeShow" @change="yearsChange" v-model="years" multiple collapse-tags <el-select v-if="caseTimeShow" @change="yearsChange" v-model="years" multiple collapse-tags
@@ -172,11 +178,12 @@
<el-option v-for="item in caseYears" :key="item.value" :label="item.label" :value="item.value"> <el-option v-for="item in caseYears" :key="item.value" :label="item.label" :value="item.value">
</el-option> </el-option>
</el-select> </el-select>
<div :class="queryCondition.type == 'collect' ? 'collect_active': 'collect'" @click="searchexcellent('collect')"> <div :class="queryCondition.type == 'collect' ? 'collect_active' : 'collect'"
@click="searchexcellent('collect')">
<div class="png"></div> <div class="png"></div>
<div class="text">收藏案例</div> <div class="text">收藏案例</div>
</div> </div>
<div :class="queryCondition.type == 'time' ? 'time_active': 'time'" @click="searchexcellent('time')"> <div :class="queryCondition.type == 'time' ? 'time_active' : 'time'" @click="searchexcellent('time')">
<div class="png"></div> <div class="png"></div>
<div class="text">浏览记录</div> <div class="text">浏览记录</div>
</div> </div>
@@ -189,7 +196,8 @@
</div> </div>
</div> </div>
<div class="data-content"> <div class="data-content">
<div v-for="item in this.caseList.list" :key="isTimeData?item.browsingHistoryId : item.id" class="case-list"> <div v-for="item in this.caseList.list" :key="isTimeData ? item.browsingHistoryId : item.id"
class="case-list">
<div class="case-info"> <div class="case-info">
<div class="case-info-cont"> <div class="case-info-cont">
<!-- <router-link :to="'/case/detail?id=' + item.id"> --> <!-- <router-link :to="'/case/detail?id=' + item.id"> -->
@@ -201,17 +209,22 @@
<div class="case-info-title"> <div class="case-info-title">
<div class="case-titdiv"> <div class="case-titdiv">
<div class="case-tittext"> <div class="case-tittext">
<span :style="{maxWidth:item.excellentTag&&item.viewRankTags.length != 0?'400px':item.viewRankTags.length != 0?'500px':''}" class="title-line-ellipsis" :title="item.title">{{ item.title || item.contentInfo }}</span> <span
:style="{ maxWidth: item.excellentTag && item.viewRankTags.length != 0 ? '400px' : item.viewRankTags.length != 0 ? '500px' : '' }"
class="title-line-ellipsis" :title="item.title">{{ item.title || item.contentInfo }}</span>
</div> </div>
<div class="case-activeText"> <div class="case-activeText">
<!-- <span v-if="item.breCommend" class="comWords" <!-- <span v-if="item.breCommend" class="comWords"
style="background-color:rgba(232, 139, 72);"></span> style="background-color:rgba(232, 139, 72);"></span>
<span v-if="item.excellent" class="comWords" style="background-color:red;">最佳</span> --> <span v-if="item.excellent" class="comWords" style="background-color:red;">最佳</span> -->
<span @click.stop="()=>{}" v-if="item.excellentTag" class="comWords" style="width: 98px;height: 24px;background: #F99000;border-radius: 2px;font-weight: 400;font-size: 12px;color: #FFFFFF;padding: 4px 10px;cursor: auto;"> <span @click.stop="() => { }" v-if="item.excellentTag" class="comWords"
{{item.excellentTag}} style="width: 98px;height: 24px;background: #F99000;border-radius: 2px;font-weight: 400;font-size: 12px;color: #FFFFFF;padding: 4px 10px;cursor: auto;">
{{ item.excellentTag }}
</span> </span>
<span @click.stop="toExcellent(tag)" v-if="item.viewRankTags.length != 0" v-for="tag in item.viewRankTags" class="comWords" style="width: 98px;height: 24px;background: #F99000;border-radius: 2px;font-weight: 400;font-size: 12px;color: #FFFFFF;padding: 4px 10px;"> <span @click.stop="toExcellent(tag)" v-if="item.viewRankTags.length != 0"
{{tag.tagName}} v-for="tag in item.viewRankTags" class="comWords"
style="width: 98px;height: 24px;background: #F99000;border-radius: 2px;font-weight: 400;font-size: 12px;color: #FFFFFF;padding: 4px 10px;">
{{ tag.tagName }}
</span> </span>
</div> </div>
<div class="case-info-date portal-time"> <div class="case-info-date portal-time">
@@ -225,8 +238,9 @@
<!-- </router-link> --> <!-- </router-link> -->
<div v-if="!item.id" style="height:25px;padding-top:14px "></div> <div v-if="!item.id" style="height:25px;padding-top:14px "></div>
<div v-if="item.id" style="height:58px;padding-top:14px "> <div v-if="item.id" style="height:58px;padding-top:14px ">
<author :avatar="item.authorInfo.avatar" :name="item.authorInfo.name" :info="item.authorInfo.orgInfo" <author :avatar="item.authorInfo.avatar" :name="item.authorInfo.name"
:sex="item.authorInfo.sex" :authorTags="item.authorTags" :aid="item.authorInfo.aid"> :info="item.authorInfo.orgInfo" :sex="item.authorInfo.sex" :authorTags="item.authorTags"
:aid="item.authorInfo.aid">
<template> <template>
<div v-if="item.breCommend" <div v-if="item.breCommend"
style="padding-top: 6px;flex: 1;display: flex;justify-content: flex-end;color: #999;font-size: 12px;"> style="padding-top: 6px;flex: 1;display: flex;justify-content: flex-end;color: #999;font-size: 12px;">
@@ -253,7 +267,8 @@
</div> </div>
</div> </div>
<!-- </router-link> --> <!-- </router-link> -->
<div v-if="item.id" class="case-info-summary two-line-ellipsis" @click="toCaseDetail(item.id, item.refId)"> <div v-if="item.id" class="case-info-summary two-line-ellipsis"
@click="toCaseDetail(item.id, item.refId)">
{{ item.summary }} {{ item.summary }}
<!-- <router-link :to="'/case/detail?id='+item.id"> --> <!-- <router-link :to="'/case/detail?id='+item.id"> -->
<!-- {{displayAll(item)}} --> <!-- {{displayAll(item)}} -->
@@ -264,7 +279,8 @@
</div> </div>
<div v-if="item.id" style="display: flex;justify-content: flex-end;"> <div v-if="item.id" style="display: flex;justify-content: flex-end;">
<div style="margin:8px 0;"> <div style="margin:8px 0;">
<interactBar @deleteFavorite="deleteFavorite" :type="3" :data="item" :comments="false" :shares="true"></interactBar> <interactBar @deleteFavorite="deleteFavorite" :type="3" :data="item" :comments="false"
:shares="true"></interactBar>
</div> </div>
</div> </div>
</div> </div>
@@ -295,8 +311,8 @@
<div id="fixd-box"> <div id="fixd-box">
<div class="AI-case"> <div class="AI-case">
<el-button type="success" @click="getAICase" plain>立即咨询</el-button> <img src="../../../../public/images/case-logo.png" alt="">
<!-- <img src="../../../assets/images/course/courseTag.png" alt=""> --> <span @click="getAICase"></span>
</div> </div>
<router-link class="the_charts" to="/case/charts"> <router-link class="the_charts" to="/case/charts">
<div class="text">排行榜</div> <div class="text">排行榜</div>
@@ -308,7 +324,7 @@
<p class="ranking-title">好评榜</p> <p class="ranking-title">好评榜</p>
<el-dropdown trigger="click" @command="positiveReview"> <el-dropdown trigger="click" @command="positiveReview">
<span class="el-dropdown-link"> <span class="el-dropdown-link">
{{favorableName}}<i class="el-icon-arrow-down el-icon--right"></i> {{ favorableName }}<i class="el-icon-arrow-down el-icon--right"></i>
</span> </span>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item command="total"></el-dropdown-item> <el-dropdown-item command="total"></el-dropdown-item>
@@ -345,7 +361,7 @@
<p class="ranking-title">人气榜</p> <p class="ranking-title">人气榜</p>
<el-dropdown trigger="click" @command="popularityReview"> <el-dropdown trigger="click" @command="popularityReview">
<span class="el-dropdown-link"> <span class="el-dropdown-link">
{{popularityName}}<i class="el-icon-arrow-down el-icon--right"></i> {{ popularityName }}<i class="el-icon-arrow-down el-icon--right"></i>
</span> </span>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item command="total"></el-dropdown-item> <el-dropdown-item command="total"></el-dropdown-item>
@@ -377,7 +393,8 @@
</li> </li>
</ul> </ul>
</div> </div>
<div v-if="recommendRank.length > 0" class="portal-ranking ranking-bg2" style="margin-top:20px;padding: 20px 15px;max-height: 222px;"> <div v-if="recommendRank.length > 0" class="portal-ranking ranking-bg2"
style="margin-top:20px;padding: 20px 15px;max-height: 222px;">
<p class="ranking-title">推荐榜</p> <p class="ranking-title">推荐榜</p>
<ul class="ranking-data"> <ul class="ranking-data">
<li v-for="(item, index) in recommendRank" :key="index" class="title-line-ellipsis" <li v-for="(item, index) in recommendRank" :key="index" class="title-line-ellipsis"
@@ -511,10 +528,10 @@ export default {
popularityName: '季度', popularityName: '季度',
pubTimeNum: 1, pubTimeNum: 1,
pageViewNum: 0, pageViewNum: 0,
twoId:'', twoId: '',
treeList:[], treeList: [],
caseType:process.env.VUE_APP_CASE_TYPE,//类型 caseType: process.env.VUE_APP_CASE_TYPE,//类型
caseYears:[], caseYears: [],
refId: '',//消息跳转案例的id refId: '',//消息跳转案例的id
selectList: [],//点击选中的list selectList: [],//点击选中的list
twoList: [], //二级分类{type:12} twoList: [], //二级分类{type:12}
@@ -566,9 +583,9 @@ export default {
// notInIds: [],//重复的id // notInIds: [],//重复的id
orderField: "id", orderField: "id",
orderAsc: false,//排序 orderAsc: false,//排序
sysType1:'', sysType1: '',
sysType2:'', sysType2: '',
sysType3:'' sysType3: ''
}, },
keyWord: "", keyWord: "",
anking: 2, anking: 2,
@@ -672,25 +689,25 @@ export default {
return !this.speciData.some(item => item.fielclass); return !this.speciData.some(item => item.fielclass);
} }
}, },
beforeRouteLeave (to, from, next) { beforeRouteLeave(to, from, next) {
const isScroll = 'caseDetail,caseCharts,caseExcellent' const isScroll = 'caseDetail,caseCharts,caseExcellent'
if(!isScroll.includes(to.name)){ if (!isScroll.includes(to.name)) {
// console.log('我是外') // console.log('我是外')
this.queryCondition.pageIndex = 1 this.queryCondition.pageIndex = 1
this.search() this.search()
// window.location.reload() // window.location.reload()
// this.$destroy() // this.$destroy()
}else{ } else {
sessionStorage.setItem('pagesScroll', JSON.stringify(window.pageYOffset)) sessionStorage.setItem('pagesScroll', JSON.stringify(window.pageYOffset))
} }
window.removeEventListener("scroll", this.handleScroll); window.removeEventListener("scroll", this.handleScroll);
next() next()
}, },
beforeRouteEnter(to, from, next) { beforeRouteEnter(to, from, next) {
if(from.name !== 'caseDetail'){ if (from.name !== 'caseDetail') {
// console.log('我是内') // console.log('我是内')
} }
next(vm=>{ next(vm => {
vm.$nextTick(() => { vm.$nextTick(() => {
window.scrollTo({ window.scrollTo({
left: 0, left: 0,
@@ -785,9 +802,9 @@ export default {
// 90是测试环境155是生产环境 // 90是测试环境155是生产环境
// console.log(this.caseType); // console.log(this.caseType);
Promise.all([apiType.treeList(1,Number(this.caseType ?? 155),1), apiCase.majorTypes()]).then(rs => { Promise.all([apiType.treeList(1, Number(this.caseType ?? 155), 1), apiCase.majorTypes()]).then(rs => {
if (rs[0].code == 200) { if (rs[0].code == 200) {
const {records} = rs[0].data const { records } = rs[0].data
records.forEach(item => { records.forEach(item => {
item.fielclass = false; item.fielclass = false;
item.type = 'org_domain'; item.type = 'org_domain';
@@ -853,27 +870,27 @@ export default {
}, },
methods: { methods: {
allRequests(){ allRequests() {
window.addEventListener( window.addEventListener(
"scroll", "scroll",
this.handleScroll this.handleScroll
); );
}, },
deleteFavorite(e){ deleteFavorite(e) {
this.search() this.search()
}, },
positiveReview(e){ positiveReview(e) {
this.favorableName = this.switch[e] this.favorableName = this.switch[e]
this.getPositive() this.getPositive()
}, },
popularityReview(e){ popularityReview(e) {
this.popularityName = this.switch[e] this.popularityName = this.switch[e]
this.getPopularity() this.getPopularity()
}, },
handleType(msg){ handleType(msg) {
// this.queryCondition.type = msg // this.queryCondition.type = msg
}, },
handleOptionClick(treeItem){ handleOptionClick(treeItem) {
this.treeList.forEach(one => { this.treeList.forEach(one => {
one.checked = false; one.checked = false;
if (one.id == treeItem.id) { if (one.id == treeItem.id) {
@@ -918,13 +935,13 @@ export default {
if (status === 200) { if (status === 200) {
result.forEach(one => { result.forEach(one => {
one.checked = false; one.checked = false;
if(!one.children) one.children = [] if (!one.children) one.children = []
one.children && one.children.forEach(two => { one.children && one.children.forEach(two => {
two.checked = false; two.checked = false;
if(!two.children) two.children = [] if (!two.children) two.children = []
two.children && two.children.forEach(three => { two.children && two.children.forEach(three => {
three.checked = false; three.checked = false;
if(!three.children) three.children = [] if (!three.children) three.children = []
}) })
}) })
}) })
@@ -948,23 +965,23 @@ export default {
}, },
// 查看率的时间 // 查看率的时间
toCaseDetail(id, refId) { toCaseDetail(id, refId) {
if(!id){ if (!id) {
this.$message.error('该案例已被删除') this.$message.error('该案例已被删除')
return return
} }
apiCase.details(id,true).then(res=>{ apiCase.details(id, true).then(res => {
if (res.status == 200) { if (res.status == 200) {
if (refId) { if (refId) {
apiCase.startReadTimer(refId) apiCase.startReadTimer(refId)
} }
this.$router.push({ path: '/case/detail', query: { id } }); this.$router.push({ path: '/case/detail', query: { id } });
}else{ } else {
this.$message.error(res.message); this.$message.error(res.message);
} }
}) })
}, },
toExcellent(item){ toExcellent(item) {
this.$router.push({path:'/case/excellent',query:{majorId:item.majorId,majorName:item.majorName,riseRankTime:item.riseRankTime.split(' ')[0]}}) this.$router.push({ path: '/case/excellent', query: { majorId: item.majorId, majorName: item.majorName, riseRankTime: item.riseRankTime.split(' ')[0] } })
}, },
tylClick() { tylClick() {
window.open("https://m.qingxuetang.com/x/?appId=qxtcorp306130"); window.open("https://m.qingxuetang.com/x/?appId=qxtcorp306130");
@@ -1267,31 +1284,31 @@ export default {
this.isSeach = true; this.isSeach = true;
this.search(true); this.search(true);
}, },
searchTime(){ searchTime() {
this.pubTimeNum++ this.pubTimeNum++
if(this.pubTimeNum>2){ if (this.pubTimeNum > 2) {
this.pubTimeNum = 0; this.pubTimeNum = 0;
} }
if(this.pubTimeNum != 0){ if (this.pubTimeNum != 0) {
this.pageViewNum = 0; this.pageViewNum = 0;
} }
this.queryCondition.orderField = 'sysCreateTime' this.queryCondition.orderField = 'sysCreateTime'
this.queryCondition.orderAsc = this.pubTimeNum == 2 ? true : this.pubTimeNum == 1 ? false : '' this.queryCondition.orderAsc = this.pubTimeNum == 2 ? true : this.pubTimeNum == 1 ? false : ''
this.search(true); this.search(true);
}, },
searchPageView(){ searchPageView() {
this.pageViewNum++ this.pageViewNum++
if(this.pageViewNum>2){ if (this.pageViewNum > 2) {
this.pageViewNum = 0; this.pageViewNum = 0;
} }
if(this.pageViewNum != 0){ if (this.pageViewNum != 0) {
this.pubTimeNum = 0; this.pubTimeNum = 0;
} }
this.queryCondition.orderField = 'views' this.queryCondition.orderField = 'views'
this.queryCondition.orderAsc = this.pageViewNum == 2 ? true : this.pageViewNum == 1 ? false : '' this.queryCondition.orderAsc = this.pageViewNum == 2 ? true : this.pageViewNum == 1 ? false : ''
this.search(true); this.search(true);
}, },
yearsChange(e){ yearsChange(e) {
this.search(true) this.search(true)
}, },
searchexcellent(num) { searchexcellent(num) {
@@ -1308,24 +1325,24 @@ export default {
// this.search(true) // this.search(true)
// return // return
// } // }
this.queryCondition.excellent =false; this.queryCondition.excellent = false;
this.queryCondition.type = num; this.queryCondition.type = num;
this.years = [] this.years = []
if(num == 'excellent'){ if (num == 'excellent') {
this.queryCondition.excellent =true; this.queryCondition.excellent = true;
this.queryCondition.type = num; this.queryCondition.type = num;
} }
if(num == 'all' || num == 'recommend'){ if (num == 'all' || num == 'recommend') {
this.pubTimeNum = 1 this.pubTimeNum = 1
this.queryCondition.orderField = 'sysCreateTime' this.queryCondition.orderField = 'sysCreateTime'
this.queryCondition.orderAsc = false this.queryCondition.orderAsc = false
} }
if(num == 'time'){ if (num == 'time') {
this.isTime = true this.isTime = true
this.caseTimeShow = false this.caseTimeShow = false
this.isTimeData = true this.isTimeData = true
} }
if(num == 'collect'){ if (num == 'collect') {
this.caseTimeShow = false this.caseTimeShow = false
} }
if (this.timeoutId) { if (this.timeoutId) {
@@ -1492,16 +1509,16 @@ export default {
// this.queryCondition.pubTimeNum = this.pubTimeNum // this.queryCondition.pubTimeNum = this.pubTimeNum
// this.queryCondition.pageViewNum = this.pageViewNum // this.queryCondition.pageViewNum = this.pageViewNum
this.numIsFalse = true this.numIsFalse = true
if(this.queryCondition.type == 'collect'){ if (this.queryCondition.type == 'collect') {
const params = { const params = {
pageIndex:this.queryCondition.pageIndex, pageIndex: this.queryCondition.pageIndex,
pageSize:5, pageSize: 5,
orderField:this.queryCondition.orderField, orderField: this.queryCondition.orderField,
orderAsc:this.queryCondition.orderAsc orderAsc: this.queryCondition.orderAsc
} }
await apiCase.queryFavoriteCaseOfIndex(params).then(res=>{ await apiCase.queryFavoriteCaseOfIndex(params).then(res => {
if(res.status == 200){ if (res.status == 200) {
if(res.result.list.length > 0){ if (res.result.list.length > 0) {
this.isSeach = false; this.isSeach = false;
res.result.list.forEach(item => { res.result.list.forEach(item => {
item.majorType = item.majorType ? item.majorType.split(",") : []; item.majorType = item.majorType ? item.majorType.split(",") : [];
@@ -1514,8 +1531,8 @@ export default {
sex: null sex: null
}; };
}); });
res.result.list.forEach(item=>{ res.result.list.forEach(item => {
item.viewRankTags = item.viewRankTags?.slice(0,2)||[] item.viewRankTags = item.viewRankTags?.slice(0, 2) || []
}) })
this.caseList.list = res.result.list this.caseList.list = res.result.list
this.getCaseUserData(res.result.list); this.getCaseUserData(res.result.list);
@@ -1530,7 +1547,7 @@ export default {
}) })
return return
} }
if(this.queryCondition.type=='time'){ if (this.queryCondition.type == 'time') {
// const data = { // const data = {
// pageIndex: this.queryCondition.pageIndex, // pageIndex: this.queryCondition.pageIndex,
// pageSize: 5, // pageSize: 5,
@@ -1554,9 +1571,9 @@ export default {
const params = { const params = {
pageIndex: this.queryCondition.pageIndex, pageIndex: this.queryCondition.pageIndex,
} }
await apiCase.browsingHistory(params).then(res=>{ await apiCase.browsingHistory(params).then(res => {
if(res.status == 200){ if (res.status == 200) {
if(res.result.list.length > 0){ if (res.result.list.length > 0) {
this.isSeach = false; this.isSeach = false;
res.result.list.forEach(item => { res.result.list.forEach(item => {
item.majorType = item.majorType ? item.majorType.split(",") : []; item.majorType = item.majorType ? item.majorType.split(",") : [];
@@ -1569,8 +1586,8 @@ export default {
sex: null sex: null
}; };
}); });
res.result.list.forEach(item=>{ res.result.list.forEach(item => {
item.viewRankTags = item.viewRankTags?.slice(0,2)||[] item.viewRankTags = item.viewRankTags?.slice(0, 2) || []
}) })
this.caseList.list = res.result.list this.caseList.list = res.result.list
this.getCaseUserData(res.result.list); this.getCaseUserData(res.result.list);
@@ -1607,15 +1624,15 @@ export default {
} else { } else {
this.moreState = 3; this.moreState = 3;
} }
if(res.result.list.length ===0){ if (res.result.list.length === 0) {
this.moreState = 3; this.moreState = 3;
this.isSeach = false; this.isSeach = false;
} }
console.log(res?.result?.list ,'有没有数据1'); console.log(res?.result?.list, '有没有数据1');
res.result.list.forEach(item=>{ res.result.list.forEach(item => {
item.viewRankTags = item.viewRankTags?.slice(0,2)||[] item.viewRankTags = item.viewRankTags?.slice(0, 2) || []
}) })
console.log(res?.result?.list ,'有没有数据2'); console.log(res?.result?.list, '有没有数据2');
this.caseList.list = res.result.list this.caseList.list = res.result.list
this.getCaseUserData(res.result.list); this.getCaseUserData(res.result.list);
// 给所有的赋值 // 给所有的赋值
@@ -1667,9 +1684,9 @@ export default {
// console.log(err); // console.log(err);
// }); // });
}, },
getCase(ids,list){ getCase(ids, list) {
apiCase.ids(ids).then(res=>{ apiCase.ids(ids).then(res => {
if(res.status == 200) { if (res.status == 200) {
this.isSeach = false; this.isSeach = false;
const listData = [] const listData = []
list.forEach((item, index) => { list.forEach((item, index) => {
@@ -1678,7 +1695,7 @@ export default {
item.info = con; item.info = con;
con.eventTime = item.eventTime con.eventTime = item.eventTime
listData.push(con) listData.push(con)
if(typeof item.info.majorType == 'string') { if (typeof item.info.majorType == 'string') {
item.info.majorType = item.info.majorType.split(','); item.info.majorType = item.info.majorType.split(',');
} }
return true; return true;
@@ -1687,9 +1704,9 @@ export default {
} }
}); });
}); });
listData.forEach(item=>{ listData.forEach(item => {
item.info = {}; item.info = {};
item.deleted=false; item.deleted = false;
item.authorInfo = { item.authorInfo = {
aid: "", aid: "",
name: "", name: "",
@@ -1704,7 +1721,7 @@ export default {
}, 3000); }, 3000);
this.getCaseUserData(listData); this.getCaseUserData(listData);
this.caseList.list = listData this.caseList.list = listData
console.log(listData,'this.caseList.list') console.log(listData, 'this.caseList.list')
} }
}) })
}, },
@@ -1750,12 +1767,12 @@ export default {
// }, // },
tagsClose(tag, index) { tagsClose(tag, index) {
// 课程分类 // 课程分类
if(tag.hasOwnProperty('checked')){ if (tag.hasOwnProperty('checked')) {
tag.checked = false; tag.checked = false;
this.queryCondition.sysType1 ='' this.queryCondition.sysType1 = ''
this.queryCondition.sysType2 ='' this.queryCondition.sysType2 = ''
this.queryCondition.sysType3 ='' this.queryCondition.sysType3 = ''
}else{ } else {
// 案例分类 // 案例分类
tag.fielclass = false; tag.fielclass = false;
} }
@@ -1831,8 +1848,8 @@ export default {
// } // }
// }); // });
apiCase.queryPraisesNew(3,this.popularityName == '季度' ? 1 : 2).then(res => { apiCase.queryPraisesNew(3, this.popularityName == '季度' ? 1 : 2).then(res => {
if(res.status == 200) { if (res.status == 200) {
this.Popularity = res.result this.Popularity = res.result
} }
}) })
@@ -1854,16 +1871,16 @@ export default {
// // } // // }
// } // }
// }); // });
apiCase.queryCommentsNew(3,this.favorableName == '季度' ? 3 : 4).then(res => { apiCase.queryCommentsNew(3, this.favorableName == '季度' ? 3 : 4).then(res => {
if(res.status == 200) { if (res.status == 200) {
this.Positive = res.result this.Positive = res.result
} }
}) })
}, },
getQueryRecommendRank(){ getQueryRecommendRank() {
apiCase.queryRecommendRank(3).then(res => { apiCase.queryRecommendRank(3).then(res => {
if(res.status == 200) { if (res.status == 200) {
this.recommendRank = res.result this.recommendRank = res.result
} }
}) })
@@ -1874,7 +1891,7 @@ export default {
this.$router.push(`/case/detail?id=${item.id}`); this.$router.push(`/case/detail?id=${item.id}`);
}, },
// 案例立即咨询 // 案例立即咨询
getAICase(){ getAICase() {
this.showAICall = true this.showAICall = true
}, },
onClose() { onClose() {
@@ -1889,12 +1906,14 @@ export default {
cursor: pointer; cursor: pointer;
font-weight: 400; font-weight: 400;
font-size: 14px; font-size: 14px;
color: rgba(51,51,51,0.9); color: rgba(51, 51, 51, 0.9);
} }
.el-icon--right{
.el-icon--right {
margin-left: 14px !important; margin-left: 14px !important;
} }
.the_charts{
.the_charts {
position: relative; position: relative;
display: flex; display: flex;
justify-content: center; justify-content: center;
@@ -1906,11 +1925,13 @@ export default {
height: 47px; height: 47px;
background: #DDEDFF; background: #DDEDFF;
border-radius: 8px; border-radius: 8px;
.text{
.text {
font-size: 17px; font-size: 17px;
color: #387DF7; color: #387DF7;
} }
.icon{
.icon {
position: absolute; position: absolute;
font-size: 17px; font-size: 17px;
color: #387DF7; color: #387DF7;
@@ -1919,7 +1940,8 @@ export default {
transform: translateY(-50%); transform: translateY(-50%);
} }
} }
// 课程分类 // 课程分类
.course-title-style { .course-title-style {
position: relative; position: relative;
@@ -1991,6 +2013,7 @@ export default {
} }
} }
.u-class { .u-class {
::v-deep .el-dialog { ::v-deep .el-dialog {
border-radius: 15px; border-radius: 15px;
@@ -2121,7 +2144,8 @@ export default {
border: 0.96px solid rgba(140, 105, 242, 1); border: 0.96px solid rgba(140, 105, 242, 1);
box-shadow: 7px 5px 6px 0px rgba(76, 31, 221, 0.3); box-shadow: 7px 5px 6px 0px rgba(76, 31, 221, 0.3);
} }
.text_msg{
.text_msg {
margin: 43px 0 0 222px; margin: 43px 0 0 222px;
font-size: 14px; font-size: 14px;
color: #000; color: #000;
@@ -2504,19 +2528,23 @@ export default {
background-color: #fff; background-color: #fff;
display: flex; display: flex;
align-items: center; align-items: center;
// margin-bottom: ; // margin-bottom: ;
.pub_time{ .pub_time {
display: flex; display: flex;
margin-right: 25px; margin-right: 25px;
align-items: center; align-items: center;
cursor: pointer; cursor: pointer;
.text{
.text {
font-size: 14px; font-size: 14px;
color: #333333; color: #333333;
} }
.triangle{
.triangle {
margin-left: 5px; margin-left: 5px;
.up-triangle{
.up-triangle {
width: 0; width: 0;
height: 0; height: 0;
border-left: 4px solid transparent; border-left: 4px solid transparent;
@@ -2524,7 +2552,8 @@ export default {
border-bottom: 6px solid #DCDFE6; border-bottom: 6px solid #DCDFE6;
margin-bottom: 2px; margin-bottom: 2px;
} }
.down-triangle{
.down-triangle {
width: 0; width: 0;
height: 0; height: 0;
border-left: 4px solid transparent; border-left: 4px solid transparent;
@@ -2533,7 +2562,8 @@ export default {
} }
} }
} }
.time{
.time {
position: relative; position: relative;
display: flex; display: flex;
justify-content: center; justify-content: center;
@@ -2542,29 +2572,35 @@ export default {
width: 116px; width: 116px;
height: 38px; height: 38px;
border-radius: 4px; border-radius: 4px;
// background: #04243C; // background: #04243C;
&:hover{ &:hover {
// background: #387DF7; // background: #387DF7;
border: 1px solid #387DF7; border: 1px solid #387DF7;
.text{
.text {
// color: #fff; // color: #fff;
} }
// .png{ // .png{
// background: url('../../../assets/images/case/wighttime.png') no-repeat; // background: url('../../../assets/images/case/wighttime.png') no-repeat;
// } // }
} }
.png{
.png {
width: 18px; width: 18px;
height: 18px; height: 18px;
background: url('../../../../public/images/browse.png') no-repeat; background: url('../../../../public/images/browse.png') no-repeat;
background-size: 100%; background-size: 100%;
margin-right: 9px; margin-right: 9px;
} }
.text{
.text {
font-size: 14px; font-size: 14px;
color: #333333; color: #333333;
} }
} }
.time::before { .time::before {
content: ''; content: '';
position: absolute; position: absolute;
@@ -2577,7 +2613,8 @@ export default {
z-index: 1; z-index: 1;
border-radius: 4px; border-radius: 4px;
} }
.time_active{
.time_active {
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
@@ -2586,19 +2623,22 @@ export default {
height: 38px; height: 38px;
background: #387DF7; background: #387DF7;
border-radius: 4px; border-radius: 4px;
.png{
.png {
width: 20px; width: 20px;
height: 20px; height: 20px;
background: url('../../../assets/images/case/wighttime.png') no-repeat; background: url('../../../assets/images/case/wighttime.png') no-repeat;
background-size: 100%; background-size: 100%;
margin-right: 9px; margin-right: 9px;
} }
.text{
.text {
font-size: 14px; font-size: 14px;
color: #fff; color: #fff;
} }
} }
.collect{
.collect {
position: relative; position: relative;
display: flex; display: flex;
justify-content: center; justify-content: center;
@@ -2607,29 +2647,35 @@ export default {
width: 116px; width: 116px;
height: 38px; height: 38px;
border-radius: 4px; border-radius: 4px;
// background: #04243C; // background: #04243C;
&:hover{ &:hover {
// background: #387DF7; // background: #387DF7;
border: 1px solid #387DF7; border: 1px solid #387DF7;
.text{
.text {
// color: #fff; // color: #fff;
} }
// .png{ // .png{
// background: url('../../../assets/images/case/wight.png') no-repeat; // background: url('../../../assets/images/case/wight.png') no-repeat;
// } // }
} }
.png{
.png {
width: 18px; width: 18px;
height: 18px; height: 18px;
background: url('../../../../public/images/collect.png') no-repeat; background: url('../../../../public/images/collect.png') no-repeat;
background-size: 100%; background-size: 100%;
margin-right: 9px; margin-right: 9px;
} }
.text{
.text {
font-size: 14px; font-size: 14px;
color: #333333; color: #333333;
} }
} }
.collect::before { .collect::before {
content: ''; content: '';
position: absolute; position: absolute;
@@ -2642,7 +2688,8 @@ export default {
z-index: 1; z-index: 1;
border-radius: 4px; border-radius: 4px;
} }
.collect_active{
.collect_active {
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
@@ -2651,26 +2698,29 @@ export default {
height: 38px; height: 38px;
background: #387DF7; background: #387DF7;
border-radius: 4px; border-radius: 4px;
.png{
.png {
width: 18px; width: 18px;
height: 18px; height: 18px;
background: url('../../../assets/images/case/wight.png') no-repeat; background: url('../../../assets/images/case/wight.png') no-repeat;
background-size: 100%; background-size: 100%;
margin-right: 9px; margin-right: 9px;
} }
.text{
.text {
font-size: 14px; font-size: 14px;
color: #fff; color: #fff;
} }
} }
} }
.back_num{ .back_num {
background: #FFFFFF; background: #FFFFFF;
display: flex; display: flex;
justify-content: center; justify-content: center;
padding: 0 40px; padding: 0 40px;
.search_div_num{
.search_div_num {
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
@@ -2682,6 +2732,7 @@ export default {
color: #387DF7; color: #387DF7;
} }
} }
.data-content { .data-content {
background-color: #fff; background-color: #fff;
padding: 5px 50px; padding: 5px 50px;
@@ -2715,12 +2766,13 @@ export default {
.case-info { .case-info {
.case-info-cont { .case-info-cont {
.case_text{ .case_text {
font-size: 14px; font-size: 14px;
font-weight: 400; font-weight: 400;
color: #666666; color: #666666;
margin-bottom: 8px; margin-bottom: 8px;
} }
.case-info-title { .case-info-title {
font-size: 15px; font-size: 15px;
color: #333; color: #333;
@@ -2819,10 +2871,22 @@ export default {
text-align: center; text-align: center;
} }
} }
.AI-case{
// max-width: 400px; .AI-case {
height: 100px; margin-bottom: 10px;
background: #CEE4FF; position: relative;
margin-bottom:10px
img {
width: 100%;
}
span {
width: 160px;
height: 40px;
position: absolute;
left: 20px;
top: 105px;
cursor: pointer;
}
} }
</style> </style>