|
@@ -151,6 +151,7 @@ export default defineComponent({
|
|
|
const timeOut: any = null;
|
|
|
const initData: any = [];
|
|
|
let lightParams: any = [];
|
|
|
+ let statusInterval: any = null;
|
|
|
const proxyData = reactive({
|
|
|
seviceEquipmentList: props.seviceEquipmentList,
|
|
|
showLight: props.showLight,
|
|
@@ -158,7 +159,7 @@ export default defineComponent({
|
|
|
controlMode: props.controlMode,
|
|
|
userIsControl: props.userIsControl,
|
|
|
forceOverTimeFlag: props.forceOverTimeFlag,
|
|
|
- setStatus: false,
|
|
|
+ setStatus: 0,
|
|
|
lightParams: lightParams,
|
|
|
allowSvg: "down_Arrow.svg",
|
|
|
timeOut: timeOut,
|
|
@@ -220,6 +221,7 @@ export default defineComponent({
|
|
|
.then((res) => {
|
|
|
const resData: any = res;
|
|
|
if (!proxyData.setStatus) {
|
|
|
+ console.log("灯的状态修改--");
|
|
|
if (resData && resData.result == "success") {
|
|
|
let content = resData?.content ?? [];
|
|
|
let lampOpen = false; // 如果有一个开 则总灯开
|
|
@@ -288,7 +290,6 @@ export default defineComponent({
|
|
|
if (item !== "") {
|
|
|
proxyData.lampSw = item; // 点击全开和全关的时候item动态传值true或者false
|
|
|
}
|
|
|
-
|
|
|
if (
|
|
|
proxyData.forceOverTimeFlag &&
|
|
|
proxyData.lampSw &&
|
|
@@ -307,7 +308,7 @@ export default defineComponent({
|
|
|
: parseImgUrl("page-officehome", "lamp_close.png");
|
|
|
const statusFlag = proxyData.lampSw;
|
|
|
// 瞬间修改状态
|
|
|
- proxyData.setStatus = true;
|
|
|
+ proxyData.setStatus = 15; // 点击后状态重新计算
|
|
|
proxyData.updateAllLampStatus(statusFlag);
|
|
|
proxyData.setLamp(type, "", statusFlag, 0); // 调接口
|
|
|
} else {
|
|
@@ -324,7 +325,7 @@ export default defineComponent({
|
|
|
item.loading = true;
|
|
|
const statusFlag: any = item.switch;
|
|
|
let id = item.id;
|
|
|
- proxyData.setStatus = true;
|
|
|
+ proxyData.setStatus = 15;
|
|
|
proxyData.updateLampStatus(item, statusFlag);
|
|
|
proxyData.setLamp(type, id, statusFlag, index, item); // 调接口
|
|
|
}
|
|
@@ -332,6 +333,18 @@ export default defineComponent({
|
|
|
Toast("您没有当前空间的控制权限!");
|
|
|
}
|
|
|
},
|
|
|
+ // 定时查看灯的状态是否需要更新
|
|
|
+ statusInterval: statusInterval,
|
|
|
+ setStatusNum() {
|
|
|
+ clearInterval(proxyData.statusInterval);
|
|
|
+ proxyData.statusInterval = setInterval(() => {
|
|
|
+ proxyData.setStatus--;
|
|
|
+ if (proxyData.setStatus == 1) {
|
|
|
+ proxyData.setStatus = 0;
|
|
|
+ clearInterval(proxyData.statusInterval);
|
|
|
+ }
|
|
|
+ }, 1000);
|
|
|
+ },
|
|
|
// 控制灯的接口
|
|
|
setLamp(
|
|
|
type: string,
|
|
@@ -359,11 +372,8 @@ export default defineComponent({
|
|
|
setallLampHttp(params)
|
|
|
.then((res) => {
|
|
|
const resData: any = res;
|
|
|
- // set成功后1s关闭定时器
|
|
|
- setTimeout(() => {
|
|
|
- proxyData.setStatus = false;
|
|
|
- }, 1000);
|
|
|
-
|
|
|
+ // set成功后15s更新灯的状态
|
|
|
+ proxyData.setStatusNum();
|
|
|
if (item) {
|
|
|
item.loading = false;
|
|
|
}
|
|
@@ -375,9 +385,8 @@ export default defineComponent({
|
|
|
}
|
|
|
})
|
|
|
.catch((error: any) => {
|
|
|
- setTimeout(() => {
|
|
|
- proxyData.setStatus = false;
|
|
|
- }, 1000);
|
|
|
+ // set成功后15s更新灯的状态
|
|
|
+ proxyData.setStatusNum();
|
|
|
if (item) {
|
|
|
item.loading = false;
|
|
|
}
|
|
@@ -404,15 +413,6 @@ export default defineComponent({
|
|
|
// 单个灯的状态修改
|
|
|
updateLampStatus(item: any, statusFlag: any) {
|
|
|
item.switch = statusFlag;
|
|
|
- // let flag: any = true
|
|
|
- // for (let i = 0; i < proxyData.lampList.length; i++) {
|
|
|
- // if (proxyData.lampList[i].type == 'lamp') {
|
|
|
- // if (proxyData.lampList[i].switch !== statusFlag) {
|
|
|
- // flag = false
|
|
|
- // break
|
|
|
- // }
|
|
|
- // }
|
|
|
- // }
|
|
|
},
|
|
|
// 轮询查看状态
|
|
|
getTimeLampStatus(
|
|
@@ -572,8 +572,6 @@ export default defineComponent({
|
|
|
|
|
|
if (newProps[1] && oldProps[1] && newProps[1] != oldProps[1]) {
|
|
|
// 空间id改变的重新获取值调用接口
|
|
|
- console.log("灯模块的spaceId变化了");
|
|
|
- // 清除原始数据
|
|
|
proxyData.clearLightStatusTimer();
|
|
|
proxyData.showFlag = false;
|
|
|
proxyData.lampList = [];
|