vue3 可视化数据大屏 携行箱监控数据可视化
id
226
运行环境
nodejs 23
开发框架
vue3 vite js
分辨率
1920 * 1080
演示地址
演示demo:携行箱监控数据可视化 可视化数据大屏 vue3
动态效果
效果截图
携行箱实时分布
通过地图形式直观展示携行箱的实时地理分布情况
支持地图交互和数据点击查看详情
设备状态概览
使用饼状图展示设备状态分布
包括在线、异常、离线三种状态统计
告警类型统计
饼状图展示各类告警的占比情况
包含温度异常、湿度超标、电量过低、震动异常、信号弱、位置异常等告警类型
开箱趋势
折线图展示一段时间内的开箱趋势变化
直观反映开箱频率的时间分布
开箱统计
展示开箱总数、异常开箱、远程开箱、指纹开箱等数据
以卡片形式清晰呈现各类开箱数据
设备实时信息
列表形式展示设备的实时状态信息
支持弹窗展示详细信息,包括设备名称、状态、信号强度、电量、开箱地点、上报时间等
更多可视化大屏实例
更多背景图资源
项目文件目录
部分代码
<template>
<div class="home">
<particles></particles>
<top title="携行箱监控数据可视化" class="wow fadeInDown" data-wow-delay="0.2s"></top>
<div class="homeMain">
<div class="homeMainCenter">
<div class="item1" ref="item6Ref">
<item6></item6>
</div>
<div class="item2">
<div class="item2Inner">
<div class="item2Inner1">
<item :icon="icon4" name="设备实时信息" type="big" :duration="0.5" :delay="1">
<item4></item4>
</item>
</div>
<div class="item2Inner2">
<item :icon="icon5" name="开箱统计" :duration="0.5" :delay="1">
<item5></item5>
</item>
</div>
</div>
</div>
</div>
<div class="homeMainRight">
<div class="homeMainRightInner">
<div class="item1">
<item :icon="icon1" name="设备状态概览" :duration="0.5" :delay="0">
<item1></item1>
</item>
</div>
<div class="item1">
<item :icon="icon2" name="告警类型统计" :duration="0.5" :delay="0.5">
<item2></item2>
</item>
</div>
<div class="item1">
<item :icon="icon3" name="开箱趋势" :duration="0.5" :delay="1">
<item3></item3>
</item>
</div>
</div>
</div>
</div>
</div>
</template>
<script setup>
import { useAnimationStore } from '@/stores/animationStore'; // 引入 Pinia 动画存储
import { ref, onMounted } from 'vue';
import gsap from 'gsap';
import particles from "@/components/particles/index.vue";
import top from "@/components/top/index.vue";
import item from "@/components/item/index.vue";
import item1 from "./components/item1/index.vue";
import item2 from "./components/item2/index.vue";
import item3 from "./components/item3/index.vue";
import item4 from "./components/item4/index.vue";
import item5 from "./components/item5/index.vue";
import item6 from "./components/item6/index.vue";
import WOW from "wow.js";
const item6Ref = ref(null);
import icon1 from './assets/icon1.png'
import icon2 from './assets/icon2.png'
import icon3 from './assets/icon3.png'
import icon4 from './assets/icon4.png'
import icon5 from './assets/icon5.png'
onMounted(() => {
const wow = new WOW();
wow.init();
gsap.fromTo(
item6Ref.value,
{ scale: 0.2, opacity: 0 },
{ scale: 1, opacity: 1, duration: 0.8 }
);
// 获取动画存储实例
const animationStore = useAnimationStore();
setTimeout(() => {
animationStore.triggerAnimation(); // 统一触发所有组件动画
}, 2000); // 延迟 1.5 秒后触发
});
</script>
项目依赖
{
"name": "xiexingxiang",
"private": true,
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "vite build",
"build-qiniu": "vite build && node ./qiniu.js",
"preview": "vite preview"
},
"dependencies": {
"@meruem117/vue-seamless-scroll": "^0.1.8",
"@tsparticles/slim": "^3.8.1",
"@tsparticles/vue3": "^3.0.1",
"pinia": "^3.0.2",
"@turf/turf": "^7.2.0",
"@vue/shared": "^3.2.47",
"amfe-flexible": "^2.2.1",
"autoprefixer": "^10.4.13",
"axios": "^1.3.4",
"dayjs": "^1.11.9",
"disable-devtool": "^0.3.7",
"echarts": "^5.2.0",
"element-plus": "^2.9.5",
"fs": "0.0.1-security",
"gsap": "^3.11.4",
"postcss": "^8.4.21",
"postcss-loader": "^7.0.2",
"postcss-pxtorem": "^6.0.0",
"qiniu": "^7.8.0",
"sass": "^1.57.1",
"sass-loader": "^13.2.0",
"style-loader": "^3.3.1",
"vite-plugin-compression": "^0.5.1",
"vue": "^3.2.45",
"vue-router": "^4.1.6",
"wow.js": "^1.2.2"
},
"devDependencies": {
"@vitejs/plugin-vue": "^4.0.0",
"vite": "^4.0.0"
}
}
源码下载
项目基于vue3+vite+js开发 nodejs 23
购买代码前请确保具备相关开发基础
本项目为纯前端大屏,无后端支持
默认数据为模拟数据,实际使用时需接入真实数据源
虚拟产品一经售出 概不退款请谅解