Browse Source

1.修改策略管理、能耗管理模块页面的高端屏幕适配样式

2.对接空调风柜监控系统的控制剩下的逻辑
3.修改温度监测系统-设备监视的样式,添加在线状态,统计高温报警、离线设备的总数
dev
selia-zx 2 weeks ago
parent
commit
5812072ede
  1. BIN
      src/assets/images/fenggui.png
  2. BIN
      src/assets/images/offline.png
  3. BIN
      src/assets/images/online.png
  4. 382
      src/assets/styles/bigScreen.scss
  5. 6
      src/assets/styles/element-ui.scss
  6. 13
      src/assets/styles/sidebar.scss
  7. 4
      src/components/SvgIcon/index.vue
  8. 4
      src/layout/index.vue
  9. 375
      src/views/aircAndWindc/awSysMonitor/index.vue
  10. 100
      src/views/centerairC/delaySwitch/index.vue
  11. 50
      src/views/centerairC/deviceStrategy/index.vue
  12. 27
      src/views/centerairC/enSourceAnalysis/components/deviceEnergy.vue
  13. 32
      src/views/centerairC/enSourceAnalysis/components/equipment.vue
  14. 55
      src/views/centerairC/enSourceAnalysis/components/machineRoom.vue
  15. 25
      src/views/centerairC/energyAnalysis/components/energyAnalysis.vue
  16. 34
      src/views/centerairC/energyAnalysis/components/qnqAnalysis.vue
  17. 34
      src/views/centerairC/energyAnalysis/components/ynyAnalysis.vue
  18. 34
      src/views/centerairC/energyAnalysis/components/ynyQnqAnalysis.vue
  19. 29
      src/views/centerairC/overview/index.vue
  20. 2
      src/views/centerairC/sysMonitor/index.vue
  21. 24
      src/views/centerairC/timeSwitch/index.vue
  22. 14
      src/views/components/dynamicArrow.vue
  23. 3
      src/views/device/gather/index.vue
  24. 2
      src/views/hotWater/waterControl/index.vue
  25. 57
      src/views/hotWater/waterMonitor/index.vue
  26. 13
      src/views/temSys/temHistory/index.vue
  27. 153
      src/views/temSys/temMonitor/index.vue

BIN
src/assets/images/fenggui.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 537 KiB

After

Width:  |  Height:  |  Size: 576 KiB

BIN
src/assets/images/offline.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

BIN
src/assets/images/online.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

382
src/assets/styles/bigScreen.scss

@ -1,5 +1,6 @@
// 媒体查询适配大于2000px分辨率的大屏样式
@media (min-width: 2000px) {
// element样式
.el-tabs--top .el-tabs__item.is-top:nth-child(2),
.el-tabs--top .el-tabs__item.is-bottom:nth-child(2),
.el-tabs--bottom .el-tabs__item.is-top:nth-child(2),
@ -39,15 +40,392 @@
width: 0.16rem !important;
height: 0.16rem !important;
}
.el-switch.is-checked .el-switch__core::after {
margin-left: -0.17rem !important;
}
.el-switch__label * {
font-size: 0.14rem !important;
}
.el-input--mini{
.el-input--mini {
font-size: 0.12rem !important;
}
.el-input--mini .el-input__inner {
height: 0.28rem !important;
line-height: 0.28rem !important;
}
}
.el-message-box {
border-radius: 0.05rem !important;
border: 0.02rem solid #005fbf !important;
width: 4.2rem !important;
padding-bottom: 0.1rem !important;
border-radius: 0.04rem !important;
font-size: 0.18rem !important;
}
.el-message-box__header {
padding: 0.15rem !important;
padding-bottom: 0.1rem !important;
}
.el-message-box__title {
font-size: 0.18rem !important;
}
.el-message-box__headerbtn {
top: 0.15rem !important;
right: 0.15rem !important;
font-size: 0.16rem !important;
}
.el-message-box__content {
padding: 0.1rem 0.15rem !important;
font-size: 0.14rem !important;
}
.el-message-box__status + .el-message-box__message {
padding-left: 0.26rem !important;
padding-right: 0.12rem !important;
}
.el-message-box__input {
padding-top: 0.15rem !important;
}
.el-message-box__btns {
padding: 0.05rem 0.15rem 0 !important;
}
.el-message-box__btns .el-button:nth-child(1) {
border-width: 2px;
}
.el-button--small {
padding: 0.09rem 0.15rem !important;
font-size: 0.12rem !important;
border-radius: 0.02rem !important;
}
.el-message-box__btns button:nth-child(2) {
margin-left: 0.1rem !important;
}
.el-radio--medium.is-bordered {
padding: 0.1rem 0.2rem 0 0.1rem !important;
border-radius: 0.04rem !important;
height: 0.36rem !important;
}
.el-radio--medium.is-bordered .el-radio__label {
font-size: 0.14rem !important;
}
.el-radio--medium.is-bordered .el-radio__inner {
height: 0.14rem !important;
width: 0.14rem !important;
}
.el-radio__inner::after {
width: 0.04rem !important;
height: 0.04rem !important;
}
.el-radio {
font-size: 0.14rem !important;
margin-right: 0.3rem !important;
}
.el-radio__inner {
width: 0.14rem !important;
height: 0.14rem !important;
}
.el-radio__inner::after {
width: 0.04rem !important;
height: 0.04rem !important;
}
.el-radio__label {
font-size: 0.14rem !important;
padding-left: 0.1rem !important;
}
.el-range-editor--medium.el-input__inner {
height: 0.36rem !important;
padding: 0.03rem 0.1rem !important;
}
.el-date-editor--datetimerange.el-input,
.el-date-editor--datetimerange.el-input__inner {
width: 4rem !important;
}
.el-range-editor--medium .el-range__icon,
.el-range-editor--medium .el-range__close-icon {
line-height: 0.28rem !important;
}
.el-date-editor .el-range__icon {
font-size: 0.14rem !important;
margin-left: -0.05rem !important;
line-height: 0.32rem !important;
}
.el-input__icon {
width: 0.25rem !important;
line-height: 0.4rem !important;
}
.el-range-editor--medium .el-range-input {
font-size: 0.14rem !important;
}
.el-range-editor--medium .el-range-separator {
line-height: 0.28rem !important;
font-size: 0.14rem !important;
}
.el-date-editor .el-range-separator {
padding: 0 0.05rem !important;
line-height: 0.32rem !important;
font-size: 0.14rem !important;
}
.el-range-editor--medium .el-range__icon,
.el-range-editor--medium .el-range__close-icon {
line-height: 0.28rem !important;
}
.el-date-editor .el-range__close-icon {
font-size: 0.14rem !important;
width: 0.25rem !important;
line-height: 0.32rem !important;
}
.el-popper[x-placement^="bottom"] {
margin-top: 0.12rem !important;
}
.el-picker-panel {
line-height: 0.3rem !important;
margin: 0.05rem !important;
}
.el-picker-panel,
.el-date-range-picker .el-picker-panel__body {
min-width: 5.13rem !important;
}
.el-date-range-picker__time-header {
font-size: 0.12rem !important;
padding: 0.08rem 0.05rem 0.05rem 0.05rem !important;
}
.el-date-range-picker__time-picker-wrap {
padding: 0 0.05rem !important;
}
.el-input--small {
font-size: 0.13rem !important;
}
.el-input--small .el-input__inner {
height: 0.32rem !important;
line-height: 0.32rem !important;
}
.el-date-range-picker__content {
padding: 0.16rem !important;
}
.el-date-range-picker__header {
height: 0.28rem !important;
}
.el-picker-panel__icon-btn {
font-size: 0.12rem !important;
margin-top: 0.08rem !important;
}
.el-date-range-picker__content .el-date-range-picker__header div {
margin-left: 0.5rem !important;
margin-right: 0.5rem !important;
}
.el-date-range-picker__header div {
font-size: 0.16rem !important;
}
.el-date-table {
font-size: 0.12rem !important;
}
.el-date-table td span {
width: 0.24rem !important;
height: 0.24rem !important;
line-height: 0.24rem !important;
}
.el-date-table td.start-date div {
margin-left: 0.05rem !important;
border-top-left-radius: 0.15rem !important;
border-bottom-left-radius: 0.15rem !important;
}
.el-date-table td div {
height: 0.3rem !important;
padding: 0.03rem 0 !important;
}
table tr {
height: 0.45rem !important;
}
.el-date-table td {
width: 0.32rem !important;
height: 0.3rem !important;
padding: 0.04rem 0 !important;
position: relative;
}
.el-picker-panel__footer {
padding: 0.04rem !important;
}
.el-button--mini {
padding: 0.07rem 0.15rem !important;
font-size: 0.12rem !important;
border-radius: 0.03rem !important;
}
.el-input__suffix {
right: 0.05rem !important;
}
.el-select .el-input .el-select__caret {
font-size: 0.14rem !important;
}
.el-select-dropdown__list {
padding: 0.06rem 0 !important;
}
.el-select-dropdown.is-multiple .el-select-dropdown__item {
padding-right: 0.4rem !important;
}
.el-select-dropdown__item {
font-size: 0.14rem !important;
padding: 0 0.2rem !important;
height: 0.34rem !important;
line-height: 0.34rem !important;
}
.el-input--medium .el-input__inner {
height: 0.36rem !important;
line-height: 0.36rem !important;
}
.el-input--suffix .el-input__inner {
padding-right: 0.3rem !important;
}
.el-input--medium {
font-size: 0.14rem !important;
}
.el-select .el-tag {
margin: 0.02rem 0 0.02rem 0.06rem !important;
}
.el-tag {
height: 0.32rem !important;
padding: 0 0.1rem !important;
line-height: 0.3rem !important;
font-size: 0.12rem !important;
}
.el-tag .el-icon-close {
font-size: 0.12rem !important;
height: 0.16rem !important;
width: 0.16rem !important;
line-height: 0.16rem !important;
right: 0rem !important;
}
.el-tag--small {
height: 0.24rem !important;
padding: 0 0.08rem !important;
line-height: 0.22rem !important;
}
.el-button--medium {
padding: 0.1rem 0.2rem !important;
font-size: 0.14rem !important;
border-radius: 0.04rem !important;
}
.el-table .el-table__header-wrapper th,
.el-table .el-table__fixed-header-wrapper th {
font-size: 0.13rem !important;
}
.el-table th.el-table__cell > .cell {
padding-left: 0.1rem !important;
padding-right: 0.1rem !important;
}
.el-table .cell {
line-height: 0.23rem !important;
}
.el-table__empty-text {
line-height: 0.6rem !important;
font-size: 0.14rem !important;
}
.el-table--medium .el-table__cell {
padding: 10px 0;
}
.el-table .cell {
line-height: 0.23rem !important;
padding-left: 0.1rem !important;
padding-right: 0.1rem !important;
}
.el-table {
font-size: 0.14rem !important;
}
.el-breadcrumb__separator {
margin: 0 0.09rem !important;
margin-right: 0.09rem !important;
margin-left: 0.09rem !important;
}
.el-pagination span:not([class*="suffix"]),
.el-pagination button {
font-size: 0.13rem !important;
min-width: 0.355rem !important;
height: 0.28rem !important;
line-height: 0.28rem !important;
}
.el-pagination .el-select .el-input {
width: 1rem !important;
margin: 0 0.05rem !important;
}
.el-pagination .el-select .el-input .el-input__inner {
padding-right: 0.25rem !important;
border-radius: 0.03rem !important;
}
.el-pagination__sizes .el-input .el-input__inner {
font-size: 0.13rem !important;
padding-left: 0.08rem !important;
}
.el-input--mini .el-input__inner {
height: 0.28rem !important;
line-height: 0.28rem !important;
}
.el-pagination.is-background .btn-prev,
.el-pagination.is-background .btn-next,
.el-pagination.is-background .el-pager li {
margin: 0 0.05rem !important;
min-width: 0.3rem !important;
border-radius: 0.02rem !important;
}
.el-pagination .btn-prev .el-icon,
.el-pagination .btn-next .el-icon {
font-size: 0.12rem !important;
}
.el-pagination__jump {
margin-left: 0.24rem !important;
}
.el-pagination__editor.el-input {
width: 0.5rem !important;
}
.el-input--medium {
font-size: 0.14rem !important;
}
.el-pagination__editor {
line-height: 0.18rem !important;
padding: 0 0.02rem !important;
height: 0.28rem !important;
margin: 0 0.02rem !important;
margin-right: 0.02rem !important;
margin-left: 0.02rem !important;
border-radius: 0.03rem !important;
}
.el-tree-node__content {
height: 0.26rem !important;
}
.el-tree-node__content > .el-tree-node__expand-icon {
padding: 0.06rem !important;
}
.el-tree-node__expand-icon {
font-size: 0.12rem !important;
}
.custom-tree-node {
font-size: 0.14rem !important;
padding-right: 0.08rem !important;
}
// 页面公共样式
.analysis-table th {
height: 0.5rem !important;
font-size: 0.16rem !important;
}
.analysis-table td {
font-size: 0.16rem !important;
}
.app-container .left-tree {
width: 2.56rem !important;
min-height: 8rem !important;
padding: 0.15rem 0.1rem 0.1rem 0.1rem !important;
}
.app-container .right-monitor {
width: calc(100% - 2.8rem) !important;
}
.buildingDiv {
padding-left: 0.54rem !important;
margin-bottom: 0.2rem !important;
.title-bg {
width: 2.08rem !important;
height: 0.38rem !important;
}
.title-word {
font-size: 0.24rem !important;
}
}
}

6
src/assets/styles/element-ui.scss

@ -1375,4 +1375,10 @@
flex-direction: column;
align-items: center;
justify-content: center;
}
.el-input__suffix {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}

13
src/assets/styles/sidebar.scss

@ -196,13 +196,18 @@
margin-left: 0px;
}
.sidebar-container {
transition: transform 0.28s;
width: var(--base-sidebar-width) !important;
}
// .sidebar-container {
// transition: transform 0.28s;
// width: var(--base-sidebar-width) !important;
// }
&.hideSidebar {
.fixed-header {
width: 100% !important;
}
.sidebar-container {
// width: 54px !important;
width: 0px !important;
pointer-events: none;
transition-duration: 0.3s;
transform: translate3d(-var(--base-sidebar-width), 0, 0);

4
src/components/SvgIcon/index.vue

@ -12,8 +12,8 @@ export default {
name: 'SvgIcon',
props: {
iconClass: {
type: String,
required: true
// type: String,
// required: true
},
className: {
type: String,

4
src/layout/index.vue

@ -95,8 +95,4 @@ export default {
.sidebarHide .fixed-header {
width: 100%;
}
.mobile .fixed-header {
width: 100%;
}
</style>

375
src/views/aircAndWindc/awSysMonitor/index.vue

@ -1,5 +1,5 @@
<template>
<div class="app-container">
<div class="app-container" v-loading="loading">
<div class="left-tree">
<!-- el-tree 设置一个固定的高度和滚动条 -->
<div style="height: 7rem; overflow-y: auto">
@ -47,7 +47,8 @@
/>
<!-- 风扇定位 -->
<img
class="wind-move tunCircle"
class="windMove"
:class="{ tunCircle: runStatusObj.collectValue }"
src="../../../assets/images/fengshan.png"
alt=""
/>
@ -118,64 +119,89 @@
alt=""
/>
</div>
<div class="wind-tem1">
<div class="wind-tem1" v-if="isObjectValid(airSupplyObj)">
<div class="wind-text">回风温度</div>
<el-input v-model="temValue" size="mini">
<el-input
@keyup.enter.native="handleEnter(backAirObj, $event, '℃')"
@input="handleInput(backAirObj)"
@blur="handleBlur()"
v-model="backAirObj.collectValue"
size="mini"
>
<svg-icon slot="prefix" icon-class="tem_icon" class="tem-icon" />
</el-input>
</div>
<div class="wind-tem2">
<div class="wind-tem2" v-if="isObjectValid(airSupplyObj)">
<div class="wind-text">送风温度</div>
<el-input v-model="temValue" size="mini">
<el-input
@keyup.enter.native="handleEnter(airSupplyObj, $event, '℃')"
@input="handleInput(airSupplyObj)"
@blur="handleBlur()"
v-model="airSupplyObj.collectValue"
size="mini"
>
<svg-icon slot="prefix" icon-class="tem_icon" class="tem-icon" />
</el-input>
</div>
<div class="fan-satatus3">
<div class="context-li">
<div class="context-li" v-if="isObjectValid(faultAlarmObj)">
<div class="wind-text">风机故障状态:</div>
<div class="goodStautus">正常</div>
<!-- <div class="badStautus">故障</div> -->
<div class="badStautus" v-if="faultAlarmObj.collectValue">
故障
</div>
<div class="goodStautus" v-else>正常</div>
</div>
<div class="context-li">
<div class="context-li" v-if="isObjectValid(runStatusObj)">
<div class="wind-text">风机运行状态:</div>
<!-- <div class="goodStautus">运行</div> -->
<div class="noneStautus">不运行</div>
<div class="goodStautus" v-if="runStatusObj.collectValue">
运行
</div>
<div class="noneStautus" v-else>不运行</div>
</div>
<div class="context-li">
<div class="context-li" v-if="isObjectValid(pressureObj)">
<div class="wind-text">风机压差:</div>
<div class="noneStautus">10v</div>
<div class="badStautus" v-if="pressureObj.collectValue">故障</div>
<div class="goodStautus" v-else>正常</div>
</div>
</div>
<div class="fan-satatus1">
<div class="context-li">
<div class="context-li" v-if="isObjectValid(automaticObj)">
<div class="wind-text">风机手自动状态</div>
<el-switch
style="display: block"
v-model="autoStatus"
v-model="automaticObj.collectValue"
active-color="#13ce66"
inactive-color="#ff4949"
active-text="手动"
inactive-text="自动"
@change="handleAutomaticText(automaticObj)"
>
</el-switch>
</div>
<div class="context-li">
<div class="context-li" v-if="isObjectValid(startControlObj)">
<div class="wind-text">风机启停控制</div>
<el-switch
style="display: block"
v-model="startStatus"
v-model="startControlObj.collectValue"
active-color="#13ce66"
inactive-color="#ff4949"
active-text="关闭"
inactive-text="打开"
active-text="开启"
inactive-text="停止"
@change="handleControlText(startControlObj)"
>
</el-switch>
</div>
</div>
<div class="fan-satatus2">
<div class="context-li">
<div class="context-li" v-if="isObjectValid(waterSupplyObj)">
<div class="wind-text">供水温度</div>
<el-input v-model="temValue" size="mini">
<el-input
@keyup.enter.native="handleEnter(waterSupplyObj, $event, '℃')"
@input="handleInput(waterSupplyObj)"
@blur="handleBlur()"
v-model="waterSupplyObj.collectValue"
size="mini"
>
<svg-icon
slot="prefix"
icon-class="tem_icon"
@ -183,9 +209,15 @@
/>
</el-input>
</div>
<div class="context-li">
<div class="context-li" v-if="isObjectValid(backwaterObj)">
<div class="wind-text">回水温度</div>
<el-input v-model="temValue" size="mini">
<el-input
@keyup.enter.native="handleEnter(backwaterObj, $event, '℃')"
@input="handleInput(backwaterObj)"
@blur="handleBlur()"
v-model="backwaterObj.collectValue"
size="mini"
>
<svg-icon
slot="prefix"
icon-class="tem_icon"
@ -193,9 +225,15 @@
/>
</el-input>
</div>
<div class="context-li">
<div class="context-li" v-if="isObjectValid(waterValveObj)">
<div class="wind-text">水阀调节</div>
<el-input v-model="valvePercent" size="mini">
<el-input
@keyup.enter.native="handleEnter(waterValveObj, $event, '%')"
@input="handleInput(waterValveObj)"
@blur="handleBlur()"
v-model="waterValveObj.collectValue"
size="mini"
>
<svg-icon
slot="prefix"
icon-class="percentage-icon"
@ -204,13 +242,19 @@
</el-input>
</div>
</div>
<div class="wind-valve">
<div class="wind-text">风阀反馈</div>
<div>11%</div>
<div class="wind-valve" v-if="isObjectValid(airValveBackObj)">
<div class="wind-text">风阀反馈</div>
<div>{{ airValveBackObj.collectValue }}%</div>
</div>
<div class="wind-valve2">
<div class="wind-valve2" v-if="isObjectValid(airValveObj)">
<div class="wind-text">风阀调节</div>
<el-input v-model="valvePercent" size="mini">
<el-input
@keyup.enter.native="handleEnter(airValveObj, $event, '%')"
@input="handleInput(airValveObj)"
@blur="handleBlur()"
v-model="airValveObj.collectValue"
size="mini"
>
<svg-icon
slot="prefix"
icon-class="percentage-icon"
@ -227,6 +271,7 @@
<script>
import { spaceTree } from "@/api/region";
import { windList } from "@/api/aircAndWindc/index";
import { operationConrol } from "@/api/hotWater/waterControl";
export default {
data() {
return {
@ -243,6 +288,19 @@ export default {
currentLevel: "", //
currentParentId: "", //id
backwaterObj: {}, //
airValveObj: {}, //
airValveBackObj: {}, //
waterValveObj: {}, //
startControlObj: {}, //
runStatusObj: {}, //
airSupplyObj: {}, //
pressureObj: {}, //
automaticObj: {}, //
backAirObj: {}, //
faultAlarmObj: {}, //
waterSupplyObj: {}, //
tableData: [], //
temValue: "℃", //
valvePercent: "%", //
@ -285,6 +343,10 @@ export default {
this.getSysBuild();
},
methods: {
// undefined
isObjectValid(obj) {
return obj && Object.keys(obj).length > 0;
},
getSysBuild() {
spaceTree().then((res) => {
if (res.code == 200) {
@ -418,13 +480,245 @@ export default {
},
//
getWindList() {
return new Promise((resolve, reject) => {
let data = {
systemType: "2",
houseId: this.currentId,
};
windList(data)
.then((res) => {
console.log("风柜系统查询返回", res);
if (res.code == 200 && res.rows.length > 0) {
let data = res.rows[0].values;
this.backwaterObj = {}; //
this.airValveObj = {}; //
this.airValveBackObj = {}; //
this.waterValveObj = {}; //
this.startControlObj = {}; //
this.runStatusObj = {}; //
this.airSupplyObj = {}; //
this.pressureObj = {}; //
this.automaticObj = {}; //
this.backAirObj = {}; //
this.faultAlarmObj = {}; //
this.waterSupplyObj = {}; //
data.forEach((item) => {
//
if (
item.paramType === "12" &&
item.collectName.includes("回水")
) {
this.backwaterObj = item;
}
//
else if (
item.paramType === "3" &&
item.collectName.includes("新风风阀")
) {
this.airValveObj = item;
}
//
else if (item.paramType === "4") {
this.airValveBackObj = item;
}
//
else if (
item.paramType === "3" &&
item.collectName.includes("调节阀")
) {
this.waterValveObj = item;
}
// 01
else if (item.paramType === "2") {
this.startControlObj = item;
this.startControlObj.collectValue =
Number(item.collectValue) == 0 ? false : true;
}
// 01
else if (item.paramType === "1") {
this.runStatusObj = item;
this.runStatusObj.collectValue =
Number(item.collectValue) == 0 ? false : true;
}
//
else if (
item.paramType === "12" &&
item.collectName.includes("送风")
) {
this.airSupplyObj = item;
}
// 01(true)
else if (item.paramType === "33") {
this.pressureObj = item;
this.pressureObj.collectValue =
Number(item.collectValue) == 0 ? false : true;
}
// 01
else if (item.paramType === "6") {
this.automaticObj = item;
this.automaticObj.collectValue =
Number(item.collectValue) == 0 ? false : true;
}
//
else if (
item.paramType === "12" &&
item.collectName.includes("回风")
) {
this.backAirObj = item;
}
// 0 1
else if (item.paramType === "5") {
this.faultAlarmObj = item;
this.faultAlarmObj.collectValue =
Number(item.collectValue) == 0 ? false : true;
}
//
else if (
item.paramType === "12" &&
item.collectName.includes("供水")
) {
this.waterSupplyObj = item;
}
});
} else {
this.backwaterObj = {};
this.airValveObj = {};
this.airValveBackObj = {};
this.waterValveObj = {};
this.startControlObj = {};
this.runStatusObj = {};
this.airSupplyObj = {};
this.pressureObj = {};
this.automaticObj = {};
this.backAirObj = {};
this.faultAlarmObj = {};
this.waterSupplyObj = {};
}
// Promise
resolve(res);
})
.catch((error) => {
// Promise
reject(error);
});
});
},
//
handleInput(item) {
console.log("校验");
//
item.collectValue = String(item.collectValue).replace(/[^\d]/g, "");
},
//
handleBlur() {
// this.currentFocusIndex = "";
},
handleEnter(item, event, unit) {
console.log("请求后端");
//
event.target.blur();
this.$confirm(
`确定要修改"${item.collectName}"为:${item.collectValue} ${unit}吗?`,
"提示",
{
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}
)
.then(() => {
this.hadleOperationConrol(item.id, item.collectValue);
})
.catch(() => {
//
// this.$emit("upList");
});
},
//
handleAutomaticText(item) {
this.$confirm(
`确定要切换设备的状态为:${item.collectValue ? "手动" : "自动 吗?"}`,
"提示",
{
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}
)
.then(() => {
//
let param = null;
if (item.collectValue) {
param = 1;
} else {
param = 0;
}
this.hadleOperationConrol(item.id, param);
})
.catch(() => {
//
item.collectValue = !item.collectValue;
console.log("不请求后台");
});
},
///
handleControlText(item) {
this.$confirm(
`确定要切换设备的状态为:${item.collectValue ? "开启" : "停止 吗?"}`,
"提示",
{
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}
)
.then(() => {
let param = null;
if (item.collectValue) {
param = 1;
} else {
param = 0;
}
this.hadleOperationConrol(item.id, param);
})
.catch(() => {
//
item.collectValue = !item.collectValue;
console.log("不请求后台");
});
},
//
hadleOperationConrol(id, param) {
let data = {
systemType: "2",
houseId: this.currentId,
id: id,
param: param,
};
windList(data).then((res) => {
console.log("风柜系统查询返回", res);
});
console.log("操作参数", data);
operationConrol([data])
.then((res) => {
if (res.code == 200) {
this.$modal.msgSuccess("指令下发成功!");
// loading
this.loading = true;
// ;
setTimeout(() => {
this.getWindList().finally(() => {
// loading
this.loading = false;
});
}, 5000);
} else {
// this.$modal.msgError("");
console.log("应该更新状态的");
// ;
this.getWindList();
}
})
.catch((error) => {
console.log("请求发生错误,更新设备状态", error);
// ;
this.getWindList();
});
},
},
};
@ -465,8 +759,8 @@ export default {
height: 5.38rem;
position: relative;
.wind-img {
width: 13rem;
height: 5.38rem;
width: 13.1rem;
height: 5.5rem;
position: absolute;
top: 0;
left: 0;
@ -657,10 +951,10 @@ export default {
display: flex;
flex-direction: row;
align-items: center;
font-size: 0.18rem;
.wind-text {
color: #00d2ff;
font-size: 0.18rem;
margin-right: 0.1rem;
white-space: nowrap;
}
}
@ -680,7 +974,7 @@ export default {
white-space: nowrap;
}
}
.wind-move {
.windMove {
width: 0.72rem;
height: 0.73rem;
position: absolute;
@ -894,6 +1188,7 @@ export default {
font-weight: 700;
text-align: center;
padding: 0 0.1rem !important;
font-size: 0.18rem !important;
}
.windC >>> .el-input__prefix {
display: flex;

100
src/views/centerairC/delaySwitch/index.vue

@ -282,7 +282,7 @@ export default {
hadleOperationConrol(id, param) {
let data = {
id: id,
param: param
param: param,
};
console.log("操作参数", data);
operationConrol([data])
@ -633,6 +633,97 @@ export default {
width: 180%;
}
}
// 2000px
@media (min-width: 2000px) {
.app-container {
padding: 0.2rem !important;
.delay-title {
font-size: 0.18rem !important;
letter-spacing: 0.02rem !important;
.right-line {
width: 1.7rem !important;
height: 0.4rem !important;
}
.left-line {
width: 0.5rem !important;
height: 2.2rem !important;
}
}
}
.delaySwitch {
border-radius: 0.1rem !important;
padding: 0 0.2rem !important;
font-size: 0.18rem !important;
.delay-li {
padding: 0.4rem 0 !important;
border-bottom: 0.01rem dashed #0349ac !important;
.buildingDiv {
padding-left: 0.54rem !important;
margin-bottom: 0.2rem !important;
.title-bg {
width: 2.08rem !important;
height: 0.28rem !important;
}
.title-word {
font-size: 0.24rem !important;
}
}
.delay-bottom {
.start {
margin-right: 0.2rem !important;
margin-top: 0.1rem !important;
.start-img {
width: 0.7rem !important;
height: 0.7rem !important;
margin-top: 0.1rem !important;
}
}
}
.delay-context {
margin-bottom: 0.2rem !important;
min-width: 1.5rem !important;
}
.butterflyValve {
width: 0.7rem !important;
height: 0.7rem !important;
margin-top: 0.1rem !important;
padding: 0.05rem !important;
border-radius: 0.05rem !important;
}
.delay-input {
margin-bottom: 0.1rem !important;
}
.device-body {
margin: 0px 0.3rem !important;
padding: 0.1rem !important;
}
.openLast {
margin-top: -0.22rem !important;
margin-left: 5.35rem !important;
}
.closeLast {
margin-top: -0.22rem !important;
margin-left: 2.75rem !important;
}
.reverse-img {
.yuan {
width: 0.06rem !important;
height: 0.06rem !important;
margin-bottom: 0.1rem !important;
}
}
.lastTower {
margin-top: 0.56rem !important;
.butterflyValve {
margin-right: 0.1rem !important;
}
}
}
.delay-li:nth-last-child(1) {
border-bottom: none !important;
}
}
}
</style>
<style scoped>
.delay-input >>> .el-input {
@ -647,4 +738,11 @@ export default {
text-align: center;
padding: 0 0.1rem !important;
}
/* // 媒体查询,适配大于2000px分辨率的大屏样式 */
@media (min-width: 2000px) {
.delay-input >>> .el-input {
width: 0.8rem !important;
margin: 0 0.15rem 0 0.05rem !important;
}
}
</style>

50
src/views/centerairC/deviceStrategy/index.vue

@ -64,7 +64,9 @@
</div>
</template>
</div>
<div v-if="item.name === '自动模式选择'">:请停机状态下选择</div>
<div v-if="item.name === '自动模式选择'" class="tips-text">
:请停机状态下选择
</div>
</div>
</div>
</template>
@ -134,7 +136,7 @@ export default {
},
// select
selectThink(children) {
const oldValue = children._oldValue
const oldValue = children._oldValue;
this.$confirm(
`确定要修改"${children.pointName}"的数据为:${children.curValue}吗?`,
"提示",
@ -379,9 +381,9 @@ export default {
font-size: 0.18rem;
font-weight: bold;
position: absolute;
top: 15px;
top: 18px;
left: 25px;
margin-bottom: 25px;
margin-bottom: 20px;
}
.policy-li {
display: flex;
@ -412,6 +414,9 @@ export default {
width: 80px !important;
margin: 0 15px 0 5px;
}
.tips-text {
font-size: 14px;
}
}
}
.radio-style {
@ -484,6 +489,43 @@ export default {
font-size: 14px !important;
}
}
// 2000px
@media (min-width: 2000px) {
.policy-flex {
margin-top: 0.15rem !important;
}
.policy-flex .policy {
min-height: 3.5rem !important;
margin-bottom: 0.2rem !important;
padding: 0.7rem 0.6rem 0.2rem 0.4rem !important;
}
.policy-flex .policy .policy-title {
font-size: 0.18rem;
top: 0.18rem !important;
left: 0.25rem !important;
margin-bottom: 0.2rem !important;
}
.policy-flex .policy .policy-li {
margin-bottom: 0.1rem !important;
}
.policy-flex .policy .policy-li .el-input {
width: 0.8rem !important;
margin: 0 0.15rem 0 0.05rem !important;
}
.policy-flex .policy .policy-li .right-data .unit {
width: 0.25rem !important;
}
.policy-flex .policy .policy-li .el-select {
width: 0.8rem !important;
margin: 0 0.15rem 0 0.05rem !important;
}
.tips-text {
font-size: 0.14rem !important;
}
.policy-li .el-radio {
margin-bottom: 0.05rem !important;
}
}
</style>
<style scoped>
.policy-li >>> .el-input__inner {

27
src/views/centerairC/enSourceAnalysis/components/deviceEnergy.vue

@ -77,7 +77,7 @@
<el-select
v-model="deviceType"
placeholder="请选择设备类型"
style="margin-left: 0.24rem"
style="margin-left: 0.12rem"
@change="changeData"
>
<el-option
@ -89,7 +89,7 @@
</el-option>
</el-select>
<el-select
style="margin-left: 0.24rem"
style="margin-left: 0.12rem"
v-model="systemType"
placeholder="请选择系统类型"
clearable
@ -104,7 +104,7 @@
<div class="success-btn">
<el-button
type="success"
style="margin-left: 0.24rem"
style="margin-left: 0.12rem"
@click="findData"
>查询</el-button
>
@ -699,7 +699,7 @@ export default {
}
.analysis-table {
margin-bottom: 0.37rem;
margin: 0.3rem 0;
}
.main-content {
@ -711,4 +711,23 @@ export default {
height: 4.55rem;
margin-left: -0.35rem;
}
// 2000px
@media (min-width: 2000px) {
.condition {
.condition-left {
.years-div {
.years-word {
font-size: 0.14rem !important;
margin: 0 0.05rem !important;
}
}
.time-label {
font-size: 0.16rem !important;
line-height: 0.07rem !important;
margin-right: 0.12rem !important;
}
}
}
}
</style>

32
src/views/centerairC/enSourceAnalysis/components/equipment.vue

@ -76,7 +76,7 @@
<el-select
multiple
collapse-tags
style="margin: 0 0.24rem; width: 250px"
class="elSelectDiv"
v-model="electType"
placeholder="请选择查询类型"
@change="handleSelectChange"
@ -483,7 +483,7 @@ export default {
return rowData;
});
console.log("tableData", this.tableData);
console.log("res.data[2].dataList",res.data[2].dataList)
console.log("res.data[2].dataList", res.data[2].dataList);
console.log("this.electTypes", this.electTypes);
// data header
this.headers = [
@ -807,11 +807,37 @@ export default {
.main-content {
min-height: 6.6rem;
}
.elSelectDiv {
margin-left: 15px;
width: 250px;
}
.details_ref {
width: 16.5rem;
height: 3.55rem;
margin-bottom: 0.39rem;
margin-left: -0.3rem;
}
// 2000px
@media (min-width: 2000px) {
.condition {
.condition-left {
.years-div {
.years-word {
font-size: 0.14rem !important;
margin: 0 0.05rem !important;
}
}
.time-label {
font-size: 0.16rem !important;
line-height: 0.07rem !important;
margin-right: 0.12rem !important;
}
}
}
.elSelectDiv {
margin-left: 0.15rem !important;
width: 2.5rem !important;
}
}
</style>

55
src/views/centerairC/enSourceAnalysis/components/machineRoom.vue

@ -68,7 +68,7 @@
</el-date-picker>
</div>
<el-select
style="margin-left: 10px"
style="margin-left: 0.1rem"
v-model="systemType"
placeholder="请选择系统类型"
clearable
@ -80,10 +80,8 @@
:value="dict.dictValue"
/>
</el-select>
<div class="success-btn" style="margin: 0 0.24rem">
<el-button type="success" @click="findData"
>查询</el-button
>
<div class="success-btn" style="margin: 0 0.12rem">
<el-button type="success" @click="findData">查询</el-button>
</div>
<div class="warning-btn">
<el-button type="warning" @click="exportData">导出</el-button>
@ -434,7 +432,7 @@ export default {
this.listLoading = true;
energyAnalyze(data).then((res) => {
console.log("能源返回", res);
if (res.code == 200 && res.data) {
if (res.code == 200 && res.data.all) {
this.allDataArr = res.data.all;
this.allDataArr = this.allDataArr.map((item) => {
item.value = parseFloat(item.value);
@ -556,7 +554,6 @@ export default {
}
}
}
.machine {
display: flex;
flex-direction: row;
@ -581,7 +578,7 @@ export default {
.machine-li {
width: 100%;
margin-bottom: 0.18rem;
margin-bottom: 0.3rem;
border: 1px solid rgba(9, 83, 133, 0.5);
box-shadow: inset 0 0 30px rgba(9, 83, 133, 0.4);
position: relative;
@ -590,7 +587,7 @@ export default {
.tit {
padding: 0.1rem 0.1rem 0.1rem 0.25rem;
border-bottom: 1px solid rgba(9, 83, 133, 0.5);
font-size:0.18rem;
font-size: 0.18rem;
font-weight: 500;
position: relative;
// background: rgba(64, 72, 71, 0.5);
@ -624,7 +621,7 @@ export default {
.chart {
width: 100%;
height: 280px;
height: 330px;
display: flex;
flex-direction: column;
align-items: center;
@ -635,4 +632,42 @@ export default {
}
}
}
// 2000px
@media (min-width: 2000px) {
.condition {
.condition-left {
.years-div {
.years-word {
font-size: 0.14rem !important;
margin: 0 0.05rem !important;
}
}
.time-label {
font-size: 0.16rem !important;
line-height: 0.07rem !important;
margin-right: 0.12rem !important;
}
}
}
.machine {
.machine-left,
.machine-right {
.machine-li {
.tit::before {
width: 0.06rem !important;
height: 0.06rem !important;
}
.machine-center-li {
.machine-context {
.chart {
height: 3.3rem !important;
}
}
}
}
}
}
}
</style>

25
src/views/centerairC/energyAnalysis/components/energyAnalysis.vue

@ -813,6 +813,9 @@ export default {
.analysis-table table thead th {
min-width: 1.6rem;
}
.analysis-table {
margin: 0.3rem 0;
}
.connect-div {
display: flex;
@ -827,9 +830,23 @@ export default {
margin-left: -0.35rem;
}
/*
媒体查询
*/
@media (max-width: 1210px) {
// 2000px
@media (min-width: 2000px) {
.condition {
.condition-left {
.years-div {
.years-word {
font-size: 0.14rem !important;
margin: 0 0.05rem !important;
}
}
.time-label {
font-size: 0.16rem !important;
line-height: 0.07rem !important;
margin-right: 0.12rem !important;
}
}
}
}
</style>

34
src/views/centerairC/energyAnalysis/components/qnqAnalysis.vue

@ -897,9 +897,35 @@ export default {
}
}
/*
媒体查询
*/
@media (max-width: 1210px) {
// 2000px
@media (min-width: 2000px) {
.condition {
.condition-left {
.years-div {
.years-word {
font-size: 0.14rem !important;
margin: 0 0.05rem !important;
}
}
.time-label {
font-size: 0.16rem !important;
line-height: 0.07rem !important;
margin-right: 0.12rem !important;
}
}
}
.condition-btn {
border-radius: 0.04rem !important;
.legend-li {
padding: 0.07rem 0.13rem !important;
font-size: 0.16rem !important;
}
.timeStyle2 {
border-radius: 0.04rem !important;
}
}
}
</style>

34
src/views/centerairC/energyAnalysis/components/ynyAnalysis.vue

@ -909,9 +909,35 @@ export default {
}
}
/*
媒体查询
*/
@media (max-width: 1210px) {
// 2000px
@media (min-width: 2000px) {
.condition {
.condition-left {
.years-div {
.years-word {
font-size: 0.14rem !important;
margin: 0 0.05rem !important;
}
}
.time-label {
font-size: 0.16rem !important;
line-height: 0.07rem !important;
margin-right: 0.12rem !important;
}
}
}
.condition-btn {
border-radius: 0.04rem !important;
.legend-li {
padding: 0.07rem 0.13rem !important;
font-size: 0.16rem !important;
}
.timeStyle2 {
border-radius: 0.04rem !important;
}
}
}
</style>

34
src/views/centerairC/energyAnalysis/components/ynyQnqAnalysis.vue

@ -1001,9 +1001,35 @@ export default {
}
}
/*
媒体查询
*/
@media (max-width: 1210px) {
// 2000px
@media (min-width: 2000px) {
.condition {
.condition-left {
.years-div {
.years-word {
font-size: 0.14rem !important;
margin: 0 0.05rem !important;
}
}
.time-label {
font-size: 0.16rem !important;
line-height: 0.07rem !important;
margin-right: 0.12rem !important;
}
}
}
.condition-btn {
border-radius: 0.04rem !important;
.legend-li {
padding: 0.07rem 0.13rem !important;
font-size: 0.16rem !important;
}
.timeStyle2 {
border-radius: 0.04rem !important;
}
}
}
</style>

29
src/views/centerairC/overview/index.vue

@ -74,7 +74,7 @@
</el-date-picker>
</div>
<el-select
style="margin-left: 10px"
style="margin-left: 0.12rem"
v-model="systemType"
placeholder="请选择系统类型"
clearable
@ -89,7 +89,7 @@
<div class="success-btn">
<el-button
type="success"
style="margin-left: 0.24rem"
style="margin-left: 0.12rem"
@click="findData"
>查询</el-button
>
@ -115,7 +115,7 @@
</el-table-column>
<el-table-column prop="copData" label="EER"> </el-table-column>
</el-table>
<div class="page">
<div class="page" >
<el-pagination
background
style="width: 100%; height: 20%"
@ -990,6 +990,9 @@ export default {
align-items: center;
width: 16rem;
}
.page{
margin-top: 0.22rem;
}
.charts_refs {
width: 16rem;
@ -997,4 +1000,24 @@ export default {
/* margin-bottom: 0.39rem; */
margin-left: -0.35rem;
}
// 2000px
@media (min-width: 2000px) {
.condition {
.condition-left {
.years-div {
.years-word {
font-size: 0.14rem !important;
margin: 0 0.05rem !important;
}
}
.time-label {
font-size: 0.16rem !important;
line-height: 0.07rem !important;
margin-right: 0.12rem !important;
white-space: nowrap;
}
}
}
}
</style>

2
src/views/centerairC/sysMonitor/index.vue

@ -639,7 +639,7 @@ export default {
return new Promise((resolve, reject) => {
let data = {
systemType: 0,
paramType: "23",
paramType: "27",
};
oneKeyButton(data)
.then((res) => {

24
src/views/centerairC/timeSwitch/index.vue

@ -417,6 +417,7 @@ export default {
background-color: #142c4e;
padding: 10px 10px 30px 10px;
border-radius: 10px;
font-size: 14px;
.device-li {
width: 100%;
display: flex;
@ -444,6 +445,23 @@ export default {
color: #9ca3af;
}
}
// 2000px
@media (min-width: 2000px) {
.device-container {
min-height: 7rem !important;
padding: 0.1rem 0.1rem 0.3rem 0.1rem !important;
border-radius: 0.1rem !important;
font-size: 0.14rem !important;
.device-li {
padding: 0.12rem 0 !important;
.device-name {
.slip {
margin: 0 0.05rem !important;
}
}
}
}
}
</style>
<style scoped>
.device-name >>> .el-input {
@ -457,4 +475,10 @@ export default {
text-align: center;
padding: 0 0.1rem !important;
}
/* // 媒体查询,适配大于2000px分辨率的大屏样式 */
@media (min-width: 2000px) {
.device-name >>> .el-input {
width: 0.8rem !important;
}
}
</style>

14
src/views/components/dynamicArrow.vue

@ -82,4 +82,18 @@ export default {
.animate-arrow {
animation: arrowAnimation 1s infinite;
}
// 2000px
@media (min-width: 2000px) {
.arrow {
.yuan {
width: 0.06rem !important;
height: 0.06rem !important;
margin-right: 0.1rem !important;
}
.arrow-l {
width: 0.15rem !important;
height: 0l.2rem !important;
}
}
}
</style>

3
src/views/device/gather/index.vue

@ -170,7 +170,7 @@
<el-table-column label="口径脉冲" align="center" prop="identifyCode" />
<el-table-column label="仪表范围" align="center" prop="mtRange" />
<el-table-column label="倍率" align="center" prop="mtRatio" />
<el-table-column label="保留位数" align="center" prop="mtInitValue" />
<el-table-column label="保留位数" align="center" prop="digits" />
<el-table-column label="数据类型" align="center" prop="dataType">
<template slot-scope="scope">
<dict-tag
@ -180,6 +180,7 @@
</template>
</el-table-column>
<el-table-column label="当前值" align="center" prop="curValue" />
<el-table-column label="当前时间" align="center" prop="curTime" />
<el-table-column label="是否累计" align="center" prop="mtIsSum">
<template slot-scope="scope">
<span v-if="scope.row.mtIsSum === 0"></span>

2
src/views/hotWater/waterControl/index.vue

@ -2,7 +2,7 @@
<div class="app-container" v-loading="loading">
<div class="left-tree">
<!-- el-tree 设置一个固定的高度和滚动条 -->
<div style="height: 750px; overflow-y: auto">
<div style="height: 7.5rem; overflow-y: auto">
<el-tree
ref="tree"
:data="treeData"

57
src/views/hotWater/waterMonitor/index.vue

@ -31,9 +31,9 @@
<div class="base-title">公共信息</div>
<div class="base-height">
<div class="base-li" v-for="(item, index) in baseTable" :key="index">
{{ item.name }}:<span class="deepColor">{{ item.value }}</span
>{{ item.unit }}
</div>
{{ item.name }}:<span class="deepColor">{{ item.value }}</span
>{{ item.unit }}
</div>
</div>
</div>
</div>
@ -660,20 +660,20 @@ export default {
color: #d1d6df;
margin-bottom: 20px;
}
.base-height{
.base-height {
height: 2.02rem;
overflow-y: auto;
.base-li {
margin-bottom: 20px;
.deepColor {
display: inline-block;
margin: 0 10px 0 5px;
color: #20ebfa;
font-weight: bold;
font-size: 18px;
margin-bottom: 20px;
.deepColor {
display: inline-block;
margin: 0 10px 0 5px;
color: #20ebfa;
font-weight: bold;
font-size: 18px;
}
}
}
}
}
}
.right-monitor {
@ -1013,6 +1013,39 @@ export default {
transform: scale(0.7);
}
}
// 2000px
@media (min-width: 2000px) {
.base-mes {
padding: 0.2rem 0.1rem !important;
font-size: 0.16rem !important;
border-radius: 0.06rem !important;
.base-title {
font-size: 0.18rem !important;
margin-bottom: 0.2rem !important;
}
.base-height {
height: 2.02rem !important;
.base-li {
margin-bottom: 0.2rem !important;
.deepColor {
margin: 0 0.1rem 0 0.05rem !important;
font-size: 0.18rem !important;
}
}
}
}
.changecontent {
border-radius:0.06rem !important;
height: 3rem !important;
padding: 0.15rem 0.1rem 0 0.1rem !important;
margin-top: 0.3rem !important;
.tablemaeta {
font-size: 0.18rem !important;
margin-bottom: 0.2rem !important;
}
}
}
</style>
<style scoped>
/* 自定义高亮颜色 */

13
src/views/temSys/temHistory/index.vue

@ -0,0 +1,13 @@
<template>
<div>历史数据</div>
</template>
<script>
export default {
}
</script>
<style>
</style>

153
src/views/temSys/temMonitor/index.vue

@ -30,25 +30,54 @@
</div>
<div class="right-monitor">
<div class="buildingDiv">
<img
class="title-bg"
src="../../../assets/images/title-bg.png"
alt=""
/>
<div class="title-word">位置{{ currentName }}</div>
<div class="buildingDiv-left">
<img
class="title-bg"
src="../../../assets/images/title-bg.png"
alt=""
/>
<div class="title-word">位置{{ currentName }}</div>
</div>
<div class="buildingDiv-right">
<div class="wanrn-li">
<i class="el-icon-message-solid" style="color: #fe9805"></i>
<span>高温报警:</span>
<span class="red-text">{{ warningData }}</span>
</div>
<div class="wanrn-li">
<i class="el-icon-message-solid" style="color: #fa260a"></i>
<span>离线设备:</span>
<span class="gray-text">{{ offlineData }}</span>
</div>
</div>
</div>
<div class="tem-data">
<div class="tem-li" v-for="(item, index) in tableData" :key="index">
<div class="temli-top">
<div class="temli-title">{{ item.houseName }}</div>
<div>
<div class="temli-title">{{ item.houseName }}</div>
</div>
<div class="top-right">
<!-- 可能有报警的img -->
<!-- 可能有高温报警的img -->
<img
v-if="getDeviceWarning(item.deviceList, '12')"
src="../../../assets/images/warning.png"
class="warning-img"
alt=""
/>
<!-- 在线状态 -->
<img
src="../../../assets/images/online.png"
class="online"
alt=""
v-if="getDevicStatus(item.deviceList, '12')"
/>
<img
src="../../../assets/images/offline.png"
class="online"
alt=""
v-else
/>
<!-- 详情 -->
<div
class="details"
@ -75,7 +104,7 @@
<img
v-else
class="tem-img"
src="../../../assets/images/tem-warning.png"
src="../../../assets/images/tem-normal.png"
alt=""
/>
<div class="tem-middle">
@ -154,22 +183,11 @@ export default {
openDialog: false,
chartInstance: null,
option: {},
chartData1: [8, 3, 5, 7, 8, 10, 4, 5, 12, 13, 10, 18],
chartData2: [7, 4, 5, 6.2, 7, 9, 3, 6, 13, 11, 9, 20],
bottomData: [
"1月",
"2月",
"3月",
"4月",
"5月",
"6月",
"7月",
"8月",
"9月",
"10月",
"11月",
"12月",
],
chartData1: [],
chartData2: [],
bottomData: [],
warningData: 0,
offlineData: 0,
};
},
mounted() {
@ -318,10 +336,25 @@ export default {
};
temList(data).then((res) => {
console.log("温度返回", res);
this.warningData = 0;
this.offlineData = 0;
if (res.code == 200) {
this.tableData = res.rows;
// 线
this.tableData.forEach((item) => {
item.deviceList.forEach((device) => {
if (device.alarmStatus === 1) {
this.warningData++;
}
if (device.status !== 0) {
this.offlineData++;
}
});
});
} else {
this.tableData = [];
this.warningData = 0;
this.offlineData = 0;
}
});
},
@ -329,13 +362,25 @@ export default {
let obj = deviceList.find((device) => device.paramType === paramType);
return obj;
},
//
getDeviceWarning(deviceList, paramType) {
console.log("deviceList", deviceList);
// console.log("deviceList", deviceList);
return deviceList.some((item) => {
console.log("item.paramType", item.paramType);
console.log("item.alarmStatus", item.alarmStatus);
// console.log("item.paramType", item.paramType);
// console.log("item.alarmStatus", item.alarmStatus);
if (item.paramType === paramType && item.alarmStatus === 1) {
console.log("返回true了呀");
// console.log("true");
return true;
}
return false;
});
},
// 线
getDevicStatus(deviceList, paramType) {
// console.log("线deviceList", deviceList);
return deviceList.some((item) => {
if (item.paramType === paramType && item.status === 0) {
// console.log("true");
return true;
}
return false;
@ -361,7 +406,7 @@ export default {
this.chartData1 = [];
this.chartData2 = [];
this.bottomData = [];
console.log("data",data)
console.log("data", data);
data.forEach((item) => {
// chartData1
const value1 =
@ -612,6 +657,7 @@ export default {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
margin-bottom: 20px;
position: relative;
.title-bg {
@ -628,16 +674,48 @@ export default {
color: #ffffff;
white-space: nowrap;
}
.buildingDiv-right {
display: flex;
flex-direction: row;
align-items: center;
margin-right: 20px;
color: #c7dbe6;
font-size: 18px;
.wanrn-li {
display: flex;
flex-direction: row;
align-items: center;
margin-right: 50px;
.el-icon-message-solid {
margin-right: 3px;
}
.red-text {
color: #fe9805;
font-size: 20px;
font-weight: bold;
margin-left: 5px;
}
.gray-text {
color: #fa260a;
font-size: 20px;
font-weight: bold;
margin-left: 5px;
}
}
}
}
.tem-data {
width: 100%;
display: flex;
flex-direction: row;
flex-wrap: wrap;
height: 800px;
overflow-y: auto;
.tem-li {
display: flex;
flex-direction: column;
width: calc(33.33% - 20px);
height: 255px;
background-image: url(../../././../assets/images/border-7.png);
background-size: 100% 100%;
background-repeat: no-repeat;
@ -657,6 +735,15 @@ export default {
display: flex;
flex-direction: row;
align-items: center;
.online {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
margin: 0 15px 0 0;
width: 25px;
height: 18px;
}
}
}
.temli-title {
@ -669,9 +756,9 @@ export default {
margin-left: 7px;
}
.warning-img {
width: 40px;
height: 40px;
margin-right: 20px;
width: 35px;
height: 35px;
margin-right: 10px;
/* 添加闪烁动画 */
animation: blink 1s infinite;
}

Loading…
Cancel
Save