diff --git a/src/App.vue b/src/App.vue
index d103696..dca0151 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,6 +1,7 @@
@@ -11,13 +12,8 @@
name: 'App',
mounted() {
this.windowResize(window.innerHeight, window.innerWidth)
- this.initWebSocket()
},
methods: {
- initWebSocket() {
- console.log('初始化websocket')
- this.$store.dispatch('initWebSocket')
- },
// 窗口变化
windowResize(height, width) {
// 查找header高度
diff --git a/src/App.vue b/src/App.vue
index d103696..dca0151 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,6 +1,7 @@
@@ -11,13 +12,8 @@
name: 'App',
mounted() {
this.windowResize(window.innerHeight, window.innerWidth)
- this.initWebSocket()
},
methods: {
- initWebSocket() {
- console.log('初始化websocket')
- this.$store.dispatch('initWebSocket')
- },
// 窗口变化
windowResize(height, width) {
// 查找header高度
diff --git a/src/components/Amap/AMapContainer.vue b/src/components/Amap/AMapContainer.vue
index 5b5057e..ed5eca1 100644
--- a/src/components/Amap/AMapContainer.vue
+++ b/src/components/Amap/AMapContainer.vue
@@ -61,6 +61,9 @@
}
},
watch: {
+ center(val) {
+ this.setCenter()
+ },
baseLayer(val) {
this.changeBaseLayer()
}
@@ -115,6 +118,10 @@
this.$message.error('地图加载失败:'+e)
})
},
+ setCenter(){
+ console.log('setCenter')
+ this.map.setCenter(this.center)
+ },
changeBaseLayer() {
const layers = this.map.getLayers()
const type = this.baseLayer
diff --git a/src/App.vue b/src/App.vue
index d103696..dca0151 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,6 +1,7 @@
@@ -11,13 +12,8 @@
name: 'App',
mounted() {
this.windowResize(window.innerHeight, window.innerWidth)
- this.initWebSocket()
},
methods: {
- initWebSocket() {
- console.log('初始化websocket')
- this.$store.dispatch('initWebSocket')
- },
// 窗口变化
windowResize(height, width) {
// 查找header高度
diff --git a/src/components/Amap/AMapContainer.vue b/src/components/Amap/AMapContainer.vue
index 5b5057e..ed5eca1 100644
--- a/src/components/Amap/AMapContainer.vue
+++ b/src/components/Amap/AMapContainer.vue
@@ -61,6 +61,9 @@
}
},
watch: {
+ center(val) {
+ this.setCenter()
+ },
baseLayer(val) {
this.changeBaseLayer()
}
@@ -115,6 +118,10 @@
this.$message.error('地图加载失败:'+e)
})
},
+ setCenter(){
+ console.log('setCenter')
+ this.map.setCenter(this.center)
+ },
changeBaseLayer() {
const layers = this.map.getLayers()
const type = this.baseLayer
diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue
index 4c5e534..8f931d5 100644
--- a/src/layout/components/AppHeader.vue
+++ b/src/layout/components/AppHeader.vue
@@ -61,7 +61,18 @@
this.getSystems()
}
},
+ mounted() {
+ this.initWebSocket()
+ },
methods: {
+ initWebSocket() {
+ // 当用户id时在加载websocket
+ if (this.$store.getters.id) {
+ console.log('初始化websocket')
+ const that = this
+ this.$store.dispatch('initWebSocket', that)
+ }
+ },
toggleSideBar() {
this.$store.dispatch('ToggleSideBar')
},
diff --git a/src/App.vue b/src/App.vue
index d103696..dca0151 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,6 +1,7 @@
@@ -11,13 +12,8 @@
name: 'App',
mounted() {
this.windowResize(window.innerHeight, window.innerWidth)
- this.initWebSocket()
},
methods: {
- initWebSocket() {
- console.log('初始化websocket')
- this.$store.dispatch('initWebSocket')
- },
// 窗口变化
windowResize(height, width) {
// 查找header高度
diff --git a/src/components/Amap/AMapContainer.vue b/src/components/Amap/AMapContainer.vue
index 5b5057e..ed5eca1 100644
--- a/src/components/Amap/AMapContainer.vue
+++ b/src/components/Amap/AMapContainer.vue
@@ -61,6 +61,9 @@
}
},
watch: {
+ center(val) {
+ this.setCenter()
+ },
baseLayer(val) {
this.changeBaseLayer()
}
@@ -115,6 +118,10 @@
this.$message.error('地图加载失败:'+e)
})
},
+ setCenter(){
+ console.log('setCenter')
+ this.map.setCenter(this.center)
+ },
changeBaseLayer() {
const layers = this.map.getLayers()
const type = this.baseLayer
diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue
index 4c5e534..8f931d5 100644
--- a/src/layout/components/AppHeader.vue
+++ b/src/layout/components/AppHeader.vue
@@ -61,7 +61,18 @@
this.getSystems()
}
},
+ mounted() {
+ this.initWebSocket()
+ },
methods: {
+ initWebSocket() {
+ // 当用户id时在加载websocket
+ if (this.$store.getters.id) {
+ console.log('初始化websocket')
+ const that = this
+ this.$store.dispatch('initWebSocket', that)
+ }
+ },
toggleSideBar() {
this.$store.dispatch('ToggleSideBar')
},
diff --git a/src/main.js b/src/main.js
index 6d48f72..44f6174 100644
--- a/src/main.js
+++ b/src/main.js
@@ -47,9 +47,10 @@
import alarmAudio from '@/assets/audio/alarm.mp3'
// 方法1:注册播放音频事件到Vue实例上
-Vue.prototype.playAudio = (audioName) => {
+Vue.prototype.playAudio = () => {
const audio = document.getElementById('eventAudio')
audio.setAttribute('src', alarmAudio)
+ audio.loop = 'loop'
if (audio.paused === true) { // 判断音频是否暂停,暂停重新加载音频元素
audio.load()
} else { // 否则
@@ -69,6 +70,12 @@
}, 10)
}
}
+Vue.prototype.pauseAudio = () => {
+ const audio = document.getElementById('eventAudio')
+ if (!audio.paused) { // 判断音频是否暂停,暂停重新加载音频元素
+ audio.pause()
+ }
+}
// 注册全局自定义布局组件
import NormalTable from '@/components/NormalTable/index'
import SearchArea from '@/components/SearchArea/SearchArea'
diff --git a/src/App.vue b/src/App.vue
index d103696..dca0151 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,6 +1,7 @@
@@ -11,13 +12,8 @@
name: 'App',
mounted() {
this.windowResize(window.innerHeight, window.innerWidth)
- this.initWebSocket()
},
methods: {
- initWebSocket() {
- console.log('初始化websocket')
- this.$store.dispatch('initWebSocket')
- },
// 窗口变化
windowResize(height, width) {
// 查找header高度
diff --git a/src/components/Amap/AMapContainer.vue b/src/components/Amap/AMapContainer.vue
index 5b5057e..ed5eca1 100644
--- a/src/components/Amap/AMapContainer.vue
+++ b/src/components/Amap/AMapContainer.vue
@@ -61,6 +61,9 @@
}
},
watch: {
+ center(val) {
+ this.setCenter()
+ },
baseLayer(val) {
this.changeBaseLayer()
}
@@ -115,6 +118,10 @@
this.$message.error('地图加载失败:'+e)
})
},
+ setCenter(){
+ console.log('setCenter')
+ this.map.setCenter(this.center)
+ },
changeBaseLayer() {
const layers = this.map.getLayers()
const type = this.baseLayer
diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue
index 4c5e534..8f931d5 100644
--- a/src/layout/components/AppHeader.vue
+++ b/src/layout/components/AppHeader.vue
@@ -61,7 +61,18 @@
this.getSystems()
}
},
+ mounted() {
+ this.initWebSocket()
+ },
methods: {
+ initWebSocket() {
+ // 当用户id时在加载websocket
+ if (this.$store.getters.id) {
+ console.log('初始化websocket')
+ const that = this
+ this.$store.dispatch('initWebSocket', that)
+ }
+ },
toggleSideBar() {
this.$store.dispatch('ToggleSideBar')
},
diff --git a/src/main.js b/src/main.js
index 6d48f72..44f6174 100644
--- a/src/main.js
+++ b/src/main.js
@@ -47,9 +47,10 @@
import alarmAudio from '@/assets/audio/alarm.mp3'
// 方法1:注册播放音频事件到Vue实例上
-Vue.prototype.playAudio = (audioName) => {
+Vue.prototype.playAudio = () => {
const audio = document.getElementById('eventAudio')
audio.setAttribute('src', alarmAudio)
+ audio.loop = 'loop'
if (audio.paused === true) { // 判断音频是否暂停,暂停重新加载音频元素
audio.load()
} else { // 否则
@@ -69,6 +70,12 @@
}, 10)
}
}
+Vue.prototype.pauseAudio = () => {
+ const audio = document.getElementById('eventAudio')
+ if (!audio.paused) { // 判断音频是否暂停,暂停重新加载音频元素
+ audio.pause()
+ }
+}
// 注册全局自定义布局组件
import NormalTable from '@/components/NormalTable/index'
import SearchArea from '@/components/SearchArea/SearchArea'
diff --git a/src/store/modules/websocket.js b/src/store/modules/websocket.js
index 0da8a05..6ed57cf 100644
--- a/src/store/modules/websocket.js
+++ b/src/store/modules/websocket.js
@@ -24,7 +24,7 @@
actions: {
// 连接websocket
- initWebSocket({ commit }, wsUrl) {
+ initWebSocket({ commit }, that) {
if (typeof (WebSocket) === 'undefined') {
Notification({
title: '提示',
@@ -33,6 +33,7 @@
duration: 0
})
} else {
+ // that.playAudio() // 测试音效
// 获取token保存到vuex中的用户信息,此处仅适用于本项目,注意删除或修改
// 实例化socket,这里我把用户名传给了后台,使后台能判断要把消息发给哪个用户,其实也可以后台直接获取用户IP来判断并推送
const socketUrl = getWsUrl() + user.state.id
@@ -56,11 +57,15 @@
// 这里也可以把返回信息加入到message中显示
message: data.message,
type: 'warning',
+ duration: 0,
onClick: () => {
router.push({
path: '/overview',
query: { refresh: true }
})
+ },
+ onClose: () => {
+ that.pauseAudio()
}
})
setTimeout(function() {
diff --git a/src/App.vue b/src/App.vue
index d103696..dca0151 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,6 +1,7 @@
@@ -11,13 +12,8 @@
name: 'App',
mounted() {
this.windowResize(window.innerHeight, window.innerWidth)
- this.initWebSocket()
},
methods: {
- initWebSocket() {
- console.log('初始化websocket')
- this.$store.dispatch('initWebSocket')
- },
// 窗口变化
windowResize(height, width) {
// 查找header高度
diff --git a/src/components/Amap/AMapContainer.vue b/src/components/Amap/AMapContainer.vue
index 5b5057e..ed5eca1 100644
--- a/src/components/Amap/AMapContainer.vue
+++ b/src/components/Amap/AMapContainer.vue
@@ -61,6 +61,9 @@
}
},
watch: {
+ center(val) {
+ this.setCenter()
+ },
baseLayer(val) {
this.changeBaseLayer()
}
@@ -115,6 +118,10 @@
this.$message.error('地图加载失败:'+e)
})
},
+ setCenter(){
+ console.log('setCenter')
+ this.map.setCenter(this.center)
+ },
changeBaseLayer() {
const layers = this.map.getLayers()
const type = this.baseLayer
diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue
index 4c5e534..8f931d5 100644
--- a/src/layout/components/AppHeader.vue
+++ b/src/layout/components/AppHeader.vue
@@ -61,7 +61,18 @@
this.getSystems()
}
},
+ mounted() {
+ this.initWebSocket()
+ },
methods: {
+ initWebSocket() {
+ // 当用户id时在加载websocket
+ if (this.$store.getters.id) {
+ console.log('初始化websocket')
+ const that = this
+ this.$store.dispatch('initWebSocket', that)
+ }
+ },
toggleSideBar() {
this.$store.dispatch('ToggleSideBar')
},
diff --git a/src/main.js b/src/main.js
index 6d48f72..44f6174 100644
--- a/src/main.js
+++ b/src/main.js
@@ -47,9 +47,10 @@
import alarmAudio from '@/assets/audio/alarm.mp3'
// 方法1:注册播放音频事件到Vue实例上
-Vue.prototype.playAudio = (audioName) => {
+Vue.prototype.playAudio = () => {
const audio = document.getElementById('eventAudio')
audio.setAttribute('src', alarmAudio)
+ audio.loop = 'loop'
if (audio.paused === true) { // 判断音频是否暂停,暂停重新加载音频元素
audio.load()
} else { // 否则
@@ -69,6 +70,12 @@
}, 10)
}
}
+Vue.prototype.pauseAudio = () => {
+ const audio = document.getElementById('eventAudio')
+ if (!audio.paused) { // 判断音频是否暂停,暂停重新加载音频元素
+ audio.pause()
+ }
+}
// 注册全局自定义布局组件
import NormalTable from '@/components/NormalTable/index'
import SearchArea from '@/components/SearchArea/SearchArea'
diff --git a/src/store/modules/websocket.js b/src/store/modules/websocket.js
index 0da8a05..6ed57cf 100644
--- a/src/store/modules/websocket.js
+++ b/src/store/modules/websocket.js
@@ -24,7 +24,7 @@
actions: {
// 连接websocket
- initWebSocket({ commit }, wsUrl) {
+ initWebSocket({ commit }, that) {
if (typeof (WebSocket) === 'undefined') {
Notification({
title: '提示',
@@ -33,6 +33,7 @@
duration: 0
})
} else {
+ // that.playAudio() // 测试音效
// 获取token保存到vuex中的用户信息,此处仅适用于本项目,注意删除或修改
// 实例化socket,这里我把用户名传给了后台,使后台能判断要把消息发给哪个用户,其实也可以后台直接获取用户IP来判断并推送
const socketUrl = getWsUrl() + user.state.id
@@ -56,11 +57,15 @@
// 这里也可以把返回信息加入到message中显示
message: data.message,
type: 'warning',
+ duration: 0,
onClick: () => {
router.push({
path: '/overview',
query: { refresh: true }
})
+ },
+ onClose: () => {
+ that.pauseAudio()
}
})
setTimeout(function() {
diff --git a/src/views/dashboard/components/WellCountByDept.vue b/src/views/dashboard/components/WellCountByDept.vue
index 8c077ef..1f85c5c 100644
--- a/src/views/dashboard/components/WellCountByDept.vue
+++ b/src/views/dashboard/components/WellCountByDept.vue
@@ -46,7 +46,6 @@
methods: {
fetchData() {
wellStaticByDept().then(response => {
- debugger
this.chartData.rows = response.data
})
}
diff --git a/src/App.vue b/src/App.vue
index d103696..dca0151 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,6 +1,7 @@
@@ -11,13 +12,8 @@
name: 'App',
mounted() {
this.windowResize(window.innerHeight, window.innerWidth)
- this.initWebSocket()
},
methods: {
- initWebSocket() {
- console.log('初始化websocket')
- this.$store.dispatch('initWebSocket')
- },
// 窗口变化
windowResize(height, width) {
// 查找header高度
diff --git a/src/components/Amap/AMapContainer.vue b/src/components/Amap/AMapContainer.vue
index 5b5057e..ed5eca1 100644
--- a/src/components/Amap/AMapContainer.vue
+++ b/src/components/Amap/AMapContainer.vue
@@ -61,6 +61,9 @@
}
},
watch: {
+ center(val) {
+ this.setCenter()
+ },
baseLayer(val) {
this.changeBaseLayer()
}
@@ -115,6 +118,10 @@
this.$message.error('地图加载失败:'+e)
})
},
+ setCenter(){
+ console.log('setCenter')
+ this.map.setCenter(this.center)
+ },
changeBaseLayer() {
const layers = this.map.getLayers()
const type = this.baseLayer
diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue
index 4c5e534..8f931d5 100644
--- a/src/layout/components/AppHeader.vue
+++ b/src/layout/components/AppHeader.vue
@@ -61,7 +61,18 @@
this.getSystems()
}
},
+ mounted() {
+ this.initWebSocket()
+ },
methods: {
+ initWebSocket() {
+ // 当用户id时在加载websocket
+ if (this.$store.getters.id) {
+ console.log('初始化websocket')
+ const that = this
+ this.$store.dispatch('initWebSocket', that)
+ }
+ },
toggleSideBar() {
this.$store.dispatch('ToggleSideBar')
},
diff --git a/src/main.js b/src/main.js
index 6d48f72..44f6174 100644
--- a/src/main.js
+++ b/src/main.js
@@ -47,9 +47,10 @@
import alarmAudio from '@/assets/audio/alarm.mp3'
// 方法1:注册播放音频事件到Vue实例上
-Vue.prototype.playAudio = (audioName) => {
+Vue.prototype.playAudio = () => {
const audio = document.getElementById('eventAudio')
audio.setAttribute('src', alarmAudio)
+ audio.loop = 'loop'
if (audio.paused === true) { // 判断音频是否暂停,暂停重新加载音频元素
audio.load()
} else { // 否则
@@ -69,6 +70,12 @@
}, 10)
}
}
+Vue.prototype.pauseAudio = () => {
+ const audio = document.getElementById('eventAudio')
+ if (!audio.paused) { // 判断音频是否暂停,暂停重新加载音频元素
+ audio.pause()
+ }
+}
// 注册全局自定义布局组件
import NormalTable from '@/components/NormalTable/index'
import SearchArea from '@/components/SearchArea/SearchArea'
diff --git a/src/store/modules/websocket.js b/src/store/modules/websocket.js
index 0da8a05..6ed57cf 100644
--- a/src/store/modules/websocket.js
+++ b/src/store/modules/websocket.js
@@ -24,7 +24,7 @@
actions: {
// 连接websocket
- initWebSocket({ commit }, wsUrl) {
+ initWebSocket({ commit }, that) {
if (typeof (WebSocket) === 'undefined') {
Notification({
title: '提示',
@@ -33,6 +33,7 @@
duration: 0
})
} else {
+ // that.playAudio() // 测试音效
// 获取token保存到vuex中的用户信息,此处仅适用于本项目,注意删除或修改
// 实例化socket,这里我把用户名传给了后台,使后台能判断要把消息发给哪个用户,其实也可以后台直接获取用户IP来判断并推送
const socketUrl = getWsUrl() + user.state.id
@@ -56,11 +57,15 @@
// 这里也可以把返回信息加入到message中显示
message: data.message,
type: 'warning',
+ duration: 0,
onClick: () => {
router.push({
path: '/overview',
query: { refresh: true }
})
+ },
+ onClose: () => {
+ that.pauseAudio()
}
})
setTimeout(function() {
diff --git a/src/views/dashboard/components/WellCountByDept.vue b/src/views/dashboard/components/WellCountByDept.vue
index 8c077ef..1f85c5c 100644
--- a/src/views/dashboard/components/WellCountByDept.vue
+++ b/src/views/dashboard/components/WellCountByDept.vue
@@ -46,7 +46,6 @@
methods: {
fetchData() {
wellStaticByDept().then(response => {
- debugger
this.chartData.rows = response.data
})
}
diff --git a/src/views/overview/components/infoWindowAlarm.vue b/src/views/overview/components/infoWindowAlarm.vue
index 42b11f9..641a296 100644
--- a/src/views/overview/components/infoWindowAlarm.vue
+++ b/src/views/overview/components/infoWindowAlarm.vue
@@ -15,7 +15,9 @@
设备编号:{{ alarm.devcode }}
- 点位类型:{{ alarmInfo.wellTypeName }}
+
+ 点位类型:{{ alarmInfo.wellTypeName }}
+
权属单位:{{ alarmInfo.deptName }}
详细地址:{{ alarmInfo.position }}
diff --git a/src/App.vue b/src/App.vue
index d103696..dca0151 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,6 +1,7 @@
@@ -11,13 +12,8 @@
name: 'App',
mounted() {
this.windowResize(window.innerHeight, window.innerWidth)
- this.initWebSocket()
},
methods: {
- initWebSocket() {
- console.log('初始化websocket')
- this.$store.dispatch('initWebSocket')
- },
// 窗口变化
windowResize(height, width) {
// 查找header高度
diff --git a/src/components/Amap/AMapContainer.vue b/src/components/Amap/AMapContainer.vue
index 5b5057e..ed5eca1 100644
--- a/src/components/Amap/AMapContainer.vue
+++ b/src/components/Amap/AMapContainer.vue
@@ -61,6 +61,9 @@
}
},
watch: {
+ center(val) {
+ this.setCenter()
+ },
baseLayer(val) {
this.changeBaseLayer()
}
@@ -115,6 +118,10 @@
this.$message.error('地图加载失败:'+e)
})
},
+ setCenter(){
+ console.log('setCenter')
+ this.map.setCenter(this.center)
+ },
changeBaseLayer() {
const layers = this.map.getLayers()
const type = this.baseLayer
diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue
index 4c5e534..8f931d5 100644
--- a/src/layout/components/AppHeader.vue
+++ b/src/layout/components/AppHeader.vue
@@ -61,7 +61,18 @@
this.getSystems()
}
},
+ mounted() {
+ this.initWebSocket()
+ },
methods: {
+ initWebSocket() {
+ // 当用户id时在加载websocket
+ if (this.$store.getters.id) {
+ console.log('初始化websocket')
+ const that = this
+ this.$store.dispatch('initWebSocket', that)
+ }
+ },
toggleSideBar() {
this.$store.dispatch('ToggleSideBar')
},
diff --git a/src/main.js b/src/main.js
index 6d48f72..44f6174 100644
--- a/src/main.js
+++ b/src/main.js
@@ -47,9 +47,10 @@
import alarmAudio from '@/assets/audio/alarm.mp3'
// 方法1:注册播放音频事件到Vue实例上
-Vue.prototype.playAudio = (audioName) => {
+Vue.prototype.playAudio = () => {
const audio = document.getElementById('eventAudio')
audio.setAttribute('src', alarmAudio)
+ audio.loop = 'loop'
if (audio.paused === true) { // 判断音频是否暂停,暂停重新加载音频元素
audio.load()
} else { // 否则
@@ -69,6 +70,12 @@
}, 10)
}
}
+Vue.prototype.pauseAudio = () => {
+ const audio = document.getElementById('eventAudio')
+ if (!audio.paused) { // 判断音频是否暂停,暂停重新加载音频元素
+ audio.pause()
+ }
+}
// 注册全局自定义布局组件
import NormalTable from '@/components/NormalTable/index'
import SearchArea from '@/components/SearchArea/SearchArea'
diff --git a/src/store/modules/websocket.js b/src/store/modules/websocket.js
index 0da8a05..6ed57cf 100644
--- a/src/store/modules/websocket.js
+++ b/src/store/modules/websocket.js
@@ -24,7 +24,7 @@
actions: {
// 连接websocket
- initWebSocket({ commit }, wsUrl) {
+ initWebSocket({ commit }, that) {
if (typeof (WebSocket) === 'undefined') {
Notification({
title: '提示',
@@ -33,6 +33,7 @@
duration: 0
})
} else {
+ // that.playAudio() // 测试音效
// 获取token保存到vuex中的用户信息,此处仅适用于本项目,注意删除或修改
// 实例化socket,这里我把用户名传给了后台,使后台能判断要把消息发给哪个用户,其实也可以后台直接获取用户IP来判断并推送
const socketUrl = getWsUrl() + user.state.id
@@ -56,11 +57,15 @@
// 这里也可以把返回信息加入到message中显示
message: data.message,
type: 'warning',
+ duration: 0,
onClick: () => {
router.push({
path: '/overview',
query: { refresh: true }
})
+ },
+ onClose: () => {
+ that.pauseAudio()
}
})
setTimeout(function() {
diff --git a/src/views/dashboard/components/WellCountByDept.vue b/src/views/dashboard/components/WellCountByDept.vue
index 8c077ef..1f85c5c 100644
--- a/src/views/dashboard/components/WellCountByDept.vue
+++ b/src/views/dashboard/components/WellCountByDept.vue
@@ -46,7 +46,6 @@
methods: {
fetchData() {
wellStaticByDept().then(response => {
- debugger
this.chartData.rows = response.data
})
}
diff --git a/src/views/overview/components/infoWindowAlarm.vue b/src/views/overview/components/infoWindowAlarm.vue
index 42b11f9..641a296 100644
--- a/src/views/overview/components/infoWindowAlarm.vue
+++ b/src/views/overview/components/infoWindowAlarm.vue
@@ -15,7 +15,9 @@
设备编号:{{ alarm.devcode }}
- 点位类型:{{ alarmInfo.wellTypeName }}
+
+ 点位类型:{{ alarmInfo.wellTypeName }}
+
权属单位:{{ alarmInfo.deptName }}
详细地址:{{ alarmInfo.position }}
diff --git a/src/views/overview/components/mapSearchComp.vue b/src/views/overview/components/mapSearchComp.vue
index 0500851..07895e4 100644
--- a/src/views/overview/components/mapSearchComp.vue
+++ b/src/views/overview/components/mapSearchComp.vue
@@ -7,7 +7,7 @@
-
+
搜索
@@ -88,9 +88,16 @@
}
},
methods: {
+ inputChange() {
+ if (this.keywords) {
+ this.search(true)
+ } else {
+ this.search(false)
+ }
+ },
// 点击搜索按钮
- search() {
- this.$emit('search', this.keywords)
+ search(clear) {
+ this.$emit('search', this.keywords, clear)
},
// 切换页码
changePage(val) {
diff --git a/src/App.vue b/src/App.vue
index d103696..dca0151 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,6 +1,7 @@
@@ -11,13 +12,8 @@
name: 'App',
mounted() {
this.windowResize(window.innerHeight, window.innerWidth)
- this.initWebSocket()
},
methods: {
- initWebSocket() {
- console.log('初始化websocket')
- this.$store.dispatch('initWebSocket')
- },
// 窗口变化
windowResize(height, width) {
// 查找header高度
diff --git a/src/components/Amap/AMapContainer.vue b/src/components/Amap/AMapContainer.vue
index 5b5057e..ed5eca1 100644
--- a/src/components/Amap/AMapContainer.vue
+++ b/src/components/Amap/AMapContainer.vue
@@ -61,6 +61,9 @@
}
},
watch: {
+ center(val) {
+ this.setCenter()
+ },
baseLayer(val) {
this.changeBaseLayer()
}
@@ -115,6 +118,10 @@
this.$message.error('地图加载失败:'+e)
})
},
+ setCenter(){
+ console.log('setCenter')
+ this.map.setCenter(this.center)
+ },
changeBaseLayer() {
const layers = this.map.getLayers()
const type = this.baseLayer
diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue
index 4c5e534..8f931d5 100644
--- a/src/layout/components/AppHeader.vue
+++ b/src/layout/components/AppHeader.vue
@@ -61,7 +61,18 @@
this.getSystems()
}
},
+ mounted() {
+ this.initWebSocket()
+ },
methods: {
+ initWebSocket() {
+ // 当用户id时在加载websocket
+ if (this.$store.getters.id) {
+ console.log('初始化websocket')
+ const that = this
+ this.$store.dispatch('initWebSocket', that)
+ }
+ },
toggleSideBar() {
this.$store.dispatch('ToggleSideBar')
},
diff --git a/src/main.js b/src/main.js
index 6d48f72..44f6174 100644
--- a/src/main.js
+++ b/src/main.js
@@ -47,9 +47,10 @@
import alarmAudio from '@/assets/audio/alarm.mp3'
// 方法1:注册播放音频事件到Vue实例上
-Vue.prototype.playAudio = (audioName) => {
+Vue.prototype.playAudio = () => {
const audio = document.getElementById('eventAudio')
audio.setAttribute('src', alarmAudio)
+ audio.loop = 'loop'
if (audio.paused === true) { // 判断音频是否暂停,暂停重新加载音频元素
audio.load()
} else { // 否则
@@ -69,6 +70,12 @@
}, 10)
}
}
+Vue.prototype.pauseAudio = () => {
+ const audio = document.getElementById('eventAudio')
+ if (!audio.paused) { // 判断音频是否暂停,暂停重新加载音频元素
+ audio.pause()
+ }
+}
// 注册全局自定义布局组件
import NormalTable from '@/components/NormalTable/index'
import SearchArea from '@/components/SearchArea/SearchArea'
diff --git a/src/store/modules/websocket.js b/src/store/modules/websocket.js
index 0da8a05..6ed57cf 100644
--- a/src/store/modules/websocket.js
+++ b/src/store/modules/websocket.js
@@ -24,7 +24,7 @@
actions: {
// 连接websocket
- initWebSocket({ commit }, wsUrl) {
+ initWebSocket({ commit }, that) {
if (typeof (WebSocket) === 'undefined') {
Notification({
title: '提示',
@@ -33,6 +33,7 @@
duration: 0
})
} else {
+ // that.playAudio() // 测试音效
// 获取token保存到vuex中的用户信息,此处仅适用于本项目,注意删除或修改
// 实例化socket,这里我把用户名传给了后台,使后台能判断要把消息发给哪个用户,其实也可以后台直接获取用户IP来判断并推送
const socketUrl = getWsUrl() + user.state.id
@@ -56,11 +57,15 @@
// 这里也可以把返回信息加入到message中显示
message: data.message,
type: 'warning',
+ duration: 0,
onClick: () => {
router.push({
path: '/overview',
query: { refresh: true }
})
+ },
+ onClose: () => {
+ that.pauseAudio()
}
})
setTimeout(function() {
diff --git a/src/views/dashboard/components/WellCountByDept.vue b/src/views/dashboard/components/WellCountByDept.vue
index 8c077ef..1f85c5c 100644
--- a/src/views/dashboard/components/WellCountByDept.vue
+++ b/src/views/dashboard/components/WellCountByDept.vue
@@ -46,7 +46,6 @@
methods: {
fetchData() {
wellStaticByDept().then(response => {
- debugger
this.chartData.rows = response.data
})
}
diff --git a/src/views/overview/components/infoWindowAlarm.vue b/src/views/overview/components/infoWindowAlarm.vue
index 42b11f9..641a296 100644
--- a/src/views/overview/components/infoWindowAlarm.vue
+++ b/src/views/overview/components/infoWindowAlarm.vue
@@ -15,7 +15,9 @@
设备编号:{{ alarm.devcode }}
-
点位类型:{{ alarmInfo.wellTypeName }}
+
+ 点位类型:{{ alarmInfo.wellTypeName }}
+
权属单位:{{ alarmInfo.deptName }}
详细地址:{{ alarmInfo.position }}
diff --git a/src/views/overview/components/mapSearchComp.vue b/src/views/overview/components/mapSearchComp.vue
index 0500851..07895e4 100644
--- a/src/views/overview/components/mapSearchComp.vue
+++ b/src/views/overview/components/mapSearchComp.vue
@@ -7,7 +7,7 @@
-
+
搜索
@@ -88,9 +88,16 @@
}
},
methods: {
+ inputChange() {
+ if (this.keywords) {
+ this.search(true)
+ } else {
+ this.search(false)
+ }
+ },
// 点击搜索按钮
- search() {
- this.$emit('search', this.keywords)
+ search(clear) {
+ this.$emit('search', this.keywords, clear)
},
// 切换页码
changePage(val) {
diff --git a/src/views/overview/overviewAmap.vue b/src/views/overview/overviewAmap.vue
index 1da6eb4..f476759 100644
--- a/src/views/overview/overviewAmap.vue
+++ b/src/views/overview/overviewAmap.vue
@@ -117,7 +117,12 @@
},
watch: {
needRefresh(val) { // 需要刷新报警
- if (val) this.refreshAlarm()
+ if (val) {
+ if (this.baseConfig.refreshType == 'websocket') {
+ this.playAudio()
+ }
+ this.refreshAlarm()
+ }
},
'menus.locationWindowShow'(val) { // 打开弹窗设置默认中心,关闭弹窗清空屏幕
if (val) {
@@ -215,8 +220,10 @@
this.resultList = []
},
// 数据查询
- search(keywords) {
- if (keywords === '') {
+ search(args) {
+ const keywords = args[0]
+ const clear = args[1]
+ if (keywords === '' && !clear) {
this.$message.warning('搜索条件不能为空')
} else {
this.resultList = this.markers.filter(item => {
@@ -236,7 +243,7 @@
// 点击搜索结果项居中,弹窗
searchItemClick(marker) {
this.center = marker.lnglat
- this.openInfoWindow(marker.wellId, marker.lnglat, this.searchResultOffset[1])
+ this.openInfoWindow(marker.id, marker.lnglat, this.searchResultOffset[1])
},
// 过滤海量点,给markers赋visible值
filterMassMarker(listQuery, showMessage = false) {
@@ -475,16 +482,18 @@
if (response.code === 200) {
this.loading = false
// 判断最新报警时间,若和旧的最新时间不一样,则判断是否需要产生声音
- if (response.data.length > 0) {
- const latestTime = response.data[0].alarmTime
- console.log(latestTime, 'vs', this.latestAlarmTime)
- if (this.latestAlarmTime < latestTime) {
- // 如果不是初次加载并且声音开关开启状态
- if ((!this.alarmFirstAmount) && this.baseConfig.alarmSound) {
- console.log('playAudio')
- this.playAudio()
+ if (this.baseConfig.refreshType != 'websocket') {
+ if (response.data.length > 0) {
+ const latestTime = response.data[0].alarmTime
+ console.log(latestTime, 'vs', this.latestAlarmTime)
+ if (this.latestAlarmTime < latestTime) {
+ // 如果不是初次加载并且声音开关开启状态
+ if ((!this.alarmFirstAmount) && this.baseConfig.alarmSound) {
+ console.log('playAudio')
+ this.playAudio()
+ }
+ this.latestAlarmTime = latestTime
}
- this.latestAlarmTime = latestTime
}
}
this.alarmFirstAmount = false // 初次加载完毕
@@ -587,6 +596,7 @@
if (this.zoom < 16) {
this.zoom = 16
}
+ this.center = alarmWell.coordinates
this.openAlarmWindow(alarmWell.wellId, alarmWell.coordinates, true)
}
}