改版的请求方式已常用函数
<template>
<div class="ds_nc_focusali">
<!--<div class="fteacher-title">
<div class="leftcon">
<i></i>
<span>聚焦阿里</span>
</div>
</div>-->
<def-title :title="title" :moreurl='moreurl'></def-title>
<div class="focusalibox">
<div class="barbox">
<ul>
<template v-if="listdata.length>0">
<li
class="leftbtn"
@click="changebar(index,item.nc_bqk_id,item.description)"
v-for="item,index in listdata"
:key="item.name"
v-bind:class="{act:index==baractive}"
>
<p>
<span class="ell" :title="item.name">#{{item.name}}#</span>
<el-button icon="el-icon-arrow-right"></el-button>
</p>
</li>
</template>
<template v-else>
<li style="text-align: center;">暂无数据</li>
</template>
</ul>
</div>
<div class="r-focuscontent">
<div class="ell fotitle">{{description}}</div>
<div class="operation">
<p>
<span>{{joins}}</span>
<i>次参与</i>
</p>
<p>
<el-button @click="btnmore" type="primary" size="mini">
更多
<i class="el-icon-arrow-right el-icon--right"></i>
</el-button>
</p>
</div>
<div class="itembox">
<template v-if="listclassify.length>0">
<div
class="fitem"
@click="details(item.nc_zyb_id)"
v-for="item,index in listclassify"
:key="item.title"
>
<img :src="geturls(item.cover)" :onerror="defaultImg" />
<h6></h6>
<p>{{item.title}}</p>
</div>
</template>
<template v-else>
<div style="text-align: center;">暂无数据</div>
</template>
</div>
</div>
</div>
</div>
</template>
<script>
import DefTitle from '../Deftitle/Deftitle'
export default {
name: "fteacher",
props: {
title: {
type: String,
default: "聚焦阿里1"
},
moreurl: {
type: String,
default: ""
}
},
components: {
DefTitle
},
data() {
return {
defaultImg:
'this.src="' +
require("../../assets/defaultImage/file-read-18688.png") +
'"', //默认图地址
baractive: 0,
description: "",
joins: "",
parms: {
lxValue: 6
},
listdata: [], //分类列
listclassify: []
};
},
created: function() {
this.indexlist();
},
methods: {
geturls(cover) {
let urls = "";
if (cover) {
let cov = JSON.parse(cover);
if (cov && cov.length > 0) {
urls = cov[0].relativePath;
}
return dsf.config.webRoot+urls;
} else {
urls = "../../assets/defaultImage/file-read-18689.png";
return urls
}
},
changebar(index, id, description) {
this.baractive = index;
this.description = !!description ? description : ""; //显示标题
this.classify(id);
},
btnmore() {
dsf.config.openLogin(()=>{
var ur = dsf.url.getWebPath( "nc/mhsy/views/pd.html?gitTitle=" + encodeURI("频道") );
window.location.href = ur;
})
},
indexlist() {
let _this = this;
let loadingIdx = this.dsf.layer.loading();
this.dsf.http.get(dsf.url.getWebPath("nc/bqk/getAllTag"), _this.parms).done(d => {
if (d.state == 20000) {
_this.listdata = d.data;
if (_this.listdata && _this.listdata.length > 0) {
_this.classify(d.data[0].nc_bqk_id);
_this.description = !!d.data[0].description
? d.data[0].description
: ""; //显示标题
}
} else {
this.$message({
message: d.message,
type: "success"
});
}
this.dsf.layer.closeLoading(loadingIdx);
});
},
classify(id) {
let _this = this;
let loadingIdx = this.dsf.layer.loading();
let classparms = {
labelId: id,
pageNum: 1,
pageSize: 4
};
this.dsf.http.get(dsf.url.getWebPath("yyzx/pdgl/getByLabelId"), classparms).done(d => {
if (d.state == 20000) {
_this.listclassify = d.data.channels;
_this.joins = !!d.data.clickcs ? parseInt(d.data.clickcs) : 0;
} else {
this.$message({
message: d.message,
type: "success"
});
}
this.dsf.layer.closeLoading(loadingIdx);
});
},
details(id) {
dsf.config.openLogin(()=>{
var ur = dsf.url.getWebPath("nc/pc/channelDetail/views/channelDetail.html?id=" + id)
window.open(ur);
})
}
}
};
</script>