You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
212 lines
5.9 KiB
212 lines
5.9 KiB
<template>
|
|
<article class="single_blog">
|
|
<figure>
|
|
<div class="blog_thumb" v-if="image" @click="$gotoUrl">
|
|
<a href="javascript:;" class="img-box" :class="['pb'+imageHeight , (isScale?'img-scale':'')]">
|
|
<div class="img" :style="{'background-image':'url('+$getImage(image)+')'}"></div>
|
|
</a>
|
|
</div>
|
|
<figcaption class="blog_content">
|
|
<h4 class="post_title">
|
|
<a href="javascript:;" @click="$gotoUrl"> {{ title }} </a>
|
|
</h4>
|
|
<div class="articles_date">
|
|
<span><i class="fa fa-calendar" aria-hidden="true"></i> {{ formatTime }}</span>
|
|
<span v-if="sendUser"><i class="fa fa-user" aria-hidden="true"></i> {{ sendUser }}</span>
|
|
</div>
|
|
<p class="post_desc">
|
|
{{ contents }}
|
|
</p>
|
|
<a href="javascript:;" class="btn-see" @click="$gotoUrl"> {{btnText}} </a>
|
|
<span class="article-price" v-if="price">¥ {{ price }}</span>
|
|
</figcaption>
|
|
</figure>
|
|
</article>
|
|
</template>
|
|
|
|
<script>
|
|
|
|
import gotoUrl from "../mixins/gotoUrl";
|
|
|
|
export default {
|
|
name: "e-module-blog",
|
|
data() {
|
|
return {}
|
|
},
|
|
props:{
|
|
to:[String,Object],
|
|
replace:{
|
|
type:Boolean,
|
|
default:false
|
|
},
|
|
title:String,
|
|
price:[String,Number],
|
|
content:[String,Number],
|
|
sendUser:String,
|
|
time:String,
|
|
image:String,
|
|
imageHeight:{
|
|
type:[String,Number],
|
|
default:80
|
|
},
|
|
btnText:{
|
|
type:String,
|
|
default:'+ 查看详情'
|
|
},
|
|
isScale:{
|
|
type:Boolean,
|
|
default:false
|
|
},
|
|
len:{
|
|
type:Number,
|
|
default:30
|
|
}
|
|
},
|
|
mixins:[gotoUrl],
|
|
watch: {},
|
|
computed: {
|
|
contents() {
|
|
if (this.content) {
|
|
return this.content.replace(/<[^>]+>/g, "")
|
|
.replace(/\ \;/ig,'')
|
|
.replace(/\s+/ig , '')
|
|
.replace(/(\n|\r)/ig , '')
|
|
.substr(0, this.len);
|
|
}
|
|
return '';
|
|
},
|
|
formatTime () {
|
|
if ( this.time ) {
|
|
return this.time.substr(0,10);
|
|
}
|
|
return "";
|
|
},
|
|
imageSrc(){
|
|
return this.image ? this.image.split(',')[0] : '';
|
|
}
|
|
},
|
|
methods: {
|
|
|
|
},
|
|
created() {
|
|
|
|
},
|
|
mounted() {
|
|
},
|
|
destroyed() {
|
|
}
|
|
}
|
|
</script>
|
|
<style type="text/scss" scoped lang="scss">
|
|
.single_blog{
|
|
padding: 10px;
|
|
background: #ffffff;
|
|
figure{
|
|
margin: 0px;
|
|
padding: 0px;
|
|
.blog_content {
|
|
padding-top: 20px;
|
|
position: relative;
|
|
.post_title {
|
|
margin: 0px;
|
|
padding: 0px;
|
|
font-size: 16px;
|
|
text-transform: capitalize;
|
|
line-height: 30px;
|
|
margin-bottom: 10px;
|
|
font-weight: 500;
|
|
}
|
|
.articles_date {
|
|
margin-bottom: 10px;
|
|
display: flex;
|
|
}
|
|
.articles_date span {
|
|
font-size: 13px;
|
|
line-height: 15px;
|
|
margin-right: 5px;
|
|
}
|
|
p.post_desc {
|
|
font-size: 14px;
|
|
line-height: 24px;
|
|
height: 48px;
|
|
overflow: hidden;
|
|
color: #9a9a9a;
|
|
margin-bottom: 0;
|
|
}
|
|
> a.btn-see {
|
|
font-size: 14px;
|
|
text-transform: uppercase;
|
|
font-weight: 600;
|
|
display: inline-block;
|
|
border: 1px solid #454545;
|
|
line-height: 20px;
|
|
padding: 10px;
|
|
border-radius: 15px;
|
|
margin-top: 24px;
|
|
text-decoration: none;
|
|
color: rgba(91,40,158,0.8);
|
|
width: 100px;
|
|
}
|
|
> a:hover {
|
|
color: #fff;
|
|
background: #F53737;
|
|
border-color: #F53737;
|
|
}
|
|
.article-price{
|
|
position: absolute;
|
|
right: 10px;
|
|
bottom: 10px;
|
|
color: #F53737;
|
|
font-size: 18px;
|
|
}
|
|
}
|
|
|
|
.blog_carousel:hover .owl-nav div {
|
|
opacity: 1;
|
|
visibility: visible;
|
|
left: 0;
|
|
}
|
|
.blog_carousel:hover .owl-nav div.owl-next {
|
|
right: 0;
|
|
}
|
|
.blog_carousel .owl-nav.disabled {
|
|
display: block;
|
|
}
|
|
|
|
.blog_carousel .owl-nav div {
|
|
position: absolute;
|
|
top: 50%;
|
|
transform: translatey(-50%);
|
|
font-size: 18px;
|
|
-webkit-transition: 0.3s;
|
|
transition: 0.3s;
|
|
opacity: 0;
|
|
visibility: hidden;
|
|
width: 62px;
|
|
height: 62px;
|
|
line-height: 60px;
|
|
text-align: center;
|
|
background: rgba(255, 255, 255, 0.75);
|
|
border-radius: 50%;
|
|
left: 25px;
|
|
border: 1px solid #e5e5e5;
|
|
}
|
|
.blog_carousel .owl-nav div:hover {
|
|
color: #fff;
|
|
background: #F53737;
|
|
border-color: #F53737;
|
|
}
|
|
.blog_carousel .owl-nav div.owl-next {
|
|
right: 15px;
|
|
left: auto;
|
|
}
|
|
@media only screen and (max-width: 767px) {
|
|
.blog_carousel .owl-nav div {
|
|
display: none;
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
</style>
|