Commit 9d4ede8b authored by zhangyanni's avatar zhangyanni

搜索tab

parent 8d7ba571
......@@ -36,6 +36,11 @@ export default {
return api.fetchLoadingLogin(baseUrl+"/search/business",params);
},
//搜索文章
searchArticleAxios(params){
return api.fetchLoadingGet("/business/search/article?"+Qs.stringify(params));
},
//活动报名列表分页
getActivityListAxios(params){
return api.fetchLoadingGet("/base/channel/searchActivity?"+Qs.stringify(params));
......@@ -62,5 +67,5 @@ export default {
//埋点
maiDianAxios(params){
return api.fetchLogin("/business/log/activityLog",params);
},
}
}
......@@ -690,6 +690,7 @@ module.exports = {
sorryTitle1:"Sorry,No “",
sorryActivityTitle:"” Related Events",
sorryArticleTitle:"” Related Articles",
moreArticle:"More Content Information"
},
stepBarTitle: {
......
......@@ -693,6 +693,7 @@ module.exports = {
sorryTitle1:"抱歉,未找到 “",
sorryActivityTitle:"” 相关活动内容",
sorryArticleTitle:"” 相关文章内容",
moreArticle:"更多内容信息"
},
stepBarTitle: {
......
......@@ -84,7 +84,7 @@
<div class="newcontentList" v-if="tableData">
<mt-loadmore :top-method="loadTop" :bottom-method="loadBottom" :auto-fill="false"
:bottom-all-loaded="allLoaded" ref="loadmore">
<ul v-if="tableData">
<ul v-if="tableData" :class="currentIndex==2?'articleContent':''">
<li v-for="(item,index) in tableData" :key="item.projectId" v-if="currentIndex==0"
@click="handleToDetail(item)">
......@@ -167,6 +167,39 @@
</div>
</li>
<li v-for="(item,index) in tableData" :key="item.contentId" v-if="currentIndex==2" @click="handleToDetail(item)">
<div v-if="item.contentUrlList.length==0">
<div class="articleNoImg">
<div>
<span v-if="item.contentSourceType==0"><span class="originalTitle" >原创</span><i> | </i></span>
<span class="articleTitle">{{item.contentTitle}}</span>
</div>
<div class="mainIntro">
{{item.contentValidity}}
</div>
</div>
</div>
<div v-if="item.contentUrlList.length>0">
<div class="articleHasImg">
<div class="leftInfo">
<div>
<span v-if="item.contentSourceType==0"><span class="originalTitle" >原创</span><i> | </i></span>
<span class="articleTitle">{{item.contentTitle}}</span>
</div>
</div>
<!--<div class="rightInfo" :style="{backgroundImage:'url('+item.subjectBackground+')'}">-->
<!--</div>-->
<div class="rightInfo" :style="{backgroundImage:'url('+item.contentUrlList[0]+')'}">
</div>
</div>
</div>
</li>
<li v-for="(item,index) in tableData" :key="index" class="activityLi" v-if="currentIndex==3">
<div class="leftInfo" @click="handleToDetail(item)">
<img :src="item.channelPic" alt="">
......@@ -250,6 +283,7 @@
totalPage: 1,
tableData: [],
allLoaded: false,
flags:false,
totalProjectData: 0,
totalBusinessData: 0,
totalArticleData: 0,
......@@ -267,12 +301,14 @@
},
handleSearch(data) {
this.page = 1;
this.getInitSearchTabFunc(data)
},
handleTab(index) {
this.currentIndex = index;
this.page = 1;
this.tableData = [];
this.switchTab(index);
......@@ -288,13 +324,11 @@
this.getBusinessList(flag);
break;
case 2:
this.getProjectList(flag);
this.getArticleList(flag);
break;
case 3:
this.getActivityList(flag);
break;
}
},
......@@ -332,7 +366,7 @@
}else if(this.currentIndex==1){
this.$router.push({path:"/phoneBusinessDetail",query:{id:data.businessId}})
}else if(this.currentIndex==2){
this.$router.push({path:"/articleDetail",query:{id:data.contentId}})
}else{
let query = this.channelCity?{page:this.page,id:data.channelId,city:this.channelCity,isList:true}:{page:this.page,id:data.channelId,isApply:1,type:data.channelType};
this.$router.push({path:"/activitydetail",query:query});
......@@ -647,6 +681,53 @@
})
},
getArticleList(param){
let params = {
pageIndex:this.page,
pageSize:this.pageSize,
keyword:this.keyword,
};
api.searchArticleAxios(params).then((res)=>{
if(res.code==0){
this.totalArticleData = res.result.total;
if (res.result.records.length > 0) {
res.result.records.forEach((item)=>{
item.contentUrlList = [];
if(item.contentCoverUrl){
item.contentUrlList = [item.contentCoverUrl]
} else {
if(item.contentUrl){
if(item.contentUrl.indexOf(',')>-1) {
item.contentUrlList = item.contentUrl.split(",").length>3?item.contentUrl.split(",").slice(0,3):item.contentUrl.split(",");
}
else item.contentUrlList = [item.contentUrl];
}
else {
item.contentUrlList = [];
}
}
})
this.hasData = false;
if (param) {
this.tableData = this.tableData.concat(res.result.records);
} else {
this.tableData = res.result.records;
}
this.totalPage = res.result.pages;
this.flags = (this.page >= this.totalPage) ? false : true;
this.isHaveMore(this.flags);
} else {
this.tableData = null;
this.hasData = true;
}
}else{
this.$toast(res.msg);
}
}).catch((err)=>{
this.$toast(err);
})
},
getActivityList(size){
let params = {
pageIndex:this.page,
......
......@@ -22,6 +22,9 @@
<span v-if="showTab==2">{{$t('emptyDataTitle.sorryTitle1')+keyword+$t('emptyDataTitle.sorryArticleTitle')}}</span>
<span v-if="showTab==3">{{$t('emptyDataTitle.sorryTitle1')+keyword+$t('emptyDataTitle.sorryActivityTitle')}}</span>
</p>
<div v-if="showTab==2" style="display: flex;justify-content: center;padding-top: .6rem;">
<el-button type="primary" style="border-radius: 1rem;" @click="$router.push('/articleList')">{{$t('emptyDataTitle.moreArticle')}}</el-button>
</div>
</div>
</div>
</template>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment