From afd3fe35aeaae4f3984c94ca29d57b5a3a52107f Mon Sep 17 00:00:00 2001 From: suerprisePlus <15810472099@163.com> Date: 星期二, 15 十月 2024 10:24:39 +0800 Subject: [PATCH] websocket接口对接 --- src/views/visualization/index.vue | 37 +++++++++++++++++++++++++++++-------- 1 files changed, 29 insertions(+), 8 deletions(-) diff --git a/src/views/visualization/index.vue b/src/views/visualization/index.vue index e91b1d6..cbc4349 100644 --- a/src/views/visualization/index.vue +++ b/src/views/visualization/index.vue @@ -37,7 +37,7 @@ <i class="el-icon-chat-dot-square"></i> </el-badge> </div> - <div class="msgList" v-show="!showMsgFlag" > + <div class="msgList" v-show="!showMsgFlag"> <msg-list @childData="receiveDataFromChild"></msg-list> </div> </div> @@ -54,6 +54,7 @@ import statistics from '@/views/visual/statistics/index.vue' import semanticFunction from '@/views/dataManager/semanticFunction/index.vue' import msgList from './msgList.vue'; +import { point } from '@turf/turf'; export default { components: { mapView, leftMenu, @@ -73,11 +74,12 @@ wsSocket: null, rightChartData: {}, leftChartData: {}, - showMsgFlag: true + showMsgFlag: true } }, beforeDestroy() { if (this.wsSocket) { + this.wsSocket.close(); this.wsSocket.onclose = () => { console.log('WebSocket杩炴帴鍏抽棴'); this.wsSocket = null @@ -87,13 +89,13 @@ }, mounted() { if (!this.wsSocket) { - // this.createSocket(); + this.createSocket(); } }, methods: { receiveDataFromChild(data) { console.log(data); - + this.showMsgFlag = true }, ShowMenuList() { @@ -111,12 +113,31 @@ if (event.data != "杩炴帴鎴愬姛") { const obj = JSON.parse(event.data) + if (obj.type == "rain") { + this.$store.state.mapLayers.disasterRain.val = [obj] + } else if (obj.type == "snow") { + this.$store.state.mapLayers.disasterSnow.val = [obj] + } else if (obj.type == "fire") { + this.$store.state.mapLayers.disasterFire.val = [obj] + } else if (obj.type == "error") { + this.$store.state.mapLayers.msgList + if (this.$store.state.mapLayers.msgList.length == 0) { + this.$store.state.mapLayers.msgList.push(obj) + } else { + var rs = this.$store.state.mapLayers.msgList; + var st = rs.filter(item => { + if (item.msg == obj.msg && item.point == obj.point && item.line == obj.line) { + return item + } + }) + if (st.length <= 0) { + this.$store.state.mapLayers.msgList.push(obj) + } - - this.leftChartData = { - type: 'left1', - val: obj + } } + + } }; }, -- Gitblit v1.9.3