140 lines
3.8 KiB
Vue
140 lines
3.8 KiB
Vue
<template>
|
||
<!-- 文章列表 -->
|
||
<view>
|
||
<view class="articleList" :style="[boxStyle]" v-if="articleList.length">
|
||
<view v-if="listStyle">
|
||
<navigator :url='"/pages/goods/news_details/index?id="+item.id' hover-class='none' :style="[itemStyle]"
|
||
v-if="item.status" v-for="(item,index) in articleList" :key='index'
|
||
class="item acea-row row-between-wrapper">
|
||
<view class="pictrue">
|
||
<easy-loadimage :image-src="item.cover" :radius="dataConfig.contentStyle.val"></easy-loadimage>
|
||
</view>
|
||
<view class="text">
|
||
<view class="name line2" :style="[titleColor]">{{item.title}}</view>
|
||
<view class="time" :style="[timeColor]">{{item.createTime}}</view>
|
||
</view>
|
||
</navigator>
|
||
</view>
|
||
<view v-else>
|
||
<navigator v-if="item.status" :url='"/pages/goods/news_details/index?id="+item.id' hover-class='none'
|
||
:style="[itemStyle]" v-for="(item,index) in articleList" :key='index'
|
||
class="item acea-row row-between-wrapper">
|
||
<view class="text">
|
||
<view class="name line2" :style="[titleColor]">{{item.title}}</view>
|
||
<view class="time" :style="[timeColor]">{{item.createTime}}</view>
|
||
</view>
|
||
<view class="pictrue">
|
||
<easy-loadimage :image-src="item.cover" :radius="dataConfig.contentStyle.val"></easy-loadimage>
|
||
</view>
|
||
</navigator>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</template>
|
||
<script>
|
||
// +----------------------------------------------------------------------
|
||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||
// +----------------------------------------------------------------------
|
||
// | Copyright (c) 2016~2024 https://www.crmeb.com All rights reserved.
|
||
// +----------------------------------------------------------------------
|
||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||
// +----------------------------------------------------------------------
|
||
// | Author: CRMEB Team <admin@crmeb.com>
|
||
// +----------------------------------------------------------------------
|
||
import easyLoadimage from '@/components/base/easy-loadimage.vue';
|
||
export default {
|
||
name: 'homeArticle',
|
||
props: {
|
||
dataConfig: {
|
||
type: Object,
|
||
default: () => {}
|
||
},
|
||
},
|
||
data() {
|
||
return {}
|
||
},
|
||
components: {
|
||
easyLoadimage
|
||
},
|
||
computed: {
|
||
//布局样式
|
||
listStyle() {
|
||
return this.dataConfig.layoutConfig.tabVal === 0
|
||
},
|
||
//文章分类
|
||
articleList() {
|
||
return this.dataConfig.selectConfig.articleList
|
||
},
|
||
//最外层盒子的样式
|
||
boxStyle() {
|
||
return {
|
||
borderRadius: this.dataConfig.bgStyle.val * 2 + 'rpx',
|
||
background: `linear-gradient(${this.dataConfig.bgColor.color[0].item}, ${this.dataConfig.bgColor.color[1].item})`,
|
||
margin: this.dataConfig.mbConfig.val * 2 + 'rpx' + ' ' + this.dataConfig.lrConfig.val * 2 + 'rpx' +
|
||
' ' + 0,
|
||
padding: this.dataConfig.upConfig.val * 2 + 'rpx' + ' ' + 0 + ' ' + this.dataConfig.downConfig.val *
|
||
2 + 'rpx'
|
||
}
|
||
},
|
||
//文章间距
|
||
itemStyle() {
|
||
return {
|
||
'margin-bottom': this.dataConfig.contentConfig.val * 2 + 'rpx'
|
||
}
|
||
},
|
||
//时间颜色
|
||
timeColor() {
|
||
return {
|
||
'color': this.dataConfig.timeColor.color[0].item
|
||
}
|
||
},
|
||
//标题颜色
|
||
titleColor() {
|
||
return {
|
||
'color': this.dataConfig.titleColor.color[0].item
|
||
}
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style lang="scss" scoped>
|
||
.articleList {
|
||
|
||
.item {
|
||
padding: 0 20rpx;
|
||
|
||
&:last-child {
|
||
margin-bottom: 0 !important;
|
||
}
|
||
|
||
.text {
|
||
width: 60%;
|
||
|
||
.name {
|
||
font-size: 30rpx;
|
||
color: #282828;
|
||
height: 82rpx;
|
||
}
|
||
|
||
.time {
|
||
font-size: 24rpx;
|
||
color: #999;
|
||
margin-top: 40rpx;
|
||
}
|
||
}
|
||
|
||
.pictrue {
|
||
width: 37%;
|
||
height: 156rpx;
|
||
border-radius: 6rpx;
|
||
|
||
image {
|
||
width: 100%;
|
||
height: 100%;
|
||
border-radius: 6rpx;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
</style> |