231 lines
4.5 KiB
Vue
231 lines
4.5 KiB
Vue
|
|
<template>
|
|||
|
|
<!-- 获取一个数组,结构为[{date:'时间',info:'内容内容'}] -->
|
|||
|
|
<!-- @click事件返回点击标签元素的索引值 第一项为0 -->
|
|||
|
|
<view class="bg">
|
|||
|
|
<view class="steps">
|
|||
|
|
<view class="steps_item" v-for="(i, index) in infoList">
|
|||
|
|
<view class="s_r">
|
|||
|
|
<view class="line" :style="{backgroundColor:index != 0?backgroundColor:'rgba(0,0,0,0)'}"></view>
|
|||
|
|
<view class="index" :style="{backgroundColor:backgroundColor,color:color}">
|
|||
|
|
<!-- {{ index + 1 }} -->
|
|||
|
|
</view>
|
|||
|
|
<view class="line" :style="{backgroundColor:index != infoList.length-1?backgroundColor:'rgba(0,0,0,0)'}"></view>
|
|||
|
|
</view>
|
|||
|
|
<view class="s_l">
|
|||
|
|
<view class="info_item" >
|
|||
|
|
<view style="display: flex;;justify-content:space-between">
|
|||
|
|
<view><text style="font-size: 28upx;font-weight: bold;">{{ i.date }}</text></view>
|
|||
|
|
<view><text style="font-size: 26upx;color: gray;">{{ i.time }}</text></view>
|
|||
|
|
</view>
|
|||
|
|
<view :style="{WebkitLineClamp:lineNum!=0?lineNum:''}">{{ i.info }}</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</template>
|
|||
|
|
|
|||
|
|
<script>
|
|||
|
|
export default {
|
|||
|
|
name: 'YSteps',
|
|||
|
|
props: {
|
|||
|
|
infoList: {
|
|||
|
|
type: Array,
|
|||
|
|
default:[]
|
|||
|
|
},
|
|||
|
|
color: {
|
|||
|
|
type: String,
|
|||
|
|
default: '#fff'
|
|||
|
|
},
|
|||
|
|
backgroundColor: {
|
|||
|
|
type: String,
|
|||
|
|
default: '#ff3838'
|
|||
|
|
},
|
|||
|
|
lineNum: {
|
|||
|
|
type: Number,
|
|||
|
|
default: 0
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
data() {
|
|||
|
|
return {};
|
|||
|
|
},
|
|||
|
|
onLoad(e) {
|
|||
|
|
//获取列表
|
|||
|
|
},
|
|||
|
|
methods: {
|
|||
|
|
topage(e) {
|
|||
|
|
this.$emit('click', e);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
<style lang="scss" scoped>
|
|||
|
|
page {
|
|||
|
|
background-color: white;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.bg {
|
|||
|
|
margin: 20upx 0;
|
|||
|
|
background-color: white;
|
|||
|
|
display: flex;
|
|||
|
|
border-radius: 15upx;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.steps {
|
|||
|
|
display: flex;
|
|||
|
|
flex-direction: column;
|
|||
|
|
width:100%;
|
|||
|
|
|
|||
|
|
.steps_item {
|
|||
|
|
display: flex;
|
|||
|
|
|
|||
|
|
.s_r {
|
|||
|
|
padding: 0 20rpx;
|
|||
|
|
display: flex;
|
|||
|
|
flex-direction: column;
|
|||
|
|
align-items: center;
|
|||
|
|
|
|||
|
|
.line {
|
|||
|
|
flex: 1;
|
|||
|
|
width: 5rpx;
|
|||
|
|
background-color: #fff;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.index {
|
|||
|
|
width: 20rpx;
|
|||
|
|
height: 20rpx;
|
|||
|
|
font-size: 12px;
|
|||
|
|
text-align: center;
|
|||
|
|
line-height: 20rpx;
|
|||
|
|
border-radius: 50rpx;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.s_l {
|
|||
|
|
display: flex;
|
|||
|
|
flex-direction: column;
|
|||
|
|
padding: 20rpx 0;
|
|||
|
|
width: 100%;
|
|||
|
|
|
|||
|
|
.info_item {
|
|||
|
|
background-color: #FFFFFF;
|
|||
|
|
border-radius: 10upx;
|
|||
|
|
display: flex;
|
|||
|
|
flex-direction: column;
|
|||
|
|
justify-content: center;
|
|||
|
|
padding-right: 20upx;
|
|||
|
|
|
|||
|
|
text {
|
|||
|
|
font-size: 18px;
|
|||
|
|
font-weight: 500;
|
|||
|
|
color: rgba(51, 51, 51, 1);
|
|||
|
|
line-height: 25px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
view {
|
|||
|
|
font-size: 14px;
|
|||
|
|
font-weight: 400;
|
|||
|
|
color: rgba(102, 102, 102, 1);
|
|||
|
|
line-height: 20px;
|
|||
|
|
overflow: hidden;
|
|||
|
|
text-overflow: ellipsis;
|
|||
|
|
// display: -webkit-box;
|
|||
|
|
|
|||
|
|
// flex-direction: column;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.info_item:active {
|
|||
|
|
background-color: #f4f4f4;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
// .steps {
|
|||
|
|
// display: flex;
|
|||
|
|
// flex-direction: column;
|
|||
|
|
// margin: 0 30upx;
|
|||
|
|
|
|||
|
|
// .steps_item {
|
|||
|
|
// display: flex;
|
|||
|
|
// align-items:center ;
|
|||
|
|
// background-color: #fff;
|
|||
|
|
// margin-top: 10rpx;
|
|||
|
|
// .s_r {
|
|||
|
|
// display: flex;
|
|||
|
|
// flex-direction: column;
|
|||
|
|
// align-items: center;
|
|||
|
|
// height: 100%;
|
|||
|
|
// background-color: #f3f;
|
|||
|
|
// flex: 1;
|
|||
|
|
// view {
|
|||
|
|
// height: 100%;
|
|||
|
|
// display: flex;
|
|||
|
|
// flex: 1;
|
|||
|
|
// height: 100%;
|
|||
|
|
// width: 5upx;
|
|||
|
|
// }
|
|||
|
|
|
|||
|
|
// text {
|
|||
|
|
// display: flex;
|
|||
|
|
// flex-direction: column;
|
|||
|
|
// align-items: center;
|
|||
|
|
// width: 40upx;
|
|||
|
|
// line-height: 40upx;
|
|||
|
|
// height: 40upx;
|
|||
|
|
// border-radius: 50%;
|
|||
|
|
// background-color: #ff3838;
|
|||
|
|
// color: #ffffff;
|
|||
|
|
// font-size: 10px;
|
|||
|
|
// }
|
|||
|
|
// }
|
|||
|
|
// }
|
|||
|
|
// }
|
|||
|
|
|
|||
|
|
// .info_list {
|
|||
|
|
// display: flex;
|
|||
|
|
// flex-direction: column;
|
|||
|
|
// flex: 1;
|
|||
|
|
|
|||
|
|
// .info_item {
|
|||
|
|
// background-color: #fff;
|
|||
|
|
// height: 200upx;
|
|||
|
|
// margin: 20upx 0;
|
|||
|
|
// margin-right: 30upx;
|
|||
|
|
// border-radius: 10upx;
|
|||
|
|
// display: flex;
|
|||
|
|
// flex-direction: column;
|
|||
|
|
// justify-content: center;
|
|||
|
|
// padding: 0 30upx;
|
|||
|
|
|
|||
|
|
// text {
|
|||
|
|
// font-size: 18px;
|
|||
|
|
// font-family: PingFangSC-Medium, PingFang SC;
|
|||
|
|
// font-weight: 500;
|
|||
|
|
// color: rgba(51, 51, 51, 1);
|
|||
|
|
// line-height: 25px;
|
|||
|
|
// }
|
|||
|
|
|
|||
|
|
// view {
|
|||
|
|
// font-size: 14px;
|
|||
|
|
// font-family: PingFangSC-Regular, PingFang SC;
|
|||
|
|
// font-weight: 400;
|
|||
|
|
// color: rgba(102, 102, 102, 1);
|
|||
|
|
// line-height: 20px;
|
|||
|
|
// overflow: hidden;
|
|||
|
|
// text-overflow: ellipsis;
|
|||
|
|
// display: -webkit-box;
|
|||
|
|
// -webkit-line-clamp: 2;
|
|||
|
|
// flex-direction: column;
|
|||
|
|
// }
|
|||
|
|
// }
|
|||
|
|
|
|||
|
|
// .info_item:active {
|
|||
|
|
// opacity: 0.6;
|
|||
|
|
// }
|
|||
|
|
// }
|
|||
|
|
</style>
|