fix:冷热源对接接口
This commit is contained in:
10
hx-ai-intelligent/src/api/coldAndHeatSources.ts
Normal file
10
hx-ai-intelligent/src/api/coldAndHeatSources.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import { BASE_URL } from './index';
|
||||
|
||||
export enum coldAndHeatSourcesApi {
|
||||
getUserWaterPumpState = `${BASE_URL}/api/tempSysCtrl/getUserWaterPumpState`, // 用户水泵查询最新状态
|
||||
getLandWaterPumpState = `${BASE_URL}/api/tempSysCtrl/getLandWaterPumpState`, // 地源水泵查询最新状态
|
||||
getLandHeatPumpState = `${BASE_URL}/api/tempSysCtrl/getLandHeatPumpState`, //螺旋式地源热泵 - 查询最新状态
|
||||
getEnergyTankState = `${BASE_URL}/api/tempSysCtrl/getEnergyTankState`, //冷热水双蓄储能罐 - 查询最新状态
|
||||
getCoolPumpState = `${BASE_URL}/api/tempSysCtrl/getCoolPumpState`, //释冷泵 - 查询最新状态
|
||||
getAirHeatPumpState = `${BASE_URL}/api/tempSysCtrl/getAirHeatPumpState`, //空气源热泵 - 查询最新状态
|
||||
}
|
@@ -17,16 +17,40 @@
|
||||
{{ item.deviceInfoName }}
|
||||
</div>
|
||||
<div style="width: 100%; height: 20px">
|
||||
模式: <span style="color: #fff">{{ item.type }}</span>
|
||||
模式: <span style="color: #fff">{{ item.autoStatus.label }}</span>
|
||||
</div>
|
||||
<div style="width: 100%; height: 20px">
|
||||
设定温度: <span style="color: #fff">{{ item.number }}</span>
|
||||
设定温度: <span style="color: #fff">{{ item.temp }} {{ item.tempUnit }}</span>
|
||||
</div>
|
||||
<img
|
||||
style="position: absolute; width: 135px; height: 130px; left: -20px; top: 40px"
|
||||
:src="item.url" />
|
||||
</div>
|
||||
</template>
|
||||
<!-- 空气源 - 传感器 -->
|
||||
<template v-for="(item, index) in airSourceSensor" :key="index">
|
||||
<div
|
||||
style="
|
||||
width: 135px;
|
||||
height: 200px;
|
||||
position: relative;
|
||||
font-size: 12px;
|
||||
position: absolute;
|
||||
color: #ffff80;
|
||||
z-index: 2;
|
||||
"
|
||||
:style="{ left: item.style.mLeft, bottom: item.style.mBottom }">
|
||||
<div style="width: 100%; height: 20px">
|
||||
出水温度: <span style="color: #fff">{{ item.temp }} {{ item.tempUnit }}</span>
|
||||
</div>
|
||||
<div style="width: 100%; height: 20px">
|
||||
流量: <span style="color: #fff">{{ item.traffic }} {{ item.trafficUnit }}</span>
|
||||
</div>
|
||||
<img
|
||||
style="position: absolute; width: 28px; height: 28px; left: -20px; top: 40px"
|
||||
:src="item.url" />
|
||||
</div>
|
||||
</template>
|
||||
<!-- 水泵 -->
|
||||
<div
|
||||
style="
|
||||
@@ -37,7 +61,7 @@
|
||||
bottom: 50%;
|
||||
position: absolute;
|
||||
">
|
||||
<a-switch
|
||||
<!-- <a-switch
|
||||
:checked="selectAllCheckbox === 1 ? true : false"
|
||||
size="small"
|
||||
:disabled="true"
|
||||
@@ -46,10 +70,34 @@
|
||||
'blue-background': selectAllCheckbox === 1 ? true : false,
|
||||
'grey-background': selectAllCheckbox === 1 ? false : true,
|
||||
}"
|
||||
@change="toggleAllSelection" />
|
||||
@change="toggleAllSelection" /> -->
|
||||
<img style="display: flex; width: 111px; height: 100px" :src="waterPumpSrc" />
|
||||
<div style="width: 100%; height: 20px; color: rgb(128, 255, 255)"> 水泵 </div>
|
||||
</div>
|
||||
<!-- 水泵 传感器 -->
|
||||
<template v-for="(item, index) in waterSensor" :key="index">
|
||||
<div
|
||||
style="
|
||||
width: 135px;
|
||||
height: 200px;
|
||||
position: relative;
|
||||
font-size: 12px;
|
||||
position: absolute;
|
||||
color: #ffff80;
|
||||
z-index: 2;
|
||||
"
|
||||
:style="{ left: item.style.mLeft, bottom: item.style.mBottom }">
|
||||
<div style="width: 100%; height: 20px">
|
||||
温度: <span style="color: #fff">{{ item.temp }} {{ item.tempUnit }}</span>
|
||||
</div>
|
||||
<div style="width: 100%; height: 20px">
|
||||
流量: <span style="color: #fff">{{ item.traffic }} {{ item.trafficUnit }}</span>
|
||||
</div>
|
||||
<img
|
||||
style="position: absolute; width: 28px; height: 28px; left: -20px; top: 40px"
|
||||
:src="item.url" />
|
||||
</div>
|
||||
</template>
|
||||
<!-- 螺杆式地源热泵 -->
|
||||
<template v-for="(item, index) in screwGeothermalHeatPump" :key="index">
|
||||
<div
|
||||
@@ -70,10 +118,10 @@
|
||||
{{ item.deviceInfoName }}
|
||||
</div>
|
||||
<div style="width: 100%; height: 20px">
|
||||
模式: <span style="color: #fff">{{ item.type }}</span>
|
||||
模式: <span style="color: #fff">{{ item.autoStatus.label }}</span>
|
||||
</div>
|
||||
<div style="width: 100%; height: 20px">
|
||||
设定温度: <span style="color: #fff">{{ item.number }}</span>
|
||||
设定温度: <span style="color: #fff">{{ item.temp }} {{ item.tempUnit }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -90,15 +138,17 @@
|
||||
z-index: 2;
|
||||
"
|
||||
:style="{ left: item.style.mLeft, bottom: item.style.mBottom }">
|
||||
<div style="width: 100%; height: 20px; color: rgb(128, 255, 255)">
|
||||
<div
|
||||
style="
|
||||
width: 100%;
|
||||
height: 20px;
|
||||
color: rgb(128, 255, 255);
|
||||
position: absolute;
|
||||
top: 40px;
|
||||
left: 5px;
|
||||
">
|
||||
{{ item.deviceInfoName }}
|
||||
</div>
|
||||
<div style="width: 100%; height: 20px">
|
||||
出水温度: <span style="color: #fff">{{ item.number }}</span>
|
||||
</div>
|
||||
<div style="width: 100%; height: 20px">
|
||||
流量: <span style="color: #fff">{{ item.lNumber }}</span>
|
||||
</div>
|
||||
<img
|
||||
style="position: absolute; width: 117.42px; height: 106.31px; left: -20px; top: 60px"
|
||||
:src="item.url" />
|
||||
@@ -117,17 +167,14 @@
|
||||
z-index: 2;
|
||||
"
|
||||
:style="{ left: item.style.mLeft, bottom: item.style.mBottom }">
|
||||
<div style="width: 100%; height: 20px; color: rgb(128, 255, 255)">
|
||||
<div style="width: 100%; height: 20px; color: rgb(128, 255, 255); margin-top: 20px">
|
||||
{{ item.deviceInfoName }}
|
||||
</div>
|
||||
<div style="width: 100%; height: 20px">
|
||||
出水温度: <span style="color: #fff">{{ item.number }}</span>
|
||||
出水温度: <span style="color: #fff">{{ item.temp }} {{ item.tempUnit }}</span>
|
||||
</div>
|
||||
<div style="width: 100%; height: 20px">
|
||||
容量: <span style="color: #fff">{{ item.rNumber }}</span>
|
||||
</div>
|
||||
<div style="width: 100%; height: 20px">
|
||||
流量: <span style="color: #fff">{{ item.lNumber }}</span>
|
||||
容量: <span style="color: #fff">{{ item.vol }} {{ item.volUnit }}</span>
|
||||
</div>
|
||||
<img
|
||||
style="position: absolute; width: 110px; height: 110px; left: -20px; top: 80px"
|
||||
@@ -146,13 +193,13 @@
|
||||
"
|
||||
:style="{ left: item.style.mLeft, bottom: item.style.mBottom }">
|
||||
<a-switch
|
||||
:checked="item.user === 1 ? true : false"
|
||||
:checked="item.switchStatus.value === 1 ? true : false"
|
||||
size="small"
|
||||
:disabled="true"
|
||||
style="position: absolute; left: 30px; bottom: 0px; z-index: 2"
|
||||
:class="{
|
||||
'blue-background': item.user === 1 ? true : false,
|
||||
'grey-background': item.user === 1 ? false : true,
|
||||
'blue-background': item.switchStatus.value === 1 ? true : false,
|
||||
'grey-background': item.switchStatus.value === 1 ? false : true,
|
||||
}" />
|
||||
<img
|
||||
style="
|
||||
@@ -168,7 +215,7 @@
|
||||
font-size: 12px;
|
||||
position: absolute;
|
||||
left: -40px;
|
||||
top: 30px;
|
||||
top: 40px;
|
||||
transform: rotateZ(-24deg);
|
||||
"
|
||||
>{{ item.deviceInfoName }}</div
|
||||
@@ -192,21 +239,43 @@
|
||||
style="width: 226.19px; height: 176.19px; transform: rotateY(13deg)"
|
||||
:src="manifoldSrc" />
|
||||
</div>
|
||||
<!-- 集水器 传感器 -->
|
||||
<template v-for="(item, index) in manifoldSensor" :key="index">
|
||||
<div
|
||||
style="
|
||||
width: 135px;
|
||||
height: 200px;
|
||||
position: relative;
|
||||
font-size: 12px;
|
||||
position: absolute;
|
||||
color: #ffff80;
|
||||
z-index: 2;
|
||||
"
|
||||
:style="{ left: item.style.mLeft, bottom: item.style.mBottom }">
|
||||
<div style="width: 100%; height: 20px">
|
||||
回水温度: <span style="color: #fff">{{ item.temp }} {{ item.tempUnit }}</span>
|
||||
</div>
|
||||
<div style="width: 100%; height: 20px">
|
||||
流量: <span style="color: #fff">{{ item.traffic }} {{ item.trafficUnit }}</span>
|
||||
</div>
|
||||
<img
|
||||
style="
|
||||
position: absolute;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
left: -20px;
|
||||
top: 40px;
|
||||
transform: rotateX(-4deg) rotateY(180deg) rotateZ(1deg);
|
||||
"
|
||||
:src="item.url" />
|
||||
</div>
|
||||
</template>
|
||||
<!-- 定压补水装置 -->
|
||||
<template v-for="(item, index) in pressureWater" :key="index">
|
||||
<div
|
||||
style="width: 137px; height: 137px; position: relative; position: absolute; z-index: 2"
|
||||
:style="{ left: item.style.mLeft, bottom: item.style.mBottom }">
|
||||
<img style="width: 137px; height: 127px; transform: rotateY(157deg)" :src="item.url" />
|
||||
<a-switch
|
||||
:checked="item.user === 1 ? true : false"
|
||||
size="small"
|
||||
:disabled="true"
|
||||
style="position: absolute; left: 40px; bottom: 0px"
|
||||
:class="{
|
||||
'blue-background': item.user === 1 ? true : false,
|
||||
'grey-background': item.user === 1 ? false : true,
|
||||
}" />
|
||||
<div
|
||||
style="
|
||||
width: 100%;
|
||||
@@ -217,9 +286,6 @@
|
||||
font-size: 12px;
|
||||
">
|
||||
<div> {{ item.deviceInfoName }}</div>
|
||||
<div style="width: 100%; height: 20px; color: #ffff80">
|
||||
压差: <span style="color: #fff">{{ item.yc }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -294,13 +360,13 @@
|
||||
"
|
||||
:style="{ left: item.style.mLeft, bottom: item.style.mBottom }">
|
||||
<a-switch
|
||||
:checked="item.user === 1 ? true : false"
|
||||
:checked="item.switchStatus.value === 1 ? true : false"
|
||||
size="small"
|
||||
:disabled="true"
|
||||
style="position: absolute; left: 30px; bottom: 0px; z-index: 2"
|
||||
:class="{
|
||||
'blue-background': item.user === 1 ? true : false,
|
||||
'grey-background': item.user === 1 ? false : true,
|
||||
'blue-background': item.switchStatus.value === 1 ? true : false,
|
||||
'grey-background': item.switchStatus.value === 1 ? false : true,
|
||||
}" />
|
||||
<img
|
||||
style="
|
||||
@@ -356,6 +422,30 @@
|
||||
>
|
||||
<img style="width: 290.75px; height: 215.29px" :src="soilCouplerSrc" />
|
||||
</div>
|
||||
<!-- 土壤 传感器 -->
|
||||
<template v-for="(item, index) in soilCouplerSensor" :key="index">
|
||||
<div
|
||||
style="
|
||||
width: 135px;
|
||||
height: 80px;
|
||||
position: relative;
|
||||
font-size: 12px;
|
||||
position: absolute;
|
||||
color: #ffff80;
|
||||
z-index: 2;
|
||||
"
|
||||
:style="{ left: item.style.mLeft, bottom: item.style.mBottom }">
|
||||
<div style="width: 100%; height: 20px">
|
||||
供水温度: <span style="color: #fff">{{ item.temp }} {{ item.tempUnit }}</span>
|
||||
</div>
|
||||
<div style="width: 100%; height: 20px">
|
||||
流量: <span style="color: #fff">{{ item.traffic }} {{ item.trafficUnit }}</span>
|
||||
</div>
|
||||
<img
|
||||
style="position: absolute; width: 28px; height: 28px; left: -20px; top: 40px"
|
||||
:src="item.url" />
|
||||
</div>
|
||||
</template>
|
||||
<!-- 线 -->
|
||||
<template v-for="(item, index) in line" :key="index">
|
||||
<div
|
||||
@@ -370,11 +460,27 @@
|
||||
}">
|
||||
</div>
|
||||
</template>
|
||||
<!-- 箭头 -->
|
||||
<template v-for="(item, index) in arrow" :key="index">
|
||||
<div
|
||||
style="width: 50px; height: 20px; position: absolute"
|
||||
:style="{
|
||||
left: item.style.mLeft,
|
||||
bottom: item.style.mBottom,
|
||||
transform: item.style.transform,
|
||||
}">
|
||||
<img style="width: 50px; height: 20px" :src="item.url" />
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, onMounted, onUnmounted } from 'vue';
|
||||
import { http } from '/nerv-lib/util';
|
||||
import { coldAndHeatSourcesApi } from '/@/api/coldAndHeatSources';
|
||||
import { ventilating } from '/@/api/ventilatingSystem';
|
||||
|
||||
//图片资源
|
||||
import airSourceThermalCollapseSrc from '../image/coldAndHeatSources/airSourceThermalCollapse.png';
|
||||
import waterPumpSrc from '../image/coldAndHeatSources/waterPump.png';
|
||||
@@ -386,10 +492,24 @@
|
||||
import softenedWaterTankSrc from '../image/coldAndHeatSources/softenedWaterTank.png';
|
||||
import waterProcessorSrc from '../image/coldAndHeatSources/waterProcessor.png';
|
||||
import soilCouplerSrc from '../image/coldAndHeatSources/soilCoupler.png';
|
||||
import sensorSrc from '../image/coldAndHeatSources/sensor.png';
|
||||
import blueGif from '../image/coldAndHeatSources/blue.gif';
|
||||
import bluePng from '../image/coldAndHeatSources/blue.png';
|
||||
import greenGif from '../image/coldAndHeatSources/green.gif';
|
||||
import greenPng from '../image/coldAndHeatSources/green.png';
|
||||
import arrowSrc from '../image/coldAndHeatSources/arrow.svg';
|
||||
// 定位数据
|
||||
import {
|
||||
userWaterPumpPosition,
|
||||
waterPumpPosition,
|
||||
airSourceThermalCollapsePosition,
|
||||
screwGeothermalHeatPumpPosition,
|
||||
airSourceSensorPosition,
|
||||
} from './position';
|
||||
// 全局变量
|
||||
import { items } from '/@/store/item';
|
||||
// 全局变量
|
||||
const state = items();
|
||||
const line = ref([
|
||||
//水泵线-热泵
|
||||
{
|
||||
@@ -757,77 +877,13 @@
|
||||
},
|
||||
},
|
||||
]);
|
||||
const airSourceThermalCollapse = ref([
|
||||
{
|
||||
deviceInfoName: '1#空气源热泵',
|
||||
type: '制热',
|
||||
number: '40℃',
|
||||
style: {
|
||||
mLeft: '17%',
|
||||
mBottom: '54%',
|
||||
},
|
||||
url: airSourceThermalCollapseSrc,
|
||||
},
|
||||
{
|
||||
deviceInfoName: '2#空气源热泵',
|
||||
type: '制热',
|
||||
number: '40℃',
|
||||
style: {
|
||||
mLeft: '24%',
|
||||
mBottom: '59%',
|
||||
},
|
||||
url: airSourceThermalCollapseSrc,
|
||||
},
|
||||
{
|
||||
deviceInfoName: '3#空气源热泵',
|
||||
type: '制热',
|
||||
number: '40℃',
|
||||
style: {
|
||||
mLeft: '31%',
|
||||
mBottom: '66%',
|
||||
},
|
||||
url: airSourceThermalCollapseSrc,
|
||||
},
|
||||
{
|
||||
deviceInfoName: '4#空气源热泵',
|
||||
type: '制热',
|
||||
number: '40℃',
|
||||
style: {
|
||||
mLeft: '38%',
|
||||
mBottom: '73%',
|
||||
},
|
||||
url: airSourceThermalCollapseSrc,
|
||||
},
|
||||
]);
|
||||
const airSourceThermalCollapse = ref([]);
|
||||
//螺杆式地源热泵
|
||||
const screwGeothermalHeatPump = ref([
|
||||
{
|
||||
deviceInfoName: '1#螺杆式地源热泵',
|
||||
type: '制热',
|
||||
number: '40℃',
|
||||
style: {
|
||||
mLeft: '9.5%',
|
||||
mBottom: '22.5%',
|
||||
},
|
||||
url: screwGeothermalHeatPumpSrc,
|
||||
},
|
||||
{
|
||||
deviceInfoName: '2#螺杆式地源热泵',
|
||||
type: '制热',
|
||||
number: '40℃',
|
||||
style: {
|
||||
mLeft: '18.5%',
|
||||
mBottom: '31.5%',
|
||||
},
|
||||
url: screwGeothermalHeatPumpSrc,
|
||||
},
|
||||
]);
|
||||
const screwGeothermalHeatPump = ref([]);
|
||||
//稀冷泵
|
||||
const diluteCoolingPump = ref([
|
||||
{
|
||||
deviceInfoName: '稀冷泵',
|
||||
number: '40℃',
|
||||
lNumber: '139 m3/h',
|
||||
style: {
|
||||
mLeft: '30%',
|
||||
mBottom: '29%',
|
||||
@@ -836,85 +892,11 @@
|
||||
},
|
||||
]);
|
||||
//冷热水双蓄储能罐
|
||||
const coldWater = ref([
|
||||
{
|
||||
deviceInfoName: '冷热水双蓄储能罐',
|
||||
number: '40℃',
|
||||
lNumber: '139 m3/h',
|
||||
rNumber: '135L',
|
||||
style: {
|
||||
mLeft: '36%',
|
||||
mBottom: '39%',
|
||||
},
|
||||
url: coldWaterSrc,
|
||||
},
|
||||
]);
|
||||
const coldWater = ref([]);
|
||||
//用户水泵
|
||||
const userWaterPump = ref([
|
||||
{
|
||||
deviceInfoName: '1#用户水泵',
|
||||
number: '40℃',
|
||||
user: 1,
|
||||
style: {
|
||||
mLeft: '50%',
|
||||
mBottom: '55.5%',
|
||||
},
|
||||
url: waterPumpSrc,
|
||||
},
|
||||
{
|
||||
deviceInfoName: '2#用户水泵',
|
||||
number: '40℃',
|
||||
user: 1,
|
||||
style: {
|
||||
mLeft: '55%',
|
||||
mBottom: '51%',
|
||||
},
|
||||
url: waterPumpSrc,
|
||||
},
|
||||
{
|
||||
deviceInfoName: '3#用户水泵',
|
||||
number: '40℃',
|
||||
user: 1,
|
||||
style: {
|
||||
mLeft: '59%',
|
||||
mBottom: '47%',
|
||||
},
|
||||
url: waterPumpSrc,
|
||||
},
|
||||
]);
|
||||
const userWaterPump = ref([]);
|
||||
//地源水泵
|
||||
const waterPump = ref([
|
||||
{
|
||||
deviceInfoName: '1#地源水泵',
|
||||
number: '40℃',
|
||||
user: 1,
|
||||
style: {
|
||||
mLeft: '65%',
|
||||
mBottom: '41%',
|
||||
},
|
||||
url: waterPumpSrc,
|
||||
},
|
||||
{
|
||||
deviceInfoName: '2#地源水泵',
|
||||
number: '40℃',
|
||||
user: 1,
|
||||
style: {
|
||||
mLeft: '70%',
|
||||
mBottom: '36%',
|
||||
},
|
||||
url: waterPumpSrc,
|
||||
},
|
||||
{
|
||||
deviceInfoName: '3#地源水泵',
|
||||
number: '40℃',
|
||||
user: 1,
|
||||
style: {
|
||||
mLeft: '75%',
|
||||
mBottom: '31%',
|
||||
},
|
||||
url: waterPumpSrc,
|
||||
},
|
||||
]);
|
||||
const waterPump = ref([]);
|
||||
// 定压补水装置
|
||||
const pressureWater = ref([
|
||||
{
|
||||
@@ -928,9 +910,242 @@
|
||||
url: pressureWaterSrc,
|
||||
},
|
||||
]);
|
||||
const selectAllCheckbox = ref(1);
|
||||
onMounted(() => {});
|
||||
onUnmounted(() => {});
|
||||
//水泵 - 螺杆式 传感器
|
||||
const waterSensor = ref([]);
|
||||
//集水器 传感器
|
||||
const manifoldSensor = ref([]);
|
||||
//土壤 传感器
|
||||
const soilCouplerSensor = ref([]);
|
||||
//空气源 - 传感器
|
||||
const airSourceSensor = ref([]);
|
||||
//箭头
|
||||
const arrow = ref([
|
||||
{
|
||||
url: arrowSrc,
|
||||
style: {
|
||||
mLeft: '6%',
|
||||
mBottom: '42.5%',
|
||||
transform: 'rotateZ(36deg)',
|
||||
},
|
||||
},
|
||||
{
|
||||
url: arrowSrc,
|
||||
style: {
|
||||
mLeft: '25%',
|
||||
mBottom: '18%',
|
||||
transform: 'rotateZ(36deg)',
|
||||
},
|
||||
},
|
||||
{
|
||||
url: arrowSrc,
|
||||
style: {
|
||||
mLeft: '76%',
|
||||
mBottom: '13%',
|
||||
transform: 'rotateZ(37deg)',
|
||||
},
|
||||
},
|
||||
{
|
||||
url: arrowSrc,
|
||||
style: {
|
||||
mLeft: '78%',
|
||||
mBottom: '72%',
|
||||
transform: 'rotateZ(149deg)',
|
||||
},
|
||||
},
|
||||
]);
|
||||
|
||||
//获取用户水泵数据
|
||||
const getUserWaterPump = () => {
|
||||
http
|
||||
.get(coldAndHeatSourcesApi.getUserWaterPumpState, {
|
||||
projectId: state.projectId,
|
||||
siteId: state.siteId,
|
||||
floor: 1,
|
||||
})
|
||||
.then((res) => {
|
||||
if (res.msg === 'success') {
|
||||
res.data.forEach((item: any, index: any) => {
|
||||
userWaterPump.value.push({
|
||||
deviceInfoName: item.deviceInfoName,
|
||||
...item.record,
|
||||
url: waterPumpSrc,
|
||||
style: userWaterPumpPosition[index].style,
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
//获取地源水泵数据
|
||||
const getLandWaterPumpState = () => {
|
||||
http
|
||||
.get(coldAndHeatSourcesApi.getLandWaterPumpState, {
|
||||
projectId: state.projectId,
|
||||
siteId: state.siteId,
|
||||
floor: 1,
|
||||
})
|
||||
.then((res) => {
|
||||
if (res.msg === 'success') {
|
||||
res.data.forEach((item: any, index: any) => {
|
||||
waterPump.value.push({
|
||||
deviceInfoName: item.deviceInfoName,
|
||||
...item.record,
|
||||
url: waterPumpSrc,
|
||||
style: waterPumpPosition[index].style,
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
//获取空气源热泵
|
||||
const getAirHeatPumpState = () => {
|
||||
http
|
||||
.get(coldAndHeatSourcesApi.getAirHeatPumpState, {
|
||||
projectId: state.projectId,
|
||||
siteId: state.siteId,
|
||||
floor: 1,
|
||||
})
|
||||
.then((res) => {
|
||||
if (res.msg === 'success') {
|
||||
res.data.forEach((item: any, index: any) => {
|
||||
airSourceThermalCollapse.value.push({
|
||||
deviceInfoName: item.deviceInfoName,
|
||||
...item.record,
|
||||
url: airSourceThermalCollapseSrc,
|
||||
style: airSourceThermalCollapsePosition[index].style,
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
//获取螺杆式地源热泵
|
||||
const getLandHeatPumpState = () => {
|
||||
http
|
||||
.get(coldAndHeatSourcesApi.getLandHeatPumpState, {
|
||||
projectId: state.projectId,
|
||||
siteId: state.siteId,
|
||||
floor: 1,
|
||||
})
|
||||
.then((res) => {
|
||||
if (res.msg === 'success') {
|
||||
res.data.forEach((item: any, index: any) => {
|
||||
screwGeothermalHeatPump.value.push({
|
||||
deviceInfoName: item.deviceInfoName,
|
||||
...item.record,
|
||||
url: screwGeothermalHeatPumpSrc,
|
||||
style: screwGeothermalHeatPumpPosition[index].style,
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
//冷热水双蓄储能罐
|
||||
const getEnergyTankState = () => {
|
||||
http
|
||||
.get(coldAndHeatSourcesApi.getEnergyTankState, {
|
||||
projectId: state.projectId,
|
||||
siteId: state.siteId,
|
||||
floor: 1,
|
||||
})
|
||||
.then((res) => {
|
||||
if (res.msg === 'success') {
|
||||
res.data.forEach((item: any) => {
|
||||
coldWater.value.push({
|
||||
deviceInfoName: item.deviceInfoName,
|
||||
...item.record,
|
||||
url: coldWaterSrc,
|
||||
style: {
|
||||
mLeft: '36%',
|
||||
mBottom: '39%',
|
||||
},
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
//获取多功能传感器
|
||||
const getSensorData = () => {
|
||||
waterSensor.value = [];
|
||||
airSourceSensor.value = [];
|
||||
manifoldSensor.value = [];
|
||||
http
|
||||
.get(ventilating.getSensorData, {
|
||||
projectId: state.projectId,
|
||||
siteId: state.siteId,
|
||||
floor: 1,
|
||||
})
|
||||
.then((res) => {
|
||||
if (res.msg === 'success') {
|
||||
res.data.forEach((item: any, index: any) => {
|
||||
if (index < 4) {
|
||||
airSourceSensor.value.push({
|
||||
deviceInfoName: item.deviceInfoName,
|
||||
...item.record,
|
||||
url: sensorSrc,
|
||||
style: airSourceSensorPosition[index].style,
|
||||
});
|
||||
}
|
||||
});
|
||||
// 水泵传感器
|
||||
let data = res.data[Math.floor(Math.random() * res.data.length)];
|
||||
waterSensor.value.push({
|
||||
deviceInfoName: data.deviceInfoName,
|
||||
...data.record,
|
||||
url: sensorSrc,
|
||||
style: {
|
||||
mLeft: '9%',
|
||||
mBottom: '27%',
|
||||
},
|
||||
});
|
||||
// 集水器 -传感器
|
||||
data = res.data[Math.floor(Math.random() * res.data.length)];
|
||||
manifoldSensor.value.push({
|
||||
deviceInfoName: data.deviceInfoName,
|
||||
...data.record,
|
||||
url: sensorSrc,
|
||||
style: {
|
||||
mLeft: '81%',
|
||||
mBottom: '51%',
|
||||
},
|
||||
});
|
||||
// 土壤 -传感器
|
||||
data = res.data[Math.floor(Math.random() * res.data.length)];
|
||||
soilCouplerSensor.value.push({
|
||||
deviceInfoName: data.deviceInfoName,
|
||||
...data.record,
|
||||
url: sensorSrc,
|
||||
style: {
|
||||
mLeft: '79%',
|
||||
mBottom: '13%',
|
||||
},
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
//获取地源水泵设备
|
||||
const getData = () => {
|
||||
//获取用户水泵数据
|
||||
getUserWaterPump();
|
||||
//获取地源水泵数据
|
||||
getLandWaterPumpState();
|
||||
//获取空气源热泵数据
|
||||
getAirHeatPumpState();
|
||||
//螺杆式地源热泵
|
||||
getLandHeatPumpState();
|
||||
//冷热水双蓄储能罐
|
||||
getEnergyTankState();
|
||||
//获取多功能传感器
|
||||
getSensorData();
|
||||
};
|
||||
//定时
|
||||
// const intervalId = setInterval(getList, 60000);
|
||||
onMounted(() => {
|
||||
getData();
|
||||
});
|
||||
onUnmounted(() => {
|
||||
// 这里写销毁时需要执行的逻辑
|
||||
// clearInterval(intervalId);
|
||||
});
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.box-cold {
|
||||
|
@@ -0,0 +1,111 @@
|
||||
//用户水泵位置
|
||||
export const userWaterPumpPosition = [
|
||||
{
|
||||
style: {
|
||||
mLeft: '50%',
|
||||
mBottom: '55.5%',
|
||||
},
|
||||
},
|
||||
{
|
||||
style: {
|
||||
mLeft: '55%',
|
||||
mBottom: '51%',
|
||||
},
|
||||
},
|
||||
{
|
||||
style: {
|
||||
mLeft: '59%',
|
||||
mBottom: '47%',
|
||||
},
|
||||
},
|
||||
];
|
||||
//地源水泵位置
|
||||
export const waterPumpPosition = [
|
||||
{
|
||||
style: {
|
||||
mLeft: '65%',
|
||||
mBottom: '41%',
|
||||
},
|
||||
},
|
||||
{
|
||||
style: {
|
||||
mLeft: '70%',
|
||||
mBottom: '36%',
|
||||
},
|
||||
},
|
||||
{
|
||||
style: {
|
||||
mLeft: '75%',
|
||||
mBottom: '31%',
|
||||
},
|
||||
},
|
||||
];
|
||||
//空气源热泵
|
||||
export const airSourceThermalCollapsePosition = [
|
||||
{
|
||||
style: {
|
||||
mLeft: '17%',
|
||||
mBottom: '54%',
|
||||
},
|
||||
},
|
||||
{
|
||||
style: {
|
||||
mLeft: '24%',
|
||||
mBottom: '59%',
|
||||
},
|
||||
},
|
||||
{
|
||||
style: {
|
||||
mLeft: '31%',
|
||||
mBottom: '66%',
|
||||
},
|
||||
},
|
||||
{
|
||||
style: {
|
||||
mLeft: '38%',
|
||||
mBottom: '73%',
|
||||
},
|
||||
},
|
||||
];
|
||||
//获取螺杆式地源热泵
|
||||
export const screwGeothermalHeatPumpPosition = [
|
||||
{
|
||||
style: {
|
||||
mLeft: '9.5%',
|
||||
mBottom: '22.5%',
|
||||
},
|
||||
},
|
||||
{
|
||||
style: {
|
||||
mLeft: '18.5%',
|
||||
mBottom: '31.5%',
|
||||
},
|
||||
},
|
||||
];
|
||||
// 空气源 - 传感器
|
||||
export const airSourceSensorPosition = [
|
||||
{
|
||||
style: {
|
||||
mLeft: '26.5%',
|
||||
mBottom: '34%',
|
||||
},
|
||||
},
|
||||
{
|
||||
style: {
|
||||
mLeft: '32.5%',
|
||||
mBottom: '39%',
|
||||
},
|
||||
},
|
||||
{
|
||||
style: {
|
||||
mLeft: '38.5%',
|
||||
mBottom: '44.5%',
|
||||
},
|
||||
},
|
||||
{
|
||||
style: {
|
||||
mLeft: '47.5%',
|
||||
mBottom: '52.5%',
|
||||
},
|
||||
},
|
||||
];
|
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="50px" height="22px" xmlns="http://www.w3.org/2000/svg">
|
||||
<g transform="matrix(1 0 0 1 -1191 -569 )">
|
||||
<path d="M 49.73958333333333 7.581274382314695 C 49.91319444444444 7.752925877763329 50 7.972258344169916 50 8.239271781534459 L 50 13.732119635890768 C 50 13.999133073255308 49.91319444444444 14.2184655396619 49.73958333333333 14.390117035110533 C 49.56597222222222 14.561768530559167 49.34413580246914 14.647594278283485 49.074074074074076 14.647594278283485 L 12.962962962962962 14.647594278283485 L 12.962962962962962 21.055916775032507 C 12.962962962962962 21.456436931079324 12.779706790123457 21.732986562635453 12.413194444444445 21.88556566970091 C 12.046682098765434 22.038144776766362 11.709104938271606 21.99046380580841 11.400462962962964 21.742522756827046 L 0.28935185185185186 11.729518855656698 C 0.09645061728395089 11.538794971824878 0 11.31946250541829 0 11.071521456436932 C 0 10.804508019072387 0.09645061728395089 10.575639358474207 0.28935185185185186 10.384915474642392 L 11.400462962962964 0.2574772431729524 C 11.709104938271606 -0.009536194191596348 12.046682098765434 -0.06675335934114024 12.413194444444445 0.08582574772431828 C 12.779706790123457 0.2574772431729524 12.962962962962962 0.5340268747290853 12.962962962962962 0.9154746423927169 L 12.962962962962962 7.3237971391417425 L 49.074074074074076 7.3237971391417425 C 49.34413580246914 7.3237971391417425 49.56597222222222 7.409622886866061 49.73958333333333 7.581274382314695 Z " fill-rule="nonzero" fill="#ffff80" stroke="none" transform="matrix(1 0 0 1 1191 569 )" />
|
||||
</g>
|
||||
</svg>
|
Binary file not shown.
After Width: | Height: | Size: 6.4 KiB |
@@ -9,10 +9,10 @@
|
||||
<div
|
||||
:style="{
|
||||
color: {
|
||||
'0': '#ccc',
|
||||
'1': 'rgba(255, 165, 0, 1)',
|
||||
'2': 'rgb(57, 215, 187)',
|
||||
'3': 'rgb(255, 0, 0)',
|
||||
'4': '#ccc',
|
||||
}[record.executeStatus.value],
|
||||
}">
|
||||
{{ record.executeStatus.label }}</div
|
||||
@@ -36,7 +36,7 @@
|
||||
import { NsMessage } from '/nerv-lib/component';
|
||||
import { getEnum } from '/@/api';
|
||||
import { http } from '/nerv-lib/util';
|
||||
|
||||
import dayjs, { Dayjs } from 'dayjs';
|
||||
//页面 创建
|
||||
const orgId = ref('');
|
||||
const projectId = ref('');
|
||||
@@ -46,6 +46,7 @@
|
||||
projectId.value = results.projectId;
|
||||
const mainRef = ref(null);
|
||||
const modalFormRef = ref(null);
|
||||
|
||||
const addPlan = () => {
|
||||
if (mainRef.value.nsTableRef.treeElRef.selectedRow.node.planLib) {
|
||||
http
|
||||
@@ -69,6 +70,10 @@
|
||||
? record.startTime.substring(0, 10) + ' - ' + record.endTime.substring(0, 10)
|
||||
: '未配置时间';
|
||||
};
|
||||
const disabledDate = (current: Dayjs) => {
|
||||
// Can not select days before today and today
|
||||
return current && current < dayjs().endOf('day');
|
||||
};
|
||||
const nsModalFormConfig = ref({
|
||||
api: planToAddApi.updPlan,
|
||||
data: {},
|
||||
@@ -92,6 +97,7 @@
|
||||
componentProps: {
|
||||
valueFormat: 'YYYY-MM-DD hh:mm:ss',
|
||||
placeholder: ['开始日期', '结束日期'],
|
||||
disabledDate: disabledDate,
|
||||
},
|
||||
rules: [
|
||||
{
|
||||
|
@@ -120,9 +120,9 @@
|
||||
})
|
||||
.then((res) => {
|
||||
treeData.value = transform(get(res, resultField));
|
||||
//默认选择第一个 并刷新列表
|
||||
selectedKeys.value = [];
|
||||
if (formConfig.value.callList && formConfig.value.defaultSelection) {
|
||||
//默认选择第一个 并刷新列表
|
||||
selectedKeys.value = [];
|
||||
handleSelect([treeData.value[0].id], {
|
||||
selected: true,
|
||||
event: 'select',
|
||||
|
Reference in New Issue
Block a user