|
@@ -18,14 +18,21 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="air-right">
|
|
|
- <img v-if="airData.airImg" :src="airData.airImg" alt="" />
|
|
|
- <van-loading style="padding-top: 20px" v-else />
|
|
|
+ <img
|
|
|
+ v-if="airData.isOpen"
|
|
|
+ :src="parseImgUrl('page-officehome', 'openair.png')"
|
|
|
+ alt=""
|
|
|
+ />
|
|
|
+ <img
|
|
|
+ v-else
|
|
|
+ :src="parseImgUrl('page-officehome', 'air_close.png')"
|
|
|
+ alt=""
|
|
|
+ />
|
|
|
+ <!-- <van-loading style="padding-top: 20px" v-else /> -->
|
|
|
<Switch
|
|
|
class="switch-btn"
|
|
|
v-if="!showChild"
|
|
|
:size="23"
|
|
|
- :loading="loadingAir || firstLoadingAir"
|
|
|
- :disabled="loadingAir || firstLoadingAir"
|
|
|
inactive-color="rgba(196, 196, 196, 0.4)"
|
|
|
@click="airChange"
|
|
|
:model-value="airData.isOpen"
|
|
@@ -33,10 +40,8 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<!--温度调节-->
|
|
|
- <div
|
|
|
- v-if="!showChild && airData.runStatus"
|
|
|
- :style="{ opacity: loadingAir || !airData.runStatus ? '0.4' : '1' }"
|
|
|
- >
|
|
|
+ <!-- :style="{ opacity: loadingAir || !airData.runStatus ? '0.4' : '1' }" -->
|
|
|
+ <div v-if="!showChild && airData.isOpen">
|
|
|
<div class="air-control air-control-padding">
|
|
|
<div class="control-box">
|
|
|
<div class="temp-text">{{ airData.minTempSet }}℃</div>
|
|
@@ -386,13 +391,14 @@ export default defineComponent({
|
|
|
const feedbackTimer: any = null;
|
|
|
const airTimer: any = null;
|
|
|
const domAirOpeen: any = false;
|
|
|
+ const switchTimer: any = null;
|
|
|
let realTemp: any = 16;
|
|
|
let windGearArr: any = [0, 1, 2, 3];
|
|
|
let equipList: any = [];
|
|
|
let valueDom: any = null;
|
|
|
let valueHeight: any = null;
|
|
|
let spaceId: any = "";
|
|
|
- const proxyData = reactive({
|
|
|
+ const proxyData: any = reactive({
|
|
|
seviceEquipmentList: props.seviceEquipmentList,
|
|
|
valueDom: valueDom,
|
|
|
spaceId: props.spaceId,
|
|
@@ -551,19 +557,42 @@ export default defineComponent({
|
|
|
proxyData.airTimer = null;
|
|
|
}
|
|
|
proxyData.airTimer = setTimeout(function () {
|
|
|
- proxyData.getAirInfo();
|
|
|
+ if (!proxyData.loadingTimer) {
|
|
|
+ proxyData.getAirInfo();
|
|
|
+ }
|
|
|
}, timerLong);
|
|
|
},
|
|
|
+ // 获取操作时长
|
|
|
+ getTimerLen() {
|
|
|
+ // debugger;
|
|
|
+ let equipmentCategory: any = "";
|
|
|
+ if (proxyData.equipList && proxyData.equipList.length) {
|
|
|
+ equipmentCategory = proxyData.equipList[0].equipmentCategory;
|
|
|
+ }
|
|
|
+ let timerLen: any = 15;
|
|
|
+ if (equipmentCategory && equipmentCategory == "ACATVI") {
|
|
|
+ timerLen = 120;
|
|
|
+ }
|
|
|
+ return timerLen;
|
|
|
+ },
|
|
|
+ switchTimer: switchTimer,
|
|
|
// 计算loading时间
|
|
|
setLoadingNumber() {
|
|
|
- let timer: any = setInterval(() => {
|
|
|
+ let timerLen: any = proxyData.getTimerLen();
|
|
|
+ proxyData.switchTimer = setInterval(() => {
|
|
|
proxyData.loadingTimer++;
|
|
|
- console.log(proxyData.loadingTimer);
|
|
|
- if (proxyData.loadingTimer >= 15) {
|
|
|
- clearInterval(timer);
|
|
|
+ if (proxyData.loadingTimer >= timerLen) {
|
|
|
+ clearInterval(proxyData.switchTimer);
|
|
|
+ proxyData.switchTimer = null;
|
|
|
proxyData.loadingAir = false;
|
|
|
+ proxyData.loadingTimer = 0;
|
|
|
proxyData.getAirInfoToTimer(0);
|
|
|
}
|
|
|
+ console.log(
|
|
|
+ "proxyData.loadingTimer==",
|
|
|
+ proxyData.loadingTimer,
|
|
|
+ timerLen
|
|
|
+ );
|
|
|
}, 1000);
|
|
|
},
|
|
|
// 格式化空调数据
|
|
@@ -621,11 +650,13 @@ export default defineComponent({
|
|
|
},
|
|
|
// 计算loading时间
|
|
|
setChildLoadingNumber(childItem: any) {
|
|
|
+ let timerLen: any = proxyData.getTimerLen();
|
|
|
childItem.loadingTimer = 1;
|
|
|
- let timer: any = setInterval(() => {
|
|
|
+ childItem.timer = setInterval(() => {
|
|
|
childItem.loadingTimer++;
|
|
|
- if (childItem.loadingTimer >= 15) {
|
|
|
- clearInterval(timer);
|
|
|
+ if (childItem.loadingTimer >= timerLen) {
|
|
|
+ clearInterval(childItem.timer);
|
|
|
+ childItem.timer = null;
|
|
|
childItem.loadingTimer = 0;
|
|
|
proxyData.getAirInfoToTimer(0);
|
|
|
}
|
|
@@ -670,13 +701,14 @@ export default defineComponent({
|
|
|
return;
|
|
|
}
|
|
|
childItem.isOpen = !childItem.isOpen;
|
|
|
- proxyData.setChildLoadingNumber(childItem);
|
|
|
let obj: any = {
|
|
|
id: childItem.id, //类型:String 必有字段 备注:设备id
|
|
|
code: childItem.switchCode, //类型:String 必有字段 备注:编码 EquipSwtichSet
|
|
|
value: childItem.isOpen ? "1" : "0", //类型:String 必有字段 备注:值 0
|
|
|
};
|
|
|
arr.push(obj);
|
|
|
+ // clearTimeout(proxyData.airTimer);
|
|
|
+ // proxyData.setChildLoadingNumber(childItem);
|
|
|
// loadig的状态
|
|
|
} else if (btnType === "temp") {
|
|
|
childItem.num = 2;
|
|
@@ -745,6 +777,8 @@ export default defineComponent({
|
|
|
};
|
|
|
arr.push(obj);
|
|
|
}
|
|
|
+ // 空调调节后先不刷新,等2分钟后更新状态
|
|
|
+ proxyData.updateAirStatus();
|
|
|
// 修改单个设备的状态
|
|
|
if (btnType !== "temp") {
|
|
|
proxyData.setSpaceCondtioners(arr);
|
|
@@ -766,7 +800,7 @@ export default defineComponent({
|
|
|
},
|
|
|
// 改变空调状态
|
|
|
changeZongAir(btnType: any, text: any) {
|
|
|
- if (!airData.runStatus) return;
|
|
|
+ if (!proxyData.airData.isOpen) return;
|
|
|
let equpObj: any = proxyData.formatAirData(btnType, text);
|
|
|
let data: any = [];
|
|
|
proxyData.equipList.map((item: any) => {
|
|
@@ -782,6 +816,7 @@ export default defineComponent({
|
|
|
if (!proxyData.cotrolLoading) {
|
|
|
proxyData.loadingStart();
|
|
|
// 调整设备状态
|
|
|
+ proxyData.updateAirStatus();
|
|
|
proxyData.setSpaceCondtioners(data);
|
|
|
}
|
|
|
},
|
|
@@ -806,6 +841,15 @@ export default defineComponent({
|
|
|
}
|
|
|
return flag;
|
|
|
},
|
|
|
+ // 刷新空调状态的接口
|
|
|
+ updateAirStatus() {
|
|
|
+ clearTimeout(proxyData.airTimer);
|
|
|
+ proxyData.airTimer = null;
|
|
|
+ proxyData.loadingTimer = 1;
|
|
|
+ if (!proxyData.switchTimer) {
|
|
|
+ proxyData.setLoadingNumber();
|
|
|
+ }
|
|
|
+ },
|
|
|
// 总控制改变空调状态
|
|
|
airChange() {
|
|
|
// 先不更新状态等确认框弹出后再更新状
|
|
@@ -822,9 +866,8 @@ export default defineComponent({
|
|
|
|
|
|
proxyData.airData.isOpen = !proxyData.airData.isOpen;
|
|
|
proxyData.loadingAir = true;
|
|
|
- proxyData.loadingTimer = 0;
|
|
|
- clearTimeout(proxyData.airTimer);
|
|
|
- proxyData.setLoadingNumber();
|
|
|
+ // 操作空调后,先关闭定时刷新接口,等固定时间再更新空调状态
|
|
|
+ proxyData.updateAirStatus();
|
|
|
let data: any = [];
|
|
|
proxyData.equipList.map((item: any) => {
|
|
|
let obj: any = {
|
|
@@ -939,25 +982,25 @@ export default defineComponent({
|
|
|
proxyData.airData.isOpen = data.runStatus ? true : false;
|
|
|
proxyData.airData.runStatus = data.runStatus;
|
|
|
proxyData.airData.isAutoGear = data.isAutoGear;
|
|
|
- proxyData.airData.gear = data.gear;
|
|
|
+ proxyData.airData.gear = data.gear || 0;
|
|
|
proxyData.airData.workMode = data.workMode;
|
|
|
proxyData.equipList = data.equipList;
|
|
|
// 设置子设备的状态
|
|
|
proxyData.setChildSelectList();
|
|
|
proxyData.formateSetChildStatus();
|
|
|
|
|
|
- // 设置当前温度的位置
|
|
|
- if (proxyData.airData.isOpen) {
|
|
|
- proxyData.airData.airImg = parseImgUrl(
|
|
|
- "page-officehome",
|
|
|
- "openair.png"
|
|
|
- );
|
|
|
- } else {
|
|
|
- proxyData.airData.airImg = parseImgUrl(
|
|
|
- "page-officehome",
|
|
|
- "air_close.png"
|
|
|
- );
|
|
|
- }
|
|
|
+ // // 设置当前空调等图片
|
|
|
+ // if (proxyData.airData.isOpen) {
|
|
|
+ // proxyData.airData.airImg = parseImgUrl(
|
|
|
+ // "page-officehome",
|
|
|
+ // "openair.png"
|
|
|
+ // );
|
|
|
+ // } else {
|
|
|
+ // proxyData.airData.airImg = parseImgUrl(
|
|
|
+ // "page-officehome",
|
|
|
+ // "air_close.png"
|
|
|
+ // );
|
|
|
+ // }
|
|
|
|
|
|
nextTick(() => {
|
|
|
proxyData.barSwiperInit();
|