vue2 数据可视化大屏 智慧医疗体检健康数据监控中心
id
317
运行环境
nodejs 23
开发框架
vue2 vite js
分辨率
1920*1080
演示地址
vue2 数据可视化大屏 智慧医疗体检健康数据监控中心
演示demo:vue2 数据可视化大屏 智慧医疗体检健康数据监控中心
效果截图
视频演示
今日体检统计
数字卡片展示今日体检统计
科室体检分布
饼状图展示科室体检分布
疾病分布统计
柱状图展示疾病分布统计
年龄分布统计
饼状图展示年龄分布统计
体检项目完成率
进度条展示体检项目完成率
实时报警信息
列表展示体检完成率趋势分析
体检完成率趋势分析
折线图展示体检完成率趋势分析
部分代码
<template>
<div class="itemBody">
<div class="homeMainTop">
<div class="item wow fadeInDown" :data-wow-delay="0.5*index+'s'" v-for="(item,index) in topList" :key="index">
<zhuangshi></zhuangshi>
<div class="icon">
<div class="iconbg">
<sequence></sequence>
</div>
<i :class="item.icon" :ref="`icon-${index}`"></i>
</div>
<div class="itemRight">
<div class="itemRightName">
<span>{{ item.name }}</span>
</div>
<div class="itemRightNum">
<gsapNumDot :number="item.value" :delay="0.5*index" :precision="item.precision" :comma="true"></gsapNumDot>
<span v-if="item.unit">{{ item.unit }}</span>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import {gsap} from "gsap";
import gsapNumDot from "@/components/gsapNum/index.vue";
import sequence from './sequence/index.vue'
import zhuangshi from './zhuangshi.vue'
export default {
name: "title",
data() {
return {
topList: []
}
},
components: {gsapNumDot, sequence, zhuangshi},
mounted() {
// 页面加载时生成随机数据
this.generateRandomData();
// 添加图标动画
this.startIconAnimation();
// 每30秒更新一次数据(可根据需要调整间隔)
this.dataUpdateTimer = setInterval(() => {
this.generateRandomData();
}, 30000);
},
beforeDestroy() {
// 清除定时器
if (this.dataUpdateTimer) {
clearInterval(this.dataUpdateTimer);
}
// 清除GSAP动画
gsap.killTweensOf("i[class^='icon-']");
},
methods: {
getRandomInt(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1)) + min;
},
// 生成随机数据
generateRandomData() {
this.topList = [
{
name: '今日体检总数',
value: 5926,
unit: '人',
precision: 0,
icon: 'icon-tijian' // 体检图标
},
{
name: '已完成体检',
value: 3427,
unit: '人',
precision: 0,
icon: 'icon-wctijian' // 完成图标
},
{
name: '等待体检',
value: 499,
unit: '人',
precision: 0,
icon: 'icon-dengdai' // 等待图标
},
{
name: '异常指标',
value: 444,
unit: '项',
precision: 0,
icon: 'icon-yichang' // 异常图标
}
];
},
// 启动图标动画
startIconAnimation() {
this.$nextTick(() => {
// 为每个图标创建上下晃动动画
this.topList.forEach((item, index) => {
const iconElement = this.$refs[`icon-${index}`];
if (iconElement && iconElement[0]) {
gsap.to(iconElement[0], {
y: -8,
duration: 1.5,
ease: "sine.inOut",
yoyo: true,
repeat: -1,
delay: index * 0.2
});
}
});
});
}
},
}
</script>
大屏数据可视化模板
更多背景图资源
项目文件目录
源码下载
项目基于vue2+vite+js开发 nodejs 23
获取代码前请确保具备相关开发基础
本项目为纯前端大屏,无后端支持
默认数据为模拟数据,实际使用时需接入真实数据源
请在确认需求后再获取相关代码
如需vue3版本请访问:智慧医疗体检健康数据监控中心 vue3








