鸿宇研学生前端代码
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.
 
 
 

112 lines
2.3 KiB

<template>
<view class="records__view">
<uv-steps direction="column">
<uv-steps-item v-for="(record, index) in list" :key="record.id">
<template #icon>
<view class="flex mark is-active" v-if="index === 0">
<image class="icon" src="@/static/image/icon-mark-highlight.png" mode="widthFix"></image>
</view>
<view class="flex mark" v-else>
<image class="icon" src="@/static/image/icon-mark.png" mode="widthFix"></image>
</view>
</template>
<template #title>
<view class="title">{{ record.name }}</view>
</template>
<template #desc>
<view class="content">
<view class="list">
<view class="flex flex-column list-item" v-for="(child, cIdx) in record.children" :key="cIdx">
<image class="list-item-icon" :src="child.icon" mode="aspectFill"></image>
<view class="list-item-title">{{ child.label }}</view>
<view class="list-item-desc">{{ child.createTime }}</view>
</view>
</view>
</view>
</template>
</uv-steps-item>
</uv-steps>
</view>
</template>
<script>
export default {
props: {
list: {
type: Array,
default() {
return []
}
}
},
}
</script>
<style scoped lang="scss">
.records__view {
padding-left: 40rpx;
}
.mark {
margin-top: 8rpx;
width: 36rpx;
height: 36rpx;
background: #F3F3F3;
border-radius: 50%;
.icon {
width: 24rpx;
height: auto;
}
&.is-active {
background: linear-gradient(to right, #21FEEC, #019AF9);
}
}
.title {
font-family: PingFang SC;
font-size: 30rpx;
font-weight: 500;
line-height: 1.4;
color: #191919;
}
.content {
width: calc(100vw - 92rpx);
}
.list {
display: flex;
flex-wrap: nowrap;
overflow-x: auto;
font-family: PingFang SC;
line-height: 1.4;
&-item {
flex: none;
row-gap: 4rpx;
width: 206rpx;
height: 226rpx;
&-icon {
width: 110rpx;
height: 110rpx;
}
&-title {
font-size: 28rpx;
font-weight: 500;
color: #080808;
}
&-desc {
font-size: 26rpx;
font-weight: 400;
color: #999999;
}
}
}
</style>