hbt-moore-stone-ui/component/ms-mattention.htm

123 lines
2.9 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<script type="text/x-template" id="ms-mattention">
<div class="interaction-like interaction-btn" :class="{thumbsUpchecked:thumbsUp == true}">
<i :class="icon" @click="saveAttention()"></i>
<span class="value">
{{attentionTotal}}
</span>
</div>
</script>
<script>
Vue.component('ms-mattention',{
template: "#ms-mattention",
name: "ms-mattention",
props:{
// 业务编号
dataId:{
type: String
},
// 类型
dataType:{
type: String
},
// 图标
icon:{
type: String
},
// 标题
label:{
type: String
}
},
data: function(){
return{
// 数量
attentionTotal: 0,
thumbsUp: false,
}
},
methods: {
// 保存
saveAttention: function () {
var that = this
ms.http.post( ms.base + "/people/attention/collection/save.do", {
dataId: that.dataId,
dataType: that.dataType,
collectionDataTitle: that.label,
}).then(function (res) {
if (res.result) {
that.attentionTotals(that.dataType)
that.thumbsUp = res.data;
}
});
},
// 关注数量
attentionTotals: function (dataType) {
var that = this;
//用户-关注接口
ms.http.post(ms.base + "/attention/collection/queryCollectionCount.do", {
dataIds: that.dataId,
dataType: dataType
}).then(function (res) {
if(res.result && res.data.rows.length > 0){
that.attentionTotal = 0;
res.data.rows.forEach(function (item) {
if (item.dataId == that.dataId) {
that.attentionTotal = item.dataCount;
if (item.isLike) {
that.thumbsUp = item.isLike;
}
}
})
} else {
that.attentionTotal = 0
}
}).catch(function (err) {
that.$notify({
title: '提示',
dangerouslyUseHTMLString: true,
message: '需要安装关注插件才能使用请先进入后台MStore安装关注插件使用。<span style="color: #409EFF; text-decoration: underline;">'
+'<a href="http://store.mingsoft.net/#/detail?id=265&type=plugin" target="_blank">点击查看关注插件</a></span>',
type: 'warning'
});
})
},
},
created: function () {
this.icon = "iconfont "+this.icon+" label"
this.attentionTotals(this.dataType)
}
})
</script>
<style scoped>
.news-detail .detail-bottom-interaction .interaction-like {
min-height: 50px;
margin-right: 20px;
align-items: center;
flex-wrap: nowrap;
flex-direction: row;
display: flex;
flex-shrink: 0;
width: unset;
box-sizing: border-box;
margin-top: 0px;
height: 100%;
}
.news-detail .detail-bottom-interaction .interaction-like .label {
margin-right: 5px;
font-size: 28PX;
margin-top: -8px;
}
.news-detail .detail-bottom-interaction .interaction-like .value {
margin-right: 0px;
flex-direction: row;
word-wrap: break-word;
display: inline-block;
}
.interaction-btn {
cursor: pointer;
}
</style>