|
@ -81,17 +81,18 @@ |
|
|
<div |
|
|
<div |
|
|
style="position: absolute; z-index: 2" |
|
|
style="position: absolute; z-index: 2" |
|
|
:style="{ |
|
|
:style="{ |
|
|
left: 'calc(' + item.styleText.left + (item.lineType === 1 ? ' - 13%)' : ' - 13.3%)'), |
|
|
left: 'calc(' + item.styleText.left + (item.lineType === 1 ? ' - 12.8%)' : ' - 13%)'), |
|
|
bottom: |
|
|
bottom: |
|
|
'calc(' + item.styleText.bottom + (item.lineType === 1 ? ' + 8.1%)' : ' - 14%)'), |
|
|
'calc(' + item.styleText.bottom + (item.lineType === 1 ? ' + 7%)' : ' - 14%)'), |
|
|
}"> |
|
|
}"> |
|
|
<doubleSingleModel :dataSource="item" /> |
|
|
<doubleSingleModel :dataSource="item" /> |
|
|
</div> |
|
|
</div> |
|
|
<img |
|
|
<img |
|
|
style="width: 50px; height: 75px; position: absolute" |
|
|
style="width: 50px; height: 75px; position: absolute" |
|
|
:style="{ |
|
|
:style="{ |
|
|
left: 'calc(' + item.styleText.left + (item.lineType === 1 ? ' - 1.5%)' : ' - 2%)'), |
|
|
left: 'calc(' + item.styleText.left + (item.lineType === 1 ? ' - 1.5%)' : ' - 1.8%)'), |
|
|
bottom: 'calc(' + item.styleText.bottom + (item.lineType === 1 ? ' + 4%)' : ' - 9%)'), |
|
|
bottom: |
|
|
|
|
|
'calc(' + item.styleText.bottom + (item.lineType === 1 ? ' + 4.5%)' : ' - 9%)'), |
|
|
transform: item.lineType === 1 ? 'rotateY(180deg)' : 'rotate(180deg)', |
|
|
transform: item.lineType === 1 ? 'rotateY(180deg)' : 'rotate(180deg)', |
|
|
}" |
|
|
}" |
|
|
src="../image/liftState/lift/line.png" /> |
|
|
src="../image/liftState/lift/line.png" /> |
|
@ -115,12 +116,12 @@ |
|
|
ref="conditioningModels" |
|
|
ref="conditioningModels" |
|
|
@selectConditioningData="selectConditioningData" /> |
|
|
@selectConditioningData="selectConditioningData" /> |
|
|
</a-drawer> |
|
|
</a-drawer> |
|
|
<!-- 空调箱 顶部详情 --> |
|
|
<!-- 空调箱 顶部详情 现阶段没有数据 先隐藏掉 --> |
|
|
<transition name="zep"> |
|
|
<transition name="zep"> |
|
|
<div |
|
|
<div |
|
|
v-if="selectIndex === 3 && selectConditioning && selectConditioning?.title" |
|
|
v-if="selectIndex === 3 && selectConditioning && selectConditioning?.title && false" |
|
|
class="newTrend-box"> |
|
|
class="newTrend-box"> |
|
|
<newTreedBox :selectConditioning="selectConditioning" /> |
|
|
<conditioningBox :selectConditioning="selectConditioning" /> |
|
|
</div> |
|
|
</div> |
|
|
</transition> |
|
|
</transition> |
|
|
<!-- 地暖 --> |
|
|
<!-- 地暖 --> |
|
@ -183,7 +184,7 @@ |
|
|
import doubleSingleModel from '../components/doubleSingleModel.vue'; |
|
|
import doubleSingleModel from '../components/doubleSingleModel.vue'; |
|
|
import newTrendModel from './components/newTrendModel.vue'; |
|
|
import newTrendModel from './components/newTrendModel.vue'; |
|
|
import conditioningModel from './components/conditioningModel.vue'; |
|
|
import conditioningModel from './components/conditioningModel.vue'; |
|
|
import newTreedBox from './components/newTreedBox.vue'; |
|
|
import conditioningBox from './components/conditioningBox.vue'; |
|
|
import floorHeatingModel from './components/floorHeatingModel.vue'; |
|
|
import floorHeatingModel from './components/floorHeatingModel.vue'; |
|
|
import { http } from '/nerv-lib/util/http'; |
|
|
import { http } from '/nerv-lib/util/http'; |
|
|
import { ventilating } from '/@/api/ventilatingSystem'; |
|
|
import { ventilating } from '/@/api/ventilatingSystem'; |
|
@ -192,7 +193,12 @@ |
|
|
// 全局变量 |
|
|
// 全局变量 |
|
|
import { items } from '/@/store/item'; |
|
|
import { items } from '/@/store/item'; |
|
|
// 定位数据 |
|
|
// 定位数据 |
|
|
import { devicePosition, newTrendPosition } from './devicePosition'; |
|
|
import { |
|
|
|
|
|
devicePosition, |
|
|
|
|
|
newTrendPosition, |
|
|
|
|
|
airConditioningPosition, |
|
|
|
|
|
floorHeatingPosition, |
|
|
|
|
|
} from './devicePosition'; |
|
|
// 全局变量 |
|
|
// 全局变量 |
|
|
const state = items(); |
|
|
const state = items(); |
|
|
onMounted(() => {}); |
|
|
onMounted(() => {}); |
|
@ -457,7 +463,6 @@ |
|
|
siteId: state.siteId, |
|
|
siteId: state.siteId, |
|
|
}) |
|
|
}) |
|
|
.then((res) => { |
|
|
.then((res) => { |
|
|
console.log(res); |
|
|
|
|
|
if (res.msg === 'success') { |
|
|
if (res.msg === 'success') { |
|
|
res.data.forEach((item: any, index: number) => { |
|
|
res.data.forEach((item: any, index: number) => { |
|
|
newTrend.value.push({ |
|
|
newTrend.value.push({ |
|
@ -473,13 +478,69 @@ |
|
|
} |
|
|
} |
|
|
}); |
|
|
}); |
|
|
}; |
|
|
}; |
|
|
//实时获取数据 暂定一分钟 |
|
|
const getAcBoxCtrlList = () => { |
|
|
const intervalId = setInterval(getSensorData, 60000); |
|
|
conditioningData.value = []; |
|
|
onMounted(() => { |
|
|
http |
|
|
//获取传感器数据 |
|
|
.get(airConditioningSystemApi.getAcBoxCtrlList, { |
|
|
|
|
|
projectId: state.projectId, |
|
|
|
|
|
siteId: state.siteId, |
|
|
|
|
|
}) |
|
|
|
|
|
.then((res) => { |
|
|
|
|
|
if (res.msg === 'success') { |
|
|
|
|
|
res.data.forEach((item: any, index: number) => { |
|
|
|
|
|
conditioningData.value.push({ |
|
|
|
|
|
title: item.deviceInfoName, |
|
|
|
|
|
styleText: airConditioningPosition[index].styleText, |
|
|
|
|
|
type: '空调箱', |
|
|
|
|
|
numberUnit: item.record.tempUnit, |
|
|
|
|
|
lineType: airConditioningPosition[index].lineType, |
|
|
|
|
|
number: item.record.temp, |
|
|
|
|
|
url: freshAir, |
|
|
|
|
|
state: item.record.switchStatus.value, |
|
|
|
|
|
...item.record, |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
}; |
|
|
|
|
|
const getTempSysCtrlList = () => { |
|
|
|
|
|
floorHeatingData.value = []; |
|
|
|
|
|
http |
|
|
|
|
|
.get(airConditioningSystemApi.getTempSysCtrlList, { |
|
|
|
|
|
projectId: state.projectId, |
|
|
|
|
|
siteId: state.siteId, |
|
|
|
|
|
}) |
|
|
|
|
|
.then((res) => { |
|
|
|
|
|
console.log(res, '地暖'); |
|
|
|
|
|
if (res.msg === 'success') { |
|
|
|
|
|
res.data.forEach((item: any, index: number) => { |
|
|
|
|
|
floorHeatingData.value.push({ |
|
|
|
|
|
title: item.deviceInfoName, |
|
|
|
|
|
styleText: floorHeatingPosition[index].styleText, |
|
|
|
|
|
type: '地暖', |
|
|
|
|
|
number: item.record.temp, |
|
|
|
|
|
numberUnit: item.record.tempUnit, |
|
|
|
|
|
lineType: floorHeatingPosition[index].lineType, |
|
|
|
|
|
...item.record, |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
}; |
|
|
|
|
|
const fetchData = () => { |
|
|
|
|
|
//传感器 |
|
|
getSensorData(); |
|
|
getSensorData(); |
|
|
//获取新风主机 |
|
|
//新风主机 |
|
|
getnewTrendData(); |
|
|
getnewTrendData(); |
|
|
|
|
|
//获取空调箱 |
|
|
|
|
|
getAcBoxCtrlList(); |
|
|
|
|
|
//获取地暖 |
|
|
|
|
|
getTempSysCtrlList(); |
|
|
|
|
|
}; |
|
|
|
|
|
//实时获取数据 暂定一分钟 |
|
|
|
|
|
const intervalId = setInterval(fetchData, 60000); |
|
|
|
|
|
onMounted(() => { |
|
|
|
|
|
fetchData(); |
|
|
}); |
|
|
}); |
|
|
onUnmounted(() => { |
|
|
onUnmounted(() => { |
|
|
clearInterval(intervalId); |
|
|
clearInterval(intervalId); |
|
|