前端页面历史记录列表实现

hot-fix
chantouRichard 2 months ago
parent cc63675e71
commit 7f65bab280

@ -175,14 +175,14 @@ export default {
} }
.no-data-icon { .no-data-icon {
width: 80px; width: 200px;
height: 80px; height: 200px;
opacity: 0.6; opacity: 0.6;
} }
.no-data-text { .no-data-text {
margin-top: 15px; margin-top: 15px;
font-size: 16px; font-size: 24px;
color: #999; color: #999;
} }

@ -91,28 +91,43 @@
</view> </view>
<view class="activity-list"> <view class="activity-list">
<view <view v-if="recentActivities.length > 0">
class="activity-item" <view
v-for="(activity, index) in recentActivities.slice(0, 3)" class="activity-item"
:key="index" v-for="(activity, index) in recentActivities.slice(0, 3)"
> :key="index"
<view class="activity-icon" :class="activity.type"> >
<image <view class="activity-icon" :class="activity.type">
:src="getActivityIcon(activity.type)" <image
mode="aspectFit" :src="getActivityIcon(activity.type)"
></image> mode="aspectFit"
</view> ></image>
<view class="activity-content"> </view>
<view class="activity-title">{{ activity.title?activity.title:activity.preview }}</view> <view class="activity-content">
<view class="activity-time">{{ formatDate(activity.updateTime) }}</view> <view class="activity-title">{{
</view> activity.title ? activity.title : activity.preview
<view class="activity-arrow"> }}</view>
<image <view class="activity-time">{{
src="/static/icons/arrow-right-s-line.png" formatDate(activity.updateTime)
mode="aspectFit" }}</view>
></image> </view>
<view class="activity-arrow">
<image
src="/static/icons/arrow-right-s-line.png"
mode="aspectFit"
></image>
</view>
</view> </view>
</view> </view>
<!-- 没有数据时显示提示信息 -->
<div v-else class="no-data">
<image
src="/static/icons/no-data.png"
mode="aspectFit"
class="no-data-icon"
/>
<p class="no-data-text">暂无数据</p>
</div>
</view> </view>
</view> </view>
@ -288,6 +303,25 @@ export default {
</script> </script>
<style scoped> <style scoped>
.no-data {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding-top: 50px;
}
.no-data-icon {
width: 200px;
height: 100px;
opacity: 0.6;
}
.no-data-text {
margin-top: 15px;
font-size: 24px;
color: #999;
}
.slide-enter-active, .slide-enter-active,
.slide-leave-active { .slide-leave-active {
transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out;

Loading…
Cancel
Save