From 31c637ba33276f801b2fe9706f70051c8e2b5b14 Mon Sep 17 00:00:00 2001
From: selia-zx <1771203023@qq.com>
Date: Thu, 9 Jul 2026 17:39:37 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AF=B9=E6=8E=A5=E8=AE=BE=E5=A4=87=E7=9B=91?=
=?UTF-8?q?=E6=8E=A7=E3=80=81=E8=AE=BE=E5=A4=87=E6=8E=A7=E5=88=B6=E9=A1=B5?=
=?UTF-8?q?=E9=9D=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.env.development | 4 +-
.../centerairC/sysControl/listHeader.vue | 6 +-
.../centerairC/sysControl/vavleheader.vue | 6 +-
.../centerairC/sysMonitor/hostDetails.vue | 8 +-
.../centerairC/sysMonitor/monitorCenter.vue | 291 ++++++++++++++++--
5 files changed, 275 insertions(+), 40 deletions(-)
diff --git a/.env.development b/.env.development
index 4dd52d7..4c2d515 100644
--- a/.env.development
+++ b/.env.development
@@ -7,11 +7,11 @@ ENV = 'development'
# 开发环境
# VUE_APP_BASE_API = '/dev-api'
# 后台
-# VUE_APP_BASE_API = 'http://192.168.1.222:8080'
+VUE_APP_BASE_API = 'http://192.168.1.222:8080'
# 梅州云端
# VUE_APP_BASE_API = 'http://106.55.173.225:8091'
# 保利山庄
-VUE_APP_BASE_API = 'http://106.55.173.225:8092'
+# VUE_APP_BASE_API = 'http://106.55.173.225:8092'
# 路由懒加载
VUE_CLI_BABEL_TRANSPILE_MODULES = true
diff --git a/src/views/centerairC/sysControl/listHeader.vue b/src/views/centerairC/sysControl/listHeader.vue
index 2663c25..aef6047 100644
--- a/src/views/centerairC/sysControl/listHeader.vue
+++ b/src/views/centerairC/sysControl/listHeader.vue
@@ -3,7 +3,7 @@
设备名称
运行状态
-
手自动切换
+
手动控制
本地远程状态
故障报警
@@ -19,7 +19,7 @@
{{ item.runStatus }}
-
+
设备名称
-
手自动切换
+
手动控制
阀开反馈
阀关反馈
{{ item.name }}
-
+
冷却水流:
- 接通
+ 接通
断开
-
+
冷冻水流:
- 接通
+ 接通
断开
-
+
diff --git a/src/views/centerairC/sysMonitor/monitorCenter.vue b/src/views/centerairC/sysMonitor/monitorCenter.vue
index 4589e9a..3d7a1b0 100644
--- a/src/views/centerairC/sysMonitor/monitorCenter.vue
+++ b/src/views/centerairC/sysMonitor/monitorCenter.vue
@@ -106,10 +106,39 @@
-->
-
+
+
+
+
+
+

@@ -132,26 +161,26 @@
{{ hostList[0].deviceName }}
-
-

+
+
-
- {{ hostLoad5 }}%
+
+ {{ hostLoad1 }}%
1#冷却水流:
- 接通
+ 接通
断开
-
+
1#冷冻水流:
- 接通
+ 接通
断开
-
+
@@ -205,13 +234,13 @@
{{ coolingTowerHz(1, 1) }}Hz
-
- {{ coolingTowerHz(2, 1) }}Hz
+
+ {{ coolingTowerHz(1, 2) }}Hz

-

@@ -220,10 +249,10 @@
{{ freezingInTem }}℃
{{ freezingOutTem }}℃
-
{{ freezingOutWater }}m³/h
+
-
{{ freezingInPre }}KPa
-
{{ freezingOutPre }}KPa
+
{{ coolingInTem }}℃
{{ coolingOutTem }}℃
@@ -242,8 +271,8 @@
-
{{ bypassValveFeedback }}%
-
旁通阀
+
@@ -375,7 +404,7 @@ export default {
oneKeyButtonId: "",
// 主机负载
- hostLoad5: "",
+ hostLoad1: "",
hostLoad2: "",
hostLoad3: "",
// 主机设定温度
@@ -416,6 +445,10 @@ export default {
alarmList: [],
// 系统模式
sysStatus: "",
+ // 系统手自动状态 0=自动 1=手动
+ sysAutoManual: "0",
+ // 系统手自动切换设备ID
+ sysAutoManualId: "",
// 模式提示
startOrStopStatus: "",
openDialog: false,
@@ -484,15 +517,15 @@ export default {
this.getDayData();
// 设置定时器,每 10 秒执行一次
- this.timer = setInterval(() => {
- this.getWeatherData();
- this.getSystemMode();
- this.getPerformance();
- this.getOneKeyButton();
- this.getMonitorList();
- this.getAlarnStatus();
- this.getDayData();
- }, 10000);
+ // this.timer = setInterval(() => {
+ // this.getWeatherData();
+ // this.getSystemMode();
+ // this.getPerformance();
+ // this.getOneKeyButton();
+ // this.getMonitorList();
+ // this.getAlarnStatus();
+ // this.getDayData();
+ // }, 10000);
// 每秒更新一次时间
this.nowTimer = setInterval(() => {
this.currentDate = new Date();
@@ -660,6 +693,11 @@ export default {
},
// 一键启停按钮
handleOneKeyButton() {
+ /** 系统手动状态下禁止一键启停 */
+ if (this.sysAutoManual === "1") {
+ this.$message.warning("当前为系统手动状态,无法使用一键启停功能");
+ return;
+ }
let param = "";
let paramText = "";
if (this.isShowOn) {
@@ -1614,10 +1652,28 @@ export default {
this.coolingInTem = item.collectValue;
} else if (item.collectName.includes("瞬时流量")) {
this.freezingOutWater = item.collectValue;
+ } else if (item.collectName.includes("系统手自动切换") || item.paramType === "6") {
+ this.sysAutoManualId = item.id;
+ this.sysAutoManual = item.collectValue;
}
});
return true;
},
+ /** 系统手自动切换 */
+ handleAutoManualSwitch() {
+ /** 当前 sysAutoManual: 0=自动, 1=手动 */
+ const targetStatus = this.sysAutoManual === "1" ? "自动" : "手动";
+ const targetParam = this.sysAutoManual === "1" ? "0" : "1";
+ this.$confirm(`确定要将系统手自动状态切换为:${targetStatus}吗?`, "提示", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ })
+ .then(() => {
+ this.hadleOperationConrol(this.sysAutoManualId, targetParam);
+ })
+ .catch(() => {});
+ },
// 裙楼-客房进出水阀启停状态
hostAndCoolingControlClass(item) {
// 检查数组中是否存在 paramType 为 "7" 的对象
@@ -3666,6 +3722,185 @@ export default {
animation: none;
}
+ /** 一键启停手动状态禁用样式 */
+ .offClass.disabledClass {
+ pointer-events: none;
+ opacity: 0.4;
+ cursor: not-allowed;
+ }
+
+ /** 系统手自动状态 - Uiverse.io by Navarog21 */
+ .sysAutoManual {
+ position: absolute;
+ top: 2.3rem;
+ right: 0.3rem;
+ z-index: 10;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ button {
+ position: relative;
+ width: 11em;
+ height: 4em;
+ outline: none;
+ transition: 0.1s;
+ background-color: transparent;
+ border: none;
+ font-size: 13px;
+ font-weight: bold;
+ color: #ddebf0;
+ cursor: pointer;
+ }
+
+ #clip {
+ --color: #2761c3;
+ position: absolute;
+ top: 0;
+ overflow: hidden;
+ width: 100%;
+ height: 100%;
+ border: 5px double var(--color);
+ box-shadow: inset 0px 0px 15px #195480;
+ -webkit-clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
+ cursor: pointer;
+ }
+
+ .arrow {
+ position: absolute;
+ transition: 0.2s;
+ background-color: #2761c3;
+ top: 35%;
+ width: 11%;
+ height: 30%;
+ }
+
+ #leftArrow {
+ left: -9%;
+ -webkit-clip-path: polygon(100% 0, 100% 100%, 0 50%);
+ }
+
+ #rightArrow {
+ -webkit-clip-path: polygon(100% 49%, 0 0, 0 100%);
+ left: 106%;
+ }
+
+ button:hover #rightArrow {
+ background-color: #27c39f;
+ left: -7%;
+ animation: 0.6s ease-in-out both infinite alternate rightArrow8;
+ }
+
+ button:hover #leftArrow {
+ background-color: #27c39f;
+ left: 106%;
+ animation: 0.6s ease-in-out both infinite alternate leftArrow8;
+ }
+
+ .corner {
+ position: absolute;
+ width: 4em;
+ height: 4em;
+ background-color: #2761c3;
+ box-shadow: inset 1px 1px 8px #2781c3;
+ transform: scale(1) rotate(45deg);
+ transition: 0.2s;
+ }
+
+ #rightTop {
+ top: -1.98em;
+ left: 91%;
+ }
+
+ #leftTop {
+ top: -1.96em;
+ left: -3em;
+ }
+
+ #leftBottom {
+ top: 2.1em;
+ left: -2.15em;
+ }
+
+ #rightBottom {
+ top: 45%;
+ left: 88%;
+ }
+
+ button:hover #leftTop {
+ animation: 0.1s ease-in-out 0.05s both changeColor8,
+ 0.2s linear 0.4s both lightEffect8;
+ }
+
+ button:hover #rightTop {
+ animation: 0.1s ease-in-out 0.15s both changeColor8,
+ 0.2s linear 0.4s both lightEffect8;
+ }
+
+ button:hover #rightBottom {
+ animation: 0.1s ease-in-out 0.25s both changeColor8,
+ 0.2s linear 0.4s both lightEffect8;
+ }
+
+ button:hover #leftBottom {
+ animation: 0.1s ease-in-out 0.35s both changeColor8,
+ 0.2s linear 0.4s both lightEffect8;
+ }
+
+ button:hover .corner {
+ transform: scale(1.25) rotate(45deg);
+ }
+
+ button:hover #clip {
+ animation: 0.2s ease-in-out 0.55s both greenLight8;
+ --color: #27c39f;
+ }
+ }
+
+ @keyframes changeColor8 {
+ from {
+ background-color: #2781c3;
+ }
+ to {
+ background-color: #27c39f;
+ }
+ }
+
+ @keyframes lightEffect8 {
+ from {
+ box-shadow: 1px 1px 5px #27c39f;
+ }
+ to {
+ box-shadow: 0 0 2px #27c39f;
+ }
+ }
+
+ @keyframes greenLight8 {
+ from {
+ }
+ to {
+ box-shadow: inset 0px 0px 32px #27c39f;
+ }
+ }
+
+ @keyframes leftArrow8 {
+ from {
+ transform: translate(0px);
+ }
+ to {
+ transform: translateX(10px);
+ }
+ }
+
+ @keyframes rightArrow8 {
+ from {
+ transform: translate(0px);
+ }
+ to {
+ transform: translateX(-10px);
+ }
+ }
+
.sysTips {
position: absolute;
top: 2.3rem;