123 lines
2.3 KiB
Vue
123 lines
2.3 KiB
Vue
<template>
|
|
<!-- 新消息提示组件 -->
|
|
<div class="notify-box pointer">
|
|
<div class="lbox">
|
|
<el-avatar size="medium" shape="square" :src="avatar" />
|
|
</div>
|
|
<div class="rbox">
|
|
<div class="xheader">
|
|
<p class="title">
|
|
{{ talk_type == 1 ? '私信消息通知' : '群聊消息通知' }}
|
|
</p>
|
|
<p class="time"><i class="el-icon-time" /> {{ datetime | format }}</p>
|
|
</div>
|
|
<div class="xbody">
|
|
<p>@{{ nickname }}</p>
|
|
<div>{{ content }}</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import { parseTime } from '@/utils/functions'
|
|
|
|
export default {
|
|
components: {},
|
|
props: {
|
|
avatar: {
|
|
type: String,
|
|
default:
|
|
'https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png',
|
|
},
|
|
talk_type: {
|
|
type: Number,
|
|
default: 1,
|
|
},
|
|
nickname: {
|
|
type: String,
|
|
default: '',
|
|
},
|
|
content: {
|
|
type: String,
|
|
default: '',
|
|
},
|
|
datetime: {
|
|
type: String,
|
|
default: '',
|
|
},
|
|
},
|
|
data() {
|
|
return {}
|
|
},
|
|
filters: {
|
|
format(datetime) {
|
|
datetime = datetime || new Date()
|
|
return parseTime(datetime, '{m}/{d} {h}:{i} 分')
|
|
},
|
|
},
|
|
}
|
|
</script>
|
|
<style lang="less" scoped>
|
|
.notify-box {
|
|
width: 300px;
|
|
min-height: 100px;
|
|
display: flex;
|
|
box-sizing: border-box;
|
|
padding: 5px;
|
|
|
|
.lbox {
|
|
flex-basis: 50px;
|
|
flex-shrink: 1;
|
|
display: flex;
|
|
justify-content: center;
|
|
}
|
|
|
|
.rbox {
|
|
flex: 1 auto;
|
|
margin-left: 5px;
|
|
|
|
.xheader {
|
|
height: 25px;
|
|
width: 100%;
|
|
display: flex;
|
|
flex-direction: row;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
|
|
.title {
|
|
font-size: 13px;
|
|
font-weight: 500;
|
|
}
|
|
.time {
|
|
font-size: 12px;
|
|
}
|
|
}
|
|
|
|
.xbody {
|
|
min-height: 60px;
|
|
width: 100%;
|
|
margin-top: 5px;
|
|
|
|
p {
|
|
font-size: 13px;
|
|
font-weight: 400;
|
|
color: #fb4208;
|
|
margin-bottom: 4px;
|
|
}
|
|
|
|
div {
|
|
display: -webkit-box;
|
|
-webkit-box-orient: vertical;
|
|
-webkit-line-clamp: 3;
|
|
overflow: hidden;
|
|
background: #f3f5f7;
|
|
font-size: 13px;
|
|
padding: 5px;
|
|
border-radius: 5px;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</style>
|