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;