From d06f7ad0231d5fb029ab8520bf442590d3bab20b Mon Sep 17 00:00:00 2001 From: guonan <guonan201020@163.com> Date: 星期三, 16 七月 2025 15:29:13 +0800 Subject: [PATCH] 完善监测设备弹窗 --- src/store/simulation.js | 115 +++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 99 insertions(+), 16 deletions(-) diff --git a/src/store/simulation.js b/src/store/simulation.js index 75c6ac6..e810802 100644 --- a/src/store/simulation.js +++ b/src/store/simulation.js @@ -1,10 +1,29 @@ // stores/ui.js import { defineStore } from 'pinia' import { ref } from 'vue' -import { createSimData } from '@/api/trApi' - +import { showDeviceDetail } from "@/store"; export const useSimStore = defineStore('simulation', () => { - // 鎵�鏈塙I鐘舵��... + // 鏂潰鏁版嵁 + const crossSection = ref([]) + const openDia = ref(true) + // 鍘嗗彶鍥炴斁鍒楄〃 + const rePlayList = ref([]) + // 鍖椾含甯傛墍鏈夋潙鐨刢ode + const townCodeAll = ref([]) + // 瀹炴椂妯℃嫙鏈�鏂扮殑layer + const layerDate = ref("") + // 甯ф暟 + const frameNum = ref(0) + // 鐩綍鏍戦�変腑 + const userSelectedLayers = ref([]) + // 闅愭偅鐐瑰垪琛� + const DeviceShowSwitch = ref(false) + const DangerShowSwitch = ref(false) + const DangerPoint = ref([]) + // 娉ヤ綅璁� + const selectNWJ = ref() + // 鐩戞祴璁惧鍒楄〃 + const devices = ref([]) const navigationShow = ref(true) const leftShow = ref(false) const rightShow = ref(false) @@ -21,18 +40,39 @@ const weatherShow = ref(false) const barShow = ref(false) const deviceShow = ref(false) - const showResultAssess = ref(false) const showLayerTree = ref(true) - const showDangerAssess = ref(false) const schemCard = ref([]) const backToHome = ref(false) const selectedScheme = ref(null) + // 褰撳墠妯℃嫙缁忕含搴� + const currentInfo = ref({}) + // 鍥句緥 + const waterLegendData = ref([]) + // 妯℃嫙浠跨湡鍥句緥 + const isShowEarth = ref(false) + // 闄嶉洦鏁版嵁鍒楄〃 const rainFalls = ref() + // 闄嶉洦鍗曚綅 + const intensityUnit = ref() + // 鏂规涓嬫按娣辨祦閫熺瓑鏁版嵁 + let schemWaterInfo = ref([]) const setSelectedScheme = (scheme) => { - selectedScheme.value = scheme - rainFalls.value = JSON.parse(scheme.data).rainfalls - console.log(rainFalls.value, 'shceme') - } + selectedScheme.value = scheme; + + try { + const parsedData = JSON.parse(scheme.data); + + // 鍙湁褰� rainfalls 鍜� intensityUnit 瀛樺湪涓旈潪绌烘椂鎵嶈祴鍊� + if (parsedData.rainfalls && parsedData.intensityUnit) { + rainFalls.value = parsedData.rainfalls; + intensityUnit.value = parsedData.intensityUnit; + } else { + console.warn("缂哄皯蹇呰鐨� rainfalls 鎴� intensityUnit 瀛楁"); + } + } catch (error) { + console.error("瑙f瀽 scheme.data 鍑洪敊", error); + } + }; const clearSelectedScheme = () => { selectedScheme.value = null } @@ -52,8 +92,6 @@ rightRiverShow.value = false showPreview.value = false deviceShow.value = false - showResultAssess.value = false - showDangerAssess.value = false schemCard.value = [] } @@ -76,27 +114,50 @@ } } + const flyToHomeView = () => { + const view = { + destination: { + x: -2355432.569004413, + y: 4687573.191838412, + z: 4098726.315265574, + }, + orientation: { + pitch: -0.9541030830183503, + roll: 0.00031421159527500464, + heading: 6.140424766644804, + }, + }; + viewer.scene.camera.flyTo(view); + } + const startYHGL = () => { init() + flyToHomeView() locationShow.value = true + isShowEarth.value = true + } const startZHJC = () => { init() + flyToHomeView() functionShow.value = true deviceShow.value = true + isShowEarth.value = true + } const startMNFZ = () => { init() + flyToHomeView() leftShow.value = true - // rightRiverShow.value = true + isShowEarth.value = false + } const startMNPG = () => { init() - // showResultAssess.value = true - // showDangerAssess.value = true + isShowEarth.value = false } const setBackToHome = (value) => { @@ -105,6 +166,7 @@ // 瀵艰埅鐐瑰嚮 const handleNavClick = (index) => { + showDeviceDetail.value = false; switch (index) { case 1: startYHGL() @@ -120,6 +182,12 @@ break } } + + const updateSelectedLayers = (keys) => { + userSelectedLayers.value = keys; + } + + return { // UI 鐘舵�� @@ -139,12 +207,26 @@ weatherShow, barShow, deviceShow, - showResultAssess, showLayerTree, - showDangerAssess, schemCard, backToHome, rainFalls, + intensityUnit, + DangerPoint, + DeviceShowSwitch, + DangerShowSwitch, + waterLegendData, + currentInfo, + isShowEarth, + userSelectedLayers, + devices, + frameNum, + schemWaterInfo, + layerDate, + rePlayList, + selectNWJ, + openDia, + crossSection, // 鏂规鐩稿叧鏂规硶 setSchemCard, @@ -165,5 +247,6 @@ startMNFZ, startMNPG, handleNavClick, + updateSelectedLayers } }) \ No newline at end of file -- Gitblit v1.9.3