智能工厂生产监控大屏-vue纯前端静态页面练习

学习前端还是非常有意思的,因为前端真的是可见即所得,可以做出来非常好看漂亮的页面,最近我就在使用前端技术 做一些大屏报表,在制作这些大屏报表过程中,又熟练的练习了自己的学到的相关的前端技术,接下来把做出来的效果 分享给大家。
使用的技术是vue2 + element-ui
· Vue2:
· Element-UI:
· ECharts:
· Node版本 16.20
安装依赖:npm i
运行项目:npm run serve
打包项目:npm run build
介绍了使用的技术后,接下来给大家看一下页面效果,
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
一共做了大概四个页面的 页面 页面需求主要是实现的对工厂的一种数据大屏的统计和展示,让大家通过大屏报表可以一目了然的看到工厂里的使用情况。
因为是练习前端项目,所以是个纯前端的页面,没有对接后端。
有兴趣学习的小伙伴可以去看看~
源码地址:
https://wwwoop.com/home/Index/projectInfo?goodsId=105&typeParam=2&subKey=1

部分代码:

<template><div class="equipment-monitor"><div class="monitor-header"><data-card v-for="(card, index) in equipmentCards" :key="index":title="card.title":value="card.value":unit="card.unit":icon="card.icon":value-color="card.valueColor":footer="card.footer":trend-type="card.trendType":trend-value="card.trendValue"/></div><div class="monitor-content"><div class="equipment-status"><div class="status-header"><h3>设备运行状态</h3><div class="status-legend"><span class="legend-item"><span class="dot running"></span>运行中</span><span class="legend-item"><span class="dot idle"></span>空闲</span><span class="legend-item"><span class="dot maintenance"></span>维护中</span><span class="legend-item"><span class="dot fault"></span>故障</span></div></div><div class="equipment-list"><div v-for="(item, index) in equipmentList" :key="index"class="equipment-item"><div class="equipment-name">{{ item.name }}</div><div class="equipment-info"><div class="status-indicator" :class="item.status"></div><div class="equipment-details"><div class="detail-item"><span class="label">运行时间:</span><span class="value">{{ item.runTime }}</span></div><div class="detail-item"><span class="label">效率:</span><span class="value">{{ item.efficiency }}%</span></div><div class="detail-item"><span class="label">温度:</span><span class="value" :class="{'warning': item.temperature > 75}">{{ item.temperature }}°C</span></div></div></div></div></div></div><div class="monitor-charts"><div class="chart-row"><div class="chart-item"><pie-chart title="设备状态分布" :data="equipmentStatusData"height="250px"/></div><div class="chart-item"><line-chart title="设备运行效率趋势" :x-data="efficiencyTrendData.xData" :series="efficiencyTrendData.series"height="250px"/></div></div><div class="chart-item maintenance-chart"><bar-chart title="设备维护记录" :x-data="maintenanceData.xData" :series="maintenanceData.series"height="250px"/></div></div></div></div>
</template><script>
// 作者:json
import DataCard from '../components/DataCard.vue'
import LineChart from '../components/charts/LineChart.vue'
import BarChart from '../components/charts/BarChart.vue'
import PieChart from '../components/charts/PieChart.vue'export default {name: 'EquipmentMonitor',components: {DataCard,LineChart,BarChart,PieChart},data() {return {// 顶部卡片数据equipmentCards: [{title: '设备总数',value: '42',unit: '台',icon: 'el-icon-s-platform',valueColor: '#40a9ff'},{title: '运行设备',value: '36',unit: '台',icon: 'el-icon-s-operation',valueColor: '#52c41a',footer: '运行率',trendType: 'up',trendValue: '85.7%'},{title: '故障设备',value: '2',unit: '台',icon: 'el-icon-warning',valueColor: '#f5222d',footer: '较昨日',trendType: 'down',trendValue: '1台'},{title: '设备健康度',value: '92.5',unit: '%',icon: 'el-icon-s-help',valueColor: '#faad14',footer: '较上月',trendType: 'up',trendValue: '1.2%'}],// 设备列表equipmentList: [{name: '注塑机 #1',status: 'running',runTime: '12h 45m',efficiency: 96,temperature: 68},{name: '注塑机 #2',status: 'running',runTime: '8h 30m',efficiency: 94,temperature: 72},{name: '装配线 #1',status: 'running',runTime: '10h 15m',efficiency: 92,temperature: 65},{name: '装配线 #2',status: 'idle',runTime: '0h 0m',efficiency: 0,temperature: 45},{name: '包装机 #1',status: 'running',runTime: '11h 20m',efficiency: 90,temperature: 62},{name: '包装机 #2',status: 'maintenance',runTime: '0h 0m',efficiency: 0,temperature: 40},{name: '测试设备 #1',status: 'running',runTime: '9h 50m',efficiency: 95,temperature: 58},{name: '测试设备 #2',status: 'fault',runTime: '0h 0m',efficiency: 0,temperature: 82}],// 设备状态分布equipmentStatusData: [{ value: 36, name: '运行中', itemStyle: { color: '#52c41a' } },{ value: 2, name: '空闲', itemStyle: { color: '#40a9ff' } },{ value: 2, name: '维护中', itemStyle: { color: '#faad14' } },{ value: 2, name: '故障', itemStyle: { color: '#f5222d' } }],// 效率趋势数据efficiencyTrendData: {xData: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],series: [{name: '设备效率',data: [88, 86, 90, 89, 91, 90, 92, 93, 91, 94, 93, 95],color: '#40a9ff'}]},// 维护记录数据maintenanceData: {xData: ['注塑机', '装配线', '包装机', '测试设备', '物流设备', '其他'],series: [{name: '计划维护',data: [5, 3, 4, 2, 3, 1],color: '#40a9ff'},{name: '紧急维护',data: [2, 1, 2, 1, 0, 1],color: '#f5222d'}]}}}
}
</script><style scoped>
.equipment-monitor {height: 100%;display: flex;flex-direction: column;
}.monitor-header {display: grid;grid-template-columns: repeat(4, 1fr);gap: 15px;margin-bottom: 15px;
}.monitor-content {flex: 1;display: grid;grid-template-columns: 40% 60%;gap: 15px;overflow: hidden;
}.equipment-status {background: rgba(6, 30, 93, 0.5);border: 1px solid #1d4584;border-radius: 4px;padding: 15px;display: flex;flex-direction: column;
}.status-header {display: flex;justify-content: space-between;align-items: center;margin-bottom: 15px;
}.status-header h3 {color: #40a9ff;margin: 0;font-size: 16px;
}.status-legend {display: flex;gap: 10px;
}.legend-item {display: flex;align-items: center;font-size: 12px;color: rgba(255, 255, 255, 0.7);
}.dot {width: 8px;height: 8px;border-radius: 50%;margin-right: 5px;
}.dot.running {background-color: #52c41a;
}.dot.idle {background-color: #40a9ff;
}.dot.maintenance {background-color: #faad14;
}.dot.fault {background-color: #f5222d;
}.equipment-list {flex: 1;overflow-y: auto;display: grid;grid-template-columns: repeat(2, 1fr);gap: 10px;
}.equipment-item {background: rgba(6, 30, 93, 0.3);border: 1px solid rgba(29, 69, 132, 0.5);border-radius: 4px;padding: 10px;
}.equipment-name {font-weight: bold;margin-bottom: 10px;color: #fff;
}.equipment-info {display: flex;align-items: center;
}.status-indicator {width: 12px;height: 12px;border-radius: 50%;margin-right: 10px;
}.status-indicator.running {background-color: #52c41a;box-shadow: 0 0 5px #52c41a;
}.status-indicator.idle {background-color: #40a9ff;box-shadow: 0 0 5px #40a9ff;
}.status-indicator.maintenance {background-color: #faad14;box-shadow: 0 0 5px #faad14;
}.status-indicator.fault {background-color: #f5222d;box-shadow: 0 0 5px #f5222d;animation: blink 1s infinite;
}@keyframes blink {0% { opacity: 1; }50% { opacity: 0.5; }100% { opacity: 1; }
}.equipment-details {flex: 1;
}.detail-item {display: flex;justify-content: space-between;font-size: 12px;margin-bottom: 5px;
}.detail-item .label {color: rgba(255, 255, 255, 0.7);
}.detail-item .value {color: #fff;
}.detail-item .value.warning {color: #f5222d;
}.monitor-charts {display: flex;flex-direction: column;gap: 15px;
}.chart-row {display: grid;grid-template-columns: repeat(2, 1fr);gap: 15px;
}.maintenance-chart {height: 250px;
}
</style>

目录截图:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/93228.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/93228.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTTP 协议详细介绍

目录一、HTTP 的基本概念与历史演进1. 核心定义2. 历史版本演进二、HTTP 的核心工作原理1. 请求-响应模型2. 基于 TCP 的传输&#xff08;HTTP/1.1、HTTP/2&#xff09;三、HTTP 请求结构1. 请求行2. 请求头3. 请求体四、HTTP 响应结构1. 状态行2. 响应头3. 响应体五、HTTP 与 …

正则化:从过拟合到泛化的「平衡艺术」

在机器学习领域&#xff0c;有一个几乎所有从业者都会遇到的「噩梦」&#xff1a;模型在训练集上表现完美&#xff08;损失趋近于0&#xff09;&#xff0c;但在测试集上却大幅「翻车」。这种现象被称为「过拟合」&#xff08;Overfitting&#xff09;&#xff0c;它像一把双刃…

[Python 基础课程]根据描述定义一个 Person 类

人都属于人类这个物种&#xff0c;每一个人都会有姓名和年龄&#xff0c;人都可以介绍自己&#xff0c;随着时间的流逝&#xff0c;人都会增加年龄&#xff0c;每一个人都能获取到自己的物种信息。 我们的抽象过程&#xff1a; 所有的 Person 对象都应该有一个共同的属性来表示…

热门手机机型重启速度对比

以下是2023-2024年市场主流热门手机机型的重启速度对比分析&#xff0c;基于公开测试数据和用户反馈整理&#xff08;数据会因系统版本和测试环境不同存在波动&#xff09;&#xff1a;旗舰机型重启速度排名&#xff08;冷启动&#xff09;排名机型平均重启时间关键配置优化技术…

第454题.四数相加II

第454题.四数相加II 力扣题目链接(opens new window) 给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) &#xff0c;使得 A[i] B[j] C[k] D[l] 0。 为了使问题简单化&#xff0c;所有的 A, B, C, D 具有相同的长度 N&#xff0c;且 0 ≤ N ≤…

力扣top100(day04-05)--堆

本文为力扣TOP100刷题笔记 笔者根据数据结构理论加上最近刷题整理了一套 数据结构理论加常用方法以下为该文章&#xff1a; 力扣外传之数据结构&#xff08;一篇文章搞定数据结构&#xff09; 215. 数组中的第K个最大元素 class Solution {// 快速选择递归函数int quickselect(…

CCS双轴相位偏移光源 让浅凹痕无处遁形

在工业检测中&#xff0c;浅凹痕表面检测对精度和可靠性要求极高&#xff0c;工业光源在此过程中扮演着关键角色&#xff0c;工业光源通过精准的光学设计&#xff08;角度、波长、强度&#xff09;将肉眼不可见的浅凹痕转化为可量化的光学信号&#xff0c;是实现高精度自动化检…

专题三_二分_x 的平方根

一&#xff1a;题目解释&#xff1a;返回x的算数平方根&#xff0c;如果是小数&#xff0c;则舍去小数部分&#xff0c;返回整数即可&#xff01;二&#xff1a;算法①&#xff1a;暴力从1开始求平方&#xff0c;最后要么直接找到一个值的平方为x&#xff0c;要么发现x在两个相…

Python 操作 Redis 的客户端库 redis-py

Python 操作 Redis 的客户端库 redis-py1. Installation2. Connect and test3. Connection Pools4. Redis Commands4.1. set(name, value, exNone, pxNone, nxFalse, xxFalse, keepttlFalse, getFalse, exatNone, pxatNone)4.1.1. setnx(name, value)4.1.2. setex(name, time, …

社区物业HCommunity本地部署手册

HC小区管理系统安装手动版 更多文章参考&#xff1a; http://www.homecommunity.cn/pages/hc/hcH5_cn.html 1.0 说明 很多开发不太喜欢用梓豪安装&#xff0c;希望通过手工自己安装&#xff0c;这个就需要开发人员 有一定的安装软件能力&#xff0c;比如能够自行安装mysql能…

单例模式-使用局部变量懒汉不用加锁

在 C11 及之后&#xff0c;“局部静态变量懒汉”&#xff08;Meyers’ Singleton&#xff09;不需要自己加锁&#xff0c;标准已经帮你做好了线程安全。 Singleton& getInstance() {static Singleton inst; // ← 这一句并发时只会初始化一次return inst; }首次调用时&am…

51单片机-GPIO介绍

本章概述思维导图&#xff1a;51单片机引脚介绍STC89系列51单片机引脚介绍STC89系列51单片机的引脚是单片机与外部电路连接的接口&#xff0c;用于实现电源供电、时钟信号输入、控制信号输出以及数据输入输出等功能。PDIP封装引脚图&#xff1a;1. 电源引脚&#xff1a;VCC&…

CERT/CC警告:新型HTTP/2漏洞“MadeYouReset“恐致全球服务器遭DDoS攻击瘫痪

2025年8月15日CERT/CC&#xff08;计算机应急响应协调中心&#xff09;近日发布漏洞公告&#xff0c;警告多个HTTP/2实现中新发现的缺陷可能被威胁行为者用于发起高效拒绝服务&#xff08;DoS&#xff09;或分布式拒绝服务&#xff08;DDoS&#xff09;攻击。该漏洞被非正式命名…

[Chat-LangChain] 会话图(LangGraph) | 大语言模型(LLM)

第二章&#xff1a;会话图&#xff08;LangGraph&#xff09; 在第一章中&#xff0c;我们学习了前端用户界面——这是聊天机器人的"面孔"&#xff0c;我们在这里输入问题并查看答案。 我们看到了消息如何从聊天窗口传递到聊天机器人的"大脑"。现在&…

Flask错误处理与会话技术详解

flask入门day03 错误处理 1.abort函数&#xff1a;放弃请求并返回错误代码 详细状态码 from flask import Flask,abort,render_template ​ app Flask(__name__) ​ app.route(/) def index():return 我是首页 ​ app.route(/error) def error():abort(404)return 没有找到…

java程序打包成exe,再打成安装包,没有jdk环境下可运行

一、前提条件准备&#xff1a;1、要被打包的程序文件&#xff1a;rest_assistant-1.0-SNAPSHOT.jarapplication.yml2、图标文件tubiao123.ico3、jre4、打包成exe的软件 config.exe4j5、打成安装包的软件 Inno Setup Compiler二、config.exe4j 的 exe打包配置步骤 按照以下图进行…

区块链技术原理(11)-以太坊交易

文章目录什么是交易&#xff1f;交易类型交易生命周期关键概念&#xff1a;Gas 与交易费用交易状态与失败原因总结什么是交易&#xff1f; “交易&#xff08;Transaction&#xff09;” 是从一个账户向另一个账户发送的经过数字签名的指令 。例如&#xff0c;如果 Bob 发送 A…

小兔鲜儿-小程序uni-app(二)

小兔鲜儿-小程序uni-app7.小兔鲜儿 - 用户模块会员中心页(我的)静态结构参考代码会员设置页分包预下载静态结构退出登录会员信息页静态结构获取会员信息渲染会员信息更新会员头像更新表单信息8.小兔鲜儿 - 地址模块准备工作静态结构地址管理页地址表单页动态设置标题新建地址页…

BLE 广播信道与数据信道:冲突避免、信道映射与自适应跳频实现

低功耗蓝牙(BLE)技术凭借低功耗、短距离、低成本的特性,已广泛应用于智能家居、可穿戴设备、工业物联网等领域。在 BLE 协议中,信道管理是保障通信可靠性的核心机制,其中广播信道与数据信道的设计、冲突避免策略、跳频技术更是面试中的高频考点。本文将从基础原理到实战真…

nodejs03-常用模块

nodejs 常用的核心模块 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境&#xff0c; 它允许 JavaScript 运行在服务器端。Node.js 拥有丰富的标准库&#xff0c;也就是核心模块&#xff0c; 这些模块提供了各种功能&#xff0c; 使得开发服务器端应用程序变得简单高…