|
@@ -207,7 +207,7 @@
|
|
|
<script setup lang="ts">
|
|
|
import { message } from 'ant-design-vue';
|
|
|
import DeviceEcharts from '../comment/DeviceEcharts.vue';
|
|
|
- import { onBeforeMount, ref, onMounted, onUnmounted, reactive, toRaw, watch, nextTick, inject, unref } from 'vue';
|
|
|
+ import { onBeforeMount, ref, onMounted, onUnmounted, reactive, toRaw, shallowRef, nextTick, inject, unref } from 'vue';
|
|
|
import MonitorTable from '../comment/MonitorTable.vue';
|
|
|
import HistoryTable from '../comment/HistoryTable.vue';
|
|
|
import AlarmHistoryTable from '../comment/AlarmHistoryTable.vue';
|
|
@@ -239,7 +239,7 @@
|
|
|
|
|
|
const modelRef = ref();
|
|
|
/** 模型对应的组件,根据实际情况分为二维三维 */
|
|
|
- const modelComponent = getModelComponent(globalConfig.is2DModel, sysOrgCode);
|
|
|
+ const modelComponent = shallowRef(getModelComponent(globalConfig.is2DModel));
|
|
|
|
|
|
const { currentRoute } = useRouter();
|
|
|
|
|
@@ -377,20 +377,25 @@
|
|
|
|
|
|
const type = selectData.value.windowModal ? selectData.value.windowModal : selectData.value.nwindownum == 1 ? 'ddFc5' : 'sdFc1';
|
|
|
|
|
|
- setModelType(type).then(() => {
|
|
|
- addMonitorText(selectData.value);
|
|
|
- playAnimation(selectRow, selectData.value.maxarea, true);
|
|
|
- loading.value = false;
|
|
|
- });
|
|
|
+ await setSVGModelType(type);
|
|
|
+ await setModelType(type);
|
|
|
+ addMonitorText(selectData.value);
|
|
|
+ playAnimation(selectRow, selectData.value.maxarea, true);
|
|
|
+ loading.value = false;
|
|
|
await getCamera(selectRow.deviceID, playerRef.value);
|
|
|
};
|
|
|
|
|
|
// 判断前后窗的面积是否发生改变,如果改变则开启动画
|
|
|
const playAnimation = (data, maxarea = 90, isFirst = false) => {
|
|
|
- modelRef.value?.animate?.(data);
|
|
|
+ modelRef.value?.animate?.(data, maxarea);
|
|
|
computePlay(data, maxarea, isFirst);
|
|
|
};
|
|
|
|
|
|
+ function setSVGModelType(type) {
|
|
|
+ modelComponent.value = getModelComponent(globalConfig.is2DModel, type);
|
|
|
+ return nextTick();
|
|
|
+ }
|
|
|
+
|
|
|
// 设置风窗面积
|
|
|
const setArea = (flag) => {
|
|
|
modalType.value = flag + '';
|