Files
dy_app/src/pages/clockInPage/components/Timeline.vue

111 lines
2.3 KiB
Vue
Raw Normal View History

2025-09-07 21:33:05 +08:00
<template>
<div class="info-container">
<template v-for="(item, index) in data" :key="index">
<div v-if="item?.dkKsSj" class="item">
<div class="point"></div>
<div class="line" v-if="index + 1 != data.length"></div>
<div class="info-right">
<div class="name">{{ `${item?.count}次打卡` }}</div>
<div class="time">打卡时间<text>{{ item?.dkKsSj }}</text></div>
2025-09-07 21:33:05 +08:00
<div v-if="item?.imgUrl" class="image">
<van-image width="80px" :src="item?.imgUrl" @click="onClickImg(item?.imgUrl)" style="flex: 1">
<template v-slot:loading>
<van-loading type="spinner" size="20" />
</template>
</van-image>
</div>
2025-09-07 21:33:05 +08:00
<!-- <div class="address">-->
<!-- <van-icon name="location-o" color="#1DB1FF" />-->
<!-- <div class="name">四川省成都市</div>-->
<!-- </div>-->
2025-09-07 21:33:05 +08:00
</div>
</div>
</template>
2025-09-07 21:33:05 +08:00
</div>
</template>
<script setup>
import {ImagePreview} from "vant";
2025-09-07 21:33:05 +08:00
const props = defineProps({
data: {
type: Array,
default: []
}
})
//预览图片
function onClickImg(url) {
ImagePreview([url]);
}
2025-09-07 21:33:05 +08:00
</script>
<style lang="scss" scoped>
.info-container {
padding: 0 2.67vw;
margin-top: 4vw;
.item {
color: #666;
display: flex;
align-content: center;
position: relative;
height: auto;
border-left: 0.53vw dashed #1DB1FF;
max-height: 46.93vw;
padding-bottom: 2.67vw;
.point {
position: absolute;
width: 3.2vw;
height: 3.2vw;
background: #1DB1FF;
border-radius: 50%;
flex-shrink: 0;
left: -1.665vw;
}
.info-right {
margin-left: 5.33vw;
font-family: PingFang HK, PingFang HK;
.name {
font-weight: 400;
font-size: 3.73vw;
color: #707070;
}
.image {
margin-top: 2.13vw;
width: 33.87vw;
height: 18.67vw;
}
.time {
margin-top: 2.13vw;
text {
color: #0386FB;
}
}
.address {
margin-top: 2.13vw;
display: flex;
align-items: center;
color: #75787F;
div {
font-size: 2.67vw;
}
.name {
margin-left: 1.33vw;
}
}
}
}
}
</style>