diff --git a/src/components/content/tunnelScene/TunnelSceneSimulate-back.vue b/src/components/content/tunnelScene/TunnelSceneSimulate-back.vue new file mode 100644 index 0000000..171180b --- /dev/null +++ b/src/components/content/tunnelScene/TunnelSceneSimulate-back.vue @@ -0,0 +1,477 @@ + + + + + diff --git a/src/components/content/tunnelScene/TunnelSceneSimulate.vue b/src/components/content/tunnelScene/TunnelSceneSimulate.vue index 985573a..171180b 100644 --- a/src/components/content/tunnelScene/TunnelSceneSimulate.vue +++ b/src/components/content/tunnelScene/TunnelSceneSimulate.vue @@ -3,40 +3,40 @@
- - -

是否确定删除该设备

-
- - -
-
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -89,6 +89,7 @@ const params = defineProps([ "deviceData", "devRealtimeData", "simulateData", + "tunnelAlias", ]); //接收参数看是不是编辑模式,如果是编辑模式,则需要做一些处理 let isedit = ref(params.isedit); @@ -111,7 +112,7 @@ onMounted(handleMounted); // 挂载后回调 async function handleMounted() { - const doms = [info.value.$el, edit.value.$el]; + const doms = [info.value.$el];//edit.value.$el demo = new ThreeDScene(three, content.value); //看是不是预览模式,然后继续相关的操作(会在demo中的初始化中进行) // "../../../../public/tunnelModel/chanel-have-wall-now-use.gltf" @@ -125,8 +126,8 @@ async function handleMounted() { demo.addTween(TWEEN); demo.addCSS3Renderer(CSS3DRenderer, CSS3DSprite, doms); demo.setDistance(10); - lClickCallback(demo); //绑定左键回调 - rClickCallback(demo); //绑定右键回调 + // lClickCallback(demo); //绑定左键回调 + // rClickCallback(demo); //绑定右键回调 //加载HDR背景图片 demo.loadBackground(hdrLoader, backColorSet); @@ -142,19 +143,6 @@ async function handleMounted() { // params.tunnelId, // params.form // ); - //todo 父组件传的设备数据params.deviceData - // const newModelList=[...params.deviceData.frequencyChangerList,...params.deviceData.windPressureSensorList, ...params.deviceData.sensorList] - // newModelList.map((item,index1)=>{ - // const index=index1+1 - // item.threshold="" - // if(index ({ ...item, + data:'10', equipmentType: item.equipmentType.startsWith("frequency") ? "frequency" : "sensor", })); + console.log('modeData',modeData) demo.editTunnelInit(modeData); // 初始化标牌信息 - demo.SignsInf("dsadsa", String(params.tunnelLength)); + demo.SignsInf(params.tunnelAlias, String(params.tunnelLength)); } catch (err) {} } diff --git a/src/views/tunnel-simulate/index.vue b/src/views/tunnel-simulate/index.vue index 2295741..85bd0ad 100644 --- a/src/views/tunnel-simulate/index.vue +++ b/src/views/tunnel-simulate/index.vue @@ -2,11 +2,11 @@
- +
隧道总长度: {{ tunnelLength }}米 开始模拟开始模拟
模拟爆破 @@ -36,17 +36,19 @@
@@ -60,22 +62,22 @@
@@ -89,35 +91,35 @@
@@ -126,10 +128,10 @@
报警时间:
@@ -143,33 +145,33 @@
- - + + @@ -178,87 +180,87 @@
@@ -278,9 +280,9 @@ import AirInfo from "@/components/content/airInfo/AirInfo.vue"; import BadGasInfo from "@/components/content/badGasInfo/BadGasInfo.vue"; import ManageBtn from "@/components/manageBtn/index.vue"; import TunnelTitle from "@/components/tunnelTitle/index.vue"; -import { dateFormat } from "@/utils/date.js"; -import { getToken } from "@/utils/auth"; -import { useAuthStore } from "@/store/userstore.js"; +import {dateFormat} from "@/utils/date.js"; +import {getToken} from "@/utils/auth"; +import {useAuthStore} from "@/store/userstore.js"; import { getLargeScreen, getLargeScreenInfo, @@ -292,15 +294,15 @@ import { endSimulation, blastingSimulation, } from "@/api/largeScreen"; -import { ElLoading, ElMessage, ElMessageBox } from "element-plus"; -import { getUserInfo } from "@/api/login"; -import { initSceneData } from "@/api/tunnelScene"; +import {ElLoading, ElMessage, ElMessageBox} from "element-plus"; +import {getUserInfo} from "@/api/login"; +import {initSceneData} from "@/api/tunnelScene"; import { getScreenSimulateTunnel, getSimulateTunnelDetail, getTunnelList, } from "@/api/tunnelManage"; -import { debounce } from "lodash"; +import {debounce} from "lodash"; const authStore = useAuthStore(); const router = useRouter(); @@ -308,6 +310,7 @@ const previewId = reactive(router.currentRoute.value.params.tunnelId); const siteId = reactive(router.currentRoute.value.params.siteId); const tunnelIdFlag = reactive(router.currentRoute.value.params.tunnelId); const selectIndex = ref(-1); +const previewRef = ref(); const isVisited = ref(false); const isDetailVisited = ref(false); const showFan = ref(false); @@ -338,6 +341,7 @@ const tunnelBtn = ref(); const tunnelList = ref([]); const tunnelId = ref(0); const tunnelLength = ref(0); +const tunnelAlias = ref(''); const constructionLength = ref(0); const routeList = ref([]); let socket = reactive(""); @@ -419,6 +423,9 @@ const submitDevice = () => { showDevice.value = false; getScreenInfo(previewId); // initWebSocket() + nextTick(() => { + previewRef.value.rerender() + }) }; const simulatedBlasting = async () => { await blastingSimulation(previewId, 10); @@ -555,6 +562,7 @@ const getBasicData = (id) => { getSimulateTunnelDetail(id).then((res) => { if (res?.code === 1000) { tunnelLength.value = res.data.totalLength; + tunnelAlias.value = res.data.tunnelAlias; serialNumber.value = res.data.serialNumber; constructionLength.value = res.data.constructionLength; initWebSocket(); @@ -590,13 +598,13 @@ const getScreenInfo = (id) => { // }) res.data.sensorList.forEach((item) => { if ( - item.equipmentType === "dust" || - item.equipmentType === "carbonDioxide" || - item.equipmentType === "carbonMonoxide" || - item.equipmentType === "hydrogenSulfide" || - item.equipmentType === "sulfurDioxide" || - item.equipmentType === "sulfurMonoxide" || - item.equipmentType === "nitrogenDioxide" + item.equipmentType === "dust" || + item.equipmentType === "carbonDioxide" || + item.equipmentType === "carbonMonoxide" || + item.equipmentType === "hydrogenSulfide" || + item.equipmentType === "sulfurDioxide" || + item.equipmentType === "sulfurMonoxide" || + item.equipmentType === "nitrogenDioxide" ) { showBadLoading.value = 0; } else {