element-ui的时间线组件不支持修改当前状态线的颜色,所以自己写了一个。
在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style>
		*{
			margin: 0;
			padding: 0;
		}
		.items{
			margin: 50px;
		}
		.item{
			font-size: 13px;
			color: #666;
			display: flex;
			align-content: center;
			position: relative;
			height: 86px;
		}
		.point{
			width:12px ;
			height: 12px;
			background: #e4e7ed;
			border-radius: 50%;
		}
		.line{
			position: absolute;
			left: 5px;
			top: 12px;
			width: 2px;
			height: 75px;
			background: #e4e7ed;
		}
		.item-right{
			margin-left: 14px;
			margin-top: -2px;
		}
	</style>
</head>
<body>
	<div id="app">
		<div class="items">
			<div v-for="(item,index) in items" :key="index" :style="{color:item.color}" class="item">
				<div  class="point" :style="{background:item.color}"></div>
				<div v-if="index+1 != items.length" class="line" :style="{background:lineColor(item.color,index)}" ></div>
				<div class="item-right">
					<div class="content">{{item.content}}</div>
					<div class="time">{{item.time}}</div>
					<div class="person">{{item.person}}</div>
				</div>
				
			</div>	
		</div>
	</div>
	
	<script src="./lib/vue.js"></script>
	<script>
		new Vue({
			el:'#app',
			data(){
				return{
					items:[
						{
							content:'提交审批',
							person:'李小明',
							time:'2020-03-26 12:30',
							color:'green'
						},
						{
							content:'财务审批',
							person:'张文强',
							time:'2020-03-26 13:30',
							color:'green'
						},
						{
							content:'待调度审核',
							person:'陈璐',
							time:'2020-03-26 18:30'
						},
						{
							content:'已审核',
							person:'成雪',
							time:'2020-03-27 13:30'
						}
					]
				}
			},
			created(){

			},
			methods:{
				lineColor(color,index){
					let i;
					this.items.forEach((item,j)=>{
						if(item.color){
							i = j
						}
					})
					if(color&&i!=index){
						return color
					}
				}
			}
		})
	</script>
</body>
</html>
Logo

前往低代码交流专区

更多推荐