|
@@ -126,7 +126,7 @@ let ptzInfo = ref({
|
|
|
AzimuthH: 0
|
|
|
});
|
|
|
const handleGetPtzInfo = () => {
|
|
|
- getPtzInfo({ code: props.id }).then((res) => {
|
|
|
+ return getPtzInfo({ code: props.id }).then((res) => {
|
|
|
ptzInfo.value = res.data;
|
|
|
if (visibleRange.value) {
|
|
|
createSector();
|
|
@@ -250,9 +250,7 @@ const handleControl = (type) => {
|
|
|
};
|
|
|
setHkVideoControlling(params).then(() => {
|
|
|
params.action = '1';
|
|
|
- setHkVideoControlling(params).then(() => {
|
|
|
- handleGetPtzInfo();
|
|
|
- });
|
|
|
+ setHkVideoControlling(params)
|
|
|
});
|
|
|
};
|
|
|
// 新增扇形
|
|
@@ -299,12 +297,23 @@ const handleRefresh = () => {
|
|
|
isRefresh.value = false;
|
|
|
}, 1000);
|
|
|
};
|
|
|
-
|
|
|
-watch(visibleRange, () => {
|
|
|
+const handleClearInterval = () => {
|
|
|
+ if (!!timer) {
|
|
|
+ clearInterval(timer);
|
|
|
+ timer = null;
|
|
|
+ }
|
|
|
+};
|
|
|
+watch(visibleRange, async () => {
|
|
|
if (visibleRange.value) {
|
|
|
+ if (!!timer) {
|
|
|
+ clearInterval(timer);
|
|
|
+ }
|
|
|
+ await handleGetPtzInfo();
|
|
|
+ timer = setInterval(handleGetPtzInfo, 1000);
|
|
|
addVisibleRange();
|
|
|
} else {
|
|
|
removeVisibleRange();
|
|
|
+ handleClearInterval();
|
|
|
}
|
|
|
});
|
|
|
// 移除标点
|
|
@@ -350,23 +359,6 @@ const addVisibleRange = () => {
|
|
|
})
|
|
|
})
|
|
|
);
|
|
|
-
|
|
|
- // const center = [detailData.value.lng, detailData.value.lat];
|
|
|
- // circle = new Feature({
|
|
|
- // geometry: new Circle(center, 100)
|
|
|
- // // geometry: new Circle(center, ptzInfo.value.Distance)
|
|
|
- // });
|
|
|
- // circle.setStyle(
|
|
|
- // new Style({
|
|
|
- // fill: new Fill({
|
|
|
- // color: 'rgba(255, 0, 0, 0.2)'
|
|
|
- // }),
|
|
|
- // stroke: new Stroke({
|
|
|
- // color: 'rgba(255, 0, 0, 0.35)',
|
|
|
- // width: 1
|
|
|
- // })
|
|
|
- // })
|
|
|
- // );
|
|
|
vectorLayer.getSource().addFeature(circle);
|
|
|
}
|
|
|
createSector();
|
|
@@ -383,6 +375,7 @@ const removeVisibleRange = () => {
|
|
|
circle = null;
|
|
|
}
|
|
|
removeSector();
|
|
|
+ handleClearInterval();
|
|
|
};
|
|
|
// 移除扇形
|
|
|
const removeSector = () => {
|
|
@@ -506,10 +499,6 @@ const handleCruise = (event?: MouseEvent) => {
|
|
|
}).then(() => {
|
|
|
showSuccessMsg('巡航开始');
|
|
|
cruise.value = true;
|
|
|
- if (!!timer) {
|
|
|
- clearInterval(timer);
|
|
|
- }
|
|
|
- timer = setInterval(handleGetPtzInfo, 1000);
|
|
|
});
|
|
|
} else {
|
|
|
setHkVideoControlling({
|
|
@@ -519,11 +508,8 @@ const handleCruise = (event?: MouseEvent) => {
|
|
|
speed: detailData.value.speed,
|
|
|
presetIndex: 20
|
|
|
}).then(() => {
|
|
|
- clearInterval(timer);
|
|
|
- timer = null;
|
|
|
showSuccessMsg('巡航结束');
|
|
|
cruise.value = false;
|
|
|
- handleGetPtzInfo();
|
|
|
});
|
|
|
}
|
|
|
};
|
|
@@ -546,6 +532,7 @@ watch(
|
|
|
onUnmounted(() => {
|
|
|
removeMarker();
|
|
|
removeVisibleRange();
|
|
|
+ handleClearInterval();
|
|
|
});
|
|
|
</script>
|
|
|
|