|
|
- <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>
|