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 | 70 ++++++++++++++++++++++++++++++---- 1 files changed, 61 insertions(+), 9 deletions(-) diff --git a/src/store/simulation.js b/src/store/simulation.js index e1cea0d..e810802 100644 --- a/src/store/simulation.js +++ b/src/store/simulation.js @@ -1,12 +1,29 @@ // stores/ui.js import { defineStore } from 'pinia' import { ref } from 'vue' - +import { showDeviceDetail } from "@/store"; export const useSimStore = defineStore('simulation', () => { + // 鏂潰鏁版嵁 + 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(true) - const DangerShowSwitch = ref(true) + 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) @@ -27,18 +44,35 @@ 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 - intensityUnit.value = JSON.parse(scheme.data).intensityUnit - console.log(intensityUnit.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 } @@ -124,7 +158,6 @@ const startMNPG = () => { init() isShowEarth.value = false - } const setBackToHome = (value) => { @@ -133,6 +166,7 @@ // 瀵艰埅鐐瑰嚮 const handleNavClick = (index) => { + showDeviceDetail.value = false; switch (index) { case 1: startYHGL() @@ -148,6 +182,12 @@ break } } + + const updateSelectedLayers = (keys) => { + userSelectedLayers.value = keys; + } + + return { // UI 鐘舵�� @@ -175,7 +215,18 @@ DangerPoint, DeviceShowSwitch, DangerShowSwitch, + waterLegendData, + currentInfo, isShowEarth, + userSelectedLayers, + devices, + frameNum, + schemWaterInfo, + layerDate, + rePlayList, + selectNWJ, + openDia, + crossSection, // 鏂规鐩稿叧鏂规硶 setSchemCard, @@ -196,5 +247,6 @@ startMNFZ, startMNPG, handleNavClick, + updateSelectedLayers } }) \ No newline at end of file -- Gitblit v1.9.3