<!-- * @Description: 数值显示 * @Author: 王晓颖 * @Date: 2020-09-06 16:17:37 --> <template> <div class="index-container"> <!--左边图标--> <div :style="{'width':size=='small'?'2.5rem':'0.47rem'}" class="index-left"> <slot/> </div> <!--右边内容--> <div class="index-right"> <!--标题--> <div :style="{'color':titleColor,'font-size':size=='small'?'0.8rem':'0.11rem'}" class="index-name">{{ data.name }}</div> <!--数值 & 单位--> <div class="index-data"> <div :style="{'color':color,'font-size':size=='small'?'1.2rem':'0.22rem','font-family':fontFamily}" class="index-value">{{ data.value }} </div> <div :style="{'color':color,'font-size':size=='small'?'0.6rem':'0.09rem'}" class="data-right"> {{ data.unit }} </div> </div> </div> </div> </template> <script> export default { name: 'ImageBlock', filters: { valueColor: (status) => { if (status === 'normal') { return { color: '#38ffc1' } } else if (status === 'danger') { return { color: '#ff226d' } } else if (status === 'warning') { return { color: '#ffd43f' } } else { return { color: '#ffffff' } } } }, props: { fontFamily: { type: String, default: '' }, options: { type: Object, default: () => { return { bgColor: '', // 背景颜色, color: '' // 数值颜色 } } }, size: { type: String, default: '' }, // 大小 color: { type: String, default: '#ffffff' }, data: { type: Object, default: () => { return { name: '拥堵指数', // 标题 value: '341', // 数值 unit: '' } } } }, data() { return { titleColor: '#ffffff' } } } </script> <style rel="stylesheet/scss" lang="scss" scoped> .index-container{ width:100%; height:100%; padding:0.05rem; display:flex; justify-content: space-between; align-items: center; border:1px solid #4ddde6; .index-left{ /*width:2rem;*/ width:0.47rem; height:100%; display: flex; justify-content: center; align-items: center; img{ /*width:68%;*/ width:0.32rem; height:0.32rem; } } .index-right{ color:white; flex:1; .index-name{ color:white; font-size:0.12rem; /*font-weight: bold;*/ margin-bottom: 0.1rem; } .index-data{ width: 100%; display: flex; justify-content: start; align-items: flex-end; text-align: right; .index-value{ font-size:0.27rem; font-weight: bolder; } .data-right{ display: flex; justify-content: start; font-size:0.1rem; margin-left:0.1rem; margin-bottom: 0.1rem; } } } } </style>