前端cshtml代码,数据库展示
{Layout null;}!DOCTYPE htmlhtml langzh-cnheadmeta nameviewportcontentwidthdevice-width, initial-scale1.0charsetutf-8 /title数据采集设备状态展示/title!-- Vue --script src~/Scripts/vue.js/script!-- Element UI --script src~/Scripts/element-ui.js/scriptlink href~/Content/ElementUI/element-ui.cssrelstylesheet /!-- Axios --script src~/Scripts/Axios/axios.min.js/script!-- jQuery如果项目其他地方需要可以保留 --script src~/Scripts/jquery-3.7.0.js/scriptstyle* {box-sizing: border-box;}body {margin: 0;padding: 0;background-color: #f5f7fa;}#app {padding: 20px;}/* 页面标题 */.page-title {font-size: 24px;font-weight: bold;color: #303133;margin-bottom: 20px;}/* 查询区域 */.search-area {background-color: #ffffff;padding: 20px;margin-bottom: 20px;border-radius: 4px;}.search-item {display: inline-block;margin-right: 10px;}.search-label {display: inline-block;margin-right: 8px;font-size: 14px;color: #606266;}/* 表格区域 */.table-area {background-color: #ffffff;padding: 20px;border-radius: 4px;}/* 表头居中 */.el-table th {text-align: center;}/* 表格内容居中 */.el-table td {text-align: center;}/* 状态标签 */.status-tag {min-width: 70px;text-align: center;}/style/headbodydiv idapp!-- 页面标题 --div classpage-title数据采集设备状态展示/div!-- 查询区域 --div classsearch-area!-- 工序 --div classsearch-itemspan classsearch-label工序/spanel-selectv-modelsearchForm.processNameplaceholder请选择工序clearablestylewidth:180px;el-optionv-foritem in processOptions:keyitem.value:labelitem.label:valueitem.value/el-option/el-select/div!-- 设备名称 --div classsearch-itemspan classsearch-label设备名称/spanel-inputv-modelsearchForm.equipmentNameplaceholder请输入设备名称clearablestylewidth:220px;/el-input/div!-- 搜索按钮 --el-buttontypeprimaryiconel-icon-searchclicksearchEquipment搜索/el-button!-- 重置按钮 --el-buttoniconel-icon-refreshclickresetSearch重置/el-button/div!-- 数据表格 --div classtable-areael-table:dataequipmentListborderstripev-loadingloadingstylewidth:100%;!-- 工序名 --el-table-columnpropProcessNamelabel工序名min-width120aligncenter/el-table-column!-- 设备名 --el-table-columnpropEquipmentNamelabel设备名min-width180aligncenter/el-table-column!-- 设备编码 --el-table-columnpropEquipmentCodelabel设备编码min-width150aligncenter/el-table-column!-- 设备对应表名称 --el-table-columnpropSourceTableNamelabel设备对应表名称min-width220aligncenter/el-table-column!-- 最新数据采集时间 --el-table-columnpropLastDataTimelabel最新数据采集时间min-width200aligncentertemplate slot-scopescopespan{{ formatDate(scope.row.LastDataTime) }}/span/template/el-table-column!-- 当前设备状态 --el-table-columnlabel当前设备状态min-width130aligncentertemplate slot-scopescopeel-tagv-ifscope.row.Status 正常typesuccessclassstatus-tag正常/el-tagel-tagv-else-ifscope.row.Status 待检查typewarningclassstatus-tag待检查/el-tagel-tagv-elsetypedangerclassstatus-tag异常/el-tag/template/el-table-column/el-table!-- 没有数据 --divv-if!loading equipmentList.length 0styletext-align:center;padding:30px;color:#909399;暂无设备数据/div/div/divscriptconst vue new Vue({el: #app,data() {return {// // 页面数据// equipmentList: [],// // 查询条件// searchForm: {processName: ,equipmentName: },// // 工序下拉选项// processOptions: [{value: 电镀,label: 电镀},{value: AOI,label: AOI},{value: 沉铜,label: 沉铜},{value: 塞孔,label: 塞孔}],// // 加载状态// loading: false};},// // 页面加载完成// mounted() {this.getEquipmentList();},methods: {// // 获取设备数据// getEquipmentList() {this.loading true;axios.get(Url.Action(GetEquipmentStatus, Home)).then(response {console.log(Controller返回数据,response.data);if (response.data.success) {this.equipmentList response.data.data || [];} else {this.$message.error(response.data.message ||获取设备数据失败);}}).catch(error {console.error(获取设备数据失败,error);this.$message.error(获取设备数据失败请检查服务器或数据库连接);}).finally(() {this.loading false;});},// // 搜索设备// searchEquipment() {const processName this.searchForm.processName;const equipmentName this.searchForm.equipmentName;// 前端过滤// 当前第一版先直接在已经查询出来的数据中进行过滤let result this.equipmentList;// 工序过滤if (processName) {result result.filter(item {return item.ProcessName processName;});}// 设备名称过滤if (equipmentName) {result result.filter(item {return item.EquipmentName.toLowerCase().indexOf(equipmentName.toLowerCase()) ! -1;});}// 更新显示结果this.equipmentList result;},// // 重置搜索// resetSearch() {this.searchForm.processName ;this.searchForm.equipmentName ;// 重新从数据库获取完整数据this.getEquipmentList();},// // 格式化日期// formatDate(value) {if (!value) {return --;}// MVC 默认可能返回// /Date(1755500000000)/const match /\/Date\((\d)\)\//.exec(value);if (match) {const timestamp parseInt(match[1]);const date new Date(timestamp);return this.formatDateObject(date);}// 如果本身就是普通日期字符串const date new Date(value);if (!isNaN(date.getTime())) {return this.formatDateObject(date);}return value;},// // Date对象格式化// formatDateObject(date) {const year date.getFullYear();const month String(date.getMonth() 1).padStart(2, 0);const day String(date.getDate()).padStart(2, 0);const hour String(date.getHours()).padStart(2, 0);const minute String(date.getMinutes()).padStart(2, 0);const second String(date.getSeconds()).padStart(2, 0);return ${year}-${month}-${day} ${hour}:${minute}:${second};}}});/script/body/html

相关新闻

高效设计异性封装与PCB布局技巧学习笔记

高效设计异性封装与PCB布局技巧学习笔记

异性封装,在右侧对焊盘各个部分的尺寸大小形状进行选择。点击设计,规则。(快捷键DR)选择Design Rules 中的clearance间距,对某些异性封装的焊盘间距进行设定,下图中的异性封装将最小间距设定为2.5&#xff…

2026/8/22 22:09:55 阅读更多 →
Jasmine 漫画浏览器完整指南:5 大平台漫画阅读快速上手

Jasmine 漫画浏览器完整指南:5 大平台漫画阅读快速上手

Jasmine 漫画浏览器完整指南:5 大平台漫画阅读快速上手 【免费下载链接】jasmine A comic browser,support Android / iOS / MacOS / Windows / Linux. 项目地址: https://gitcode.com/gh_mirrors/jas/jasmine Jasmine 漫画浏览器是一款基于 Flu…

2026/8/22 22:09:55 阅读更多 →
三步从插上到出画面:Android USB OTG UVC相机预览方案

三步从插上到出画面:Android USB OTG UVC相机预览方案

三步从插上到出画面:Android USB OTG UVC相机预览方案 【免费下载链接】Android-USB-OTG-Camera 项目地址: https://gitcode.com/gh_mirrors/an/Android-USB-OTG-Camera AndroidUSBCamera 是一个 Android USB OTG 相机开发库:把 UVC 摄像头通过 …

2026/8/22 22:08:54 阅读更多 →

最新新闻

Umi-OCR:免费离线文字识别,截图批量不联网

Umi-OCR:免费离线文字识别,截图批量不联网

Umi-OCR:免费离线文字识别,截图批量不联网 【免费下载链接】Umi-OCR OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二维码。内置多国语言…

2026/8/24 15:02:31 阅读更多 →
开源项目:基于CFR+强化学习的德州扑克AI系统(MasterAI v3.0)

开源项目:基于CFR+强化学习的德州扑克AI系统(MasterAI v3.0)

目简介 今天给大家推荐一个硬核的开源项目——cfr-poker-ai-masterai,这是一套基于反事实遗憾最小化(CFR) 深度强化学习 深度神经网络的德州扑克AI系统,在非完美信息博弈中达到超人类水平。 该项目名为 MasterAI v3.0&#xff0…

2026/8/24 15:02:31 阅读更多 →
网盘直链下载助手使用教程:免费一键解析8大网盘真实下载地址

网盘直链下载助手使用教程:免费一键解析8大网盘真实下载地址

网盘直链下载助手使用教程:免费一键解析8大网盘真实下载地址 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 …

2026/8/24 15:02:31 阅读更多 →
代码报错怎么办?正确使用 AI 排查错误

代码报错怎么办?正确使用 AI 排查错误

文章目录一、先建立一个正确认识:报错信息不是废话二、为什么只发一句“这个报错怎么解决”通常没有用三、向 AI 提供报错信息时,至少准备这 5 类上下文1. 完整报错信息和调用栈2. 复现步骤3. 报错位置附近的最小相关代码4. 运行环境和版本5. 预期结果、…

2026/8/24 15:02:31 阅读更多 →
自动驾驶人才能力画像评估|全网独家复现 复合型落地人才适配量产交付、破解行业人员优化困境、实现团队人效精准量化、助力智驾项目高效迭代

自动驾驶人才能力画像评估|全网独家复现 复合型落地人才适配量产交付、破解行业人员优化困境、实现团队人效精准量化、助力智驾项目高效迭代

目录 摘要 一、前言:自动驾驶人才市场从“野蛮扩张”到“精准择优” 二、自动驾驶人才市场迭代三阶段深度解析 2.1 第一阶段:野蛮扩张抢人(2020-2021)——重履历、轻落地、重规模 2.2 第二阶段:结构性优化洗牌(2023-2024)——去冗余、汰低效、重产出 2.3 第三阶段…

2026/8/24 15:02:31 阅读更多 →
两步把 NCM 音乐转成 MP3:ncmdump 免费拖拽转换

两步把 NCM 音乐转成 MP3:ncmdump 免费拖拽转换

两步把 NCM 音乐转成 MP3:ncmdump 免费拖拽转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 歌拷到别的播放器,提示格式不支持;丢进剪辑软件,直接被拒。问题出在 .ncm 这个格式上—…

2026/8/24 15:01:30 阅读更多 →

日新闻

前端内容安全与依赖审计实践

前端内容安全与依赖审计实践

前端内容安全与依赖审计实践 前端安全依赖分层防护。没有任何单一配置能替代输出编码、权限校验和依赖更新。 把不可信内容当作数据 默认使用框架的转义能力;确需渲染 HTML 时,先在服务端或可信的客户端库中进行白名单过滤。避免把用户输入直接赋给 inne…

2026/8/24 1:08:15 阅读更多 →
Windows登录密码存储机制全解析:从哈希算法到安全加固实战

Windows登录密码存储机制全解析:从哈希算法到安全加固实战

1. 项目概述:Windows登录密码的“黑匣子”每次你按下CtrlAltDel,输入密码,然后看到那个熟悉的桌面,这背后发生了一系列复杂而精密的操作。作为一名长期与Windows系统打交道的从业者,我经常被问到:“我的密码…

2026/8/24 1:08:15 阅读更多 →
AI面试系统安全挑战与解决方案

AI面试系统安全挑战与解决方案

1. 项目概述:AI面试系统的安全挑战去年参与某跨国企业AI面试系统部署时,遇到一个典型案例:候选人在视频面试中无意提到竞争对手产品名称,系统竟自动将该信息关联到企业知识库并生成竞品分析报告。这个看似"智能"的功能&…

2026/8/24 1:08:15 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/24 0:06:02 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/24 0:20:20 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/24 0:14:11 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/23 18:47:06 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/23 12:10:44 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/24 11:20:22 阅读更多 →