diff --git a/public/config/project.config.json b/public/config/project.config.json index b0804c0..54c91c6 100644 --- a/public/config/project.config.json +++ b/public/config/project.config.json @@ -3,18 +3,18 @@ "subtitle": "", "theme":"blue", "baseUrl": "http://60.208.121.150:5001/", - "wsUrl": "ws://60.208.121.150:5001/websocket/", + "wsUrl": "ws://60.208.121.150:5001/websocket", "mainPage": "http://111.198.10.15:11404/dcms/#", "amapSecurityCode": "182a2c5889f7fe6d90546d9b8f4781ad", "amapKey": "1733551f35b56f6d8e9c0a9d4c2523b", "mapType": "gaode", + "alarmSound": true, "singleSys": true, "refreshType":"websocket", - "refreshTime": 60, "showPointType":"massMarkers", "showAllWells": true, "provinceCode":"360000", "cityCode":"361000", "areaCode":"361024", - "arcgisUrl": "http://111.198.10.15:13002/arcgis/rest/services/zq_GxData0825/MapServer/" + "arcgisUrl": "http://111.198.10.15:13002/arcgis/rest/services/zqRq/MapServer/" } diff --git a/public/config/project.config.json b/public/config/project.config.json index b0804c0..54c91c6 100644 --- a/public/config/project.config.json +++ b/public/config/project.config.json @@ -3,18 +3,18 @@ "subtitle": "", "theme":"blue", "baseUrl": "http://60.208.121.150:5001/", - "wsUrl": "ws://60.208.121.150:5001/websocket/", + "wsUrl": "ws://60.208.121.150:5001/websocket", "mainPage": "http://111.198.10.15:11404/dcms/#", "amapSecurityCode": "182a2c5889f7fe6d90546d9b8f4781ad", "amapKey": "1733551f35b56f6d8e9c0a9d4c2523b", "mapType": "gaode", + "alarmSound": true, "singleSys": true, "refreshType":"websocket", - "refreshTime": 60, "showPointType":"massMarkers", "showAllWells": true, "provinceCode":"360000", "cityCode":"361000", "areaCode":"361024", - "arcgisUrl": "http://111.198.10.15:13002/arcgis/rest/services/zq_GxData0825/MapServer/" + "arcgisUrl": "http://111.198.10.15:13002/arcgis/rest/services/zqRq/MapServer/" } diff --git a/src/App.vue b/src/App.vue index 3320e88..dca0151 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,6 +1,7 @@ diff --git a/public/config/project.config.json b/public/config/project.config.json index b0804c0..54c91c6 100644 --- a/public/config/project.config.json +++ b/public/config/project.config.json @@ -3,18 +3,18 @@ "subtitle": "", "theme":"blue", "baseUrl": "http://60.208.121.150:5001/", - "wsUrl": "ws://60.208.121.150:5001/websocket/", + "wsUrl": "ws://60.208.121.150:5001/websocket", "mainPage": "http://111.198.10.15:11404/dcms/#", "amapSecurityCode": "182a2c5889f7fe6d90546d9b8f4781ad", "amapKey": "1733551f35b56f6d8e9c0a9d4c2523b", "mapType": "gaode", + "alarmSound": true, "singleSys": true, "refreshType":"websocket", - "refreshTime": 60, "showPointType":"massMarkers", "showAllWells": true, "provinceCode":"360000", "cityCode":"361000", "areaCode":"361024", - "arcgisUrl": "http://111.198.10.15:13002/arcgis/rest/services/zq_GxData0825/MapServer/" + "arcgisUrl": "http://111.198.10.15:13002/arcgis/rest/services/zqRq/MapServer/" } diff --git a/src/App.vue b/src/App.vue index 3320e88..dca0151 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,6 +1,7 @@ diff --git a/src/api/overview/wellOverview.js b/src/api/overview/wellOverview.js index e4643d2..baba84a 100644 --- a/src/api/overview/wellOverview.js +++ b/src/api/overview/wellOverview.js @@ -3,6 +3,14 @@ */ import request from '@/utils/request' // 井查询 +export function getWellListScope(params) { + return request({ + url: 'overview/wellList', + method: 'get', + params + }) +} +// 井查询 export function getWellList(params) { return request({ baseURL: 'http://60.208.121.150:5002/', @@ -22,6 +30,14 @@ }) } // 获取报警列表 +export function getAlarmsNowScope(params) { + return request({ + url: 'overview/alarmNow', + method: 'get', + params + }) +} +// 获取报警列表 export function getAlarmsNow(params) { return request({ baseURL: 'http://60.208.121.150:5002/', diff --git a/public/config/project.config.json b/public/config/project.config.json index b0804c0..54c91c6 100644 --- a/public/config/project.config.json +++ b/public/config/project.config.json @@ -3,18 +3,18 @@ "subtitle": "", "theme":"blue", "baseUrl": "http://60.208.121.150:5001/", - "wsUrl": "ws://60.208.121.150:5001/websocket/", + "wsUrl": "ws://60.208.121.150:5001/websocket", "mainPage": "http://111.198.10.15:11404/dcms/#", "amapSecurityCode": "182a2c5889f7fe6d90546d9b8f4781ad", "amapKey": "1733551f35b56f6d8e9c0a9d4c2523b", "mapType": "gaode", + "alarmSound": true, "singleSys": true, "refreshType":"websocket", - "refreshTime": 60, "showPointType":"massMarkers", "showAllWells": true, "provinceCode":"360000", "cityCode":"361000", "areaCode":"361024", - "arcgisUrl": "http://111.198.10.15:13002/arcgis/rest/services/zq_GxData0825/MapServer/" + "arcgisUrl": "http://111.198.10.15:13002/arcgis/rest/services/zqRq/MapServer/" } diff --git a/src/App.vue b/src/App.vue index 3320e88..dca0151 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,6 +1,7 @@ diff --git a/src/api/overview/wellOverview.js b/src/api/overview/wellOverview.js index e4643d2..baba84a 100644 --- a/src/api/overview/wellOverview.js +++ b/src/api/overview/wellOverview.js @@ -3,6 +3,14 @@ */ import request from '@/utils/request' // 井查询 +export function getWellListScope(params) { + return request({ + url: 'overview/wellList', + method: 'get', + params + }) +} +// 井查询 export function getWellList(params) { return request({ baseURL: 'http://60.208.121.150:5002/', @@ -22,6 +30,14 @@ }) } // 获取报警列表 +export function getAlarmsNowScope(params) { + return request({ + url: 'overview/alarmNow', + method: 'get', + params + }) +} +// 获取报警列表 export function getAlarmsNow(params) { return request({ baseURL: 'http://60.208.121.150:5002/', 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/public/config/project.config.json b/public/config/project.config.json index b0804c0..54c91c6 100644 --- a/public/config/project.config.json +++ b/public/config/project.config.json @@ -3,18 +3,18 @@ "subtitle": "", "theme":"blue", "baseUrl": "http://60.208.121.150:5001/", - "wsUrl": "ws://60.208.121.150:5001/websocket/", + "wsUrl": "ws://60.208.121.150:5001/websocket", "mainPage": "http://111.198.10.15:11404/dcms/#", "amapSecurityCode": "182a2c5889f7fe6d90546d9b8f4781ad", "amapKey": "1733551f35b56f6d8e9c0a9d4c2523b", "mapType": "gaode", + "alarmSound": true, "singleSys": true, "refreshType":"websocket", - "refreshTime": 60, "showPointType":"massMarkers", "showAllWells": true, "provinceCode":"360000", "cityCode":"361000", "areaCode":"361024", - "arcgisUrl": "http://111.198.10.15:13002/arcgis/rest/services/zq_GxData0825/MapServer/" + "arcgisUrl": "http://111.198.10.15:13002/arcgis/rest/services/zqRq/MapServer/" } diff --git a/src/App.vue b/src/App.vue index 3320e88..dca0151 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,6 +1,7 @@ diff --git a/src/api/overview/wellOverview.js b/src/api/overview/wellOverview.js index e4643d2..baba84a 100644 --- a/src/api/overview/wellOverview.js +++ b/src/api/overview/wellOverview.js @@ -3,6 +3,14 @@ */ import request from '@/utils/request' // 井查询 +export function getWellListScope(params) { + return request({ + url: 'overview/wellList', + method: 'get', + params + }) +} +// 井查询 export function getWellList(params) { return request({ baseURL: 'http://60.208.121.150:5002/', @@ -22,6 +30,14 @@ }) } // 获取报警列表 +export function getAlarmsNowScope(params) { + return request({ + url: 'overview/alarmNow', + method: 'get', + params + }) +} +// 获取报警列表 export function getAlarmsNow(params) { return request({ baseURL: 'http://60.208.121.150:5002/', 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/components/Amap/mixins/register-component.js b/src/components/Amap/mixins/register-component.js index b256cce..aac7931 100644 --- a/src/components/Amap/mixins/register-component.js +++ b/src/components/Amap/mixins/register-component.js @@ -10,7 +10,7 @@ }, mounted() { - console.log('mounted') + // console.log('mounted') this.map = this.map || this.$parent.map if (this.map) { this.register() @@ -142,7 +142,7 @@ Object.keys(this._props).forEach(k => { const fn = this.$amapComponent[`set${upperCamelCase(k)}`] if (fn) { - console.log(k) + // console.log(k) } }) }, diff --git a/public/config/project.config.json b/public/config/project.config.json index b0804c0..54c91c6 100644 --- a/public/config/project.config.json +++ b/public/config/project.config.json @@ -3,18 +3,18 @@ "subtitle": "", "theme":"blue", "baseUrl": "http://60.208.121.150:5001/", - "wsUrl": "ws://60.208.121.150:5001/websocket/", + "wsUrl": "ws://60.208.121.150:5001/websocket", "mainPage": "http://111.198.10.15:11404/dcms/#", "amapSecurityCode": "182a2c5889f7fe6d90546d9b8f4781ad", "amapKey": "1733551f35b56f6d8e9c0a9d4c2523b", "mapType": "gaode", + "alarmSound": true, "singleSys": true, "refreshType":"websocket", - "refreshTime": 60, "showPointType":"massMarkers", "showAllWells": true, "provinceCode":"360000", "cityCode":"361000", "areaCode":"361024", - "arcgisUrl": "http://111.198.10.15:13002/arcgis/rest/services/zq_GxData0825/MapServer/" + "arcgisUrl": "http://111.198.10.15:13002/arcgis/rest/services/zqRq/MapServer/" } diff --git a/src/App.vue b/src/App.vue index 3320e88..dca0151 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,6 +1,7 @@ diff --git a/src/api/overview/wellOverview.js b/src/api/overview/wellOverview.js index e4643d2..baba84a 100644 --- a/src/api/overview/wellOverview.js +++ b/src/api/overview/wellOverview.js @@ -3,6 +3,14 @@ */ import request from '@/utils/request' // 井查询 +export function getWellListScope(params) { + return request({ + url: 'overview/wellList', + method: 'get', + params + }) +} +// 井查询 export function getWellList(params) { return request({ baseURL: 'http://60.208.121.150:5002/', @@ -22,6 +30,14 @@ }) } // 获取报警列表 +export function getAlarmsNowScope(params) { + return request({ + url: 'overview/alarmNow', + method: 'get', + params + }) +} +// 获取报警列表 export function getAlarmsNow(params) { return request({ baseURL: 'http://60.208.121.150:5002/', 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/components/Amap/mixins/register-component.js b/src/components/Amap/mixins/register-component.js index b256cce..aac7931 100644 --- a/src/components/Amap/mixins/register-component.js +++ b/src/components/Amap/mixins/register-component.js @@ -10,7 +10,7 @@ }, mounted() { - console.log('mounted') + // console.log('mounted') this.map = this.map || this.$parent.map if (this.map) { this.register() @@ -142,7 +142,7 @@ Object.keys(this._props).forEach(k => { const fn = this.$amapComponent[`set${upperCamelCase(k)}`] if (fn) { - console.log(k) + // console.log(k) } }) }, 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/public/config/project.config.json b/public/config/project.config.json index b0804c0..54c91c6 100644 --- a/public/config/project.config.json +++ b/public/config/project.config.json @@ -3,18 +3,18 @@ "subtitle": "", "theme":"blue", "baseUrl": "http://60.208.121.150:5001/", - "wsUrl": "ws://60.208.121.150:5001/websocket/", + "wsUrl": "ws://60.208.121.150:5001/websocket", "mainPage": "http://111.198.10.15:11404/dcms/#", "amapSecurityCode": "182a2c5889f7fe6d90546d9b8f4781ad", "amapKey": "1733551f35b56f6d8e9c0a9d4c2523b", "mapType": "gaode", + "alarmSound": true, "singleSys": true, "refreshType":"websocket", - "refreshTime": 60, "showPointType":"massMarkers", "showAllWells": true, "provinceCode":"360000", "cityCode":"361000", "areaCode":"361024", - "arcgisUrl": "http://111.198.10.15:13002/arcgis/rest/services/zq_GxData0825/MapServer/" + "arcgisUrl": "http://111.198.10.15:13002/arcgis/rest/services/zqRq/MapServer/" } diff --git a/src/App.vue b/src/App.vue index 3320e88..dca0151 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,6 +1,7 @@ diff --git a/src/api/overview/wellOverview.js b/src/api/overview/wellOverview.js index e4643d2..baba84a 100644 --- a/src/api/overview/wellOverview.js +++ b/src/api/overview/wellOverview.js @@ -3,6 +3,14 @@ */ import request from '@/utils/request' // 井查询 +export function getWellListScope(params) { + return request({ + url: 'overview/wellList', + method: 'get', + params + }) +} +// 井查询 export function getWellList(params) { return request({ baseURL: 'http://60.208.121.150:5002/', @@ -22,6 +30,14 @@ }) } // 获取报警列表 +export function getAlarmsNowScope(params) { + return request({ + url: 'overview/alarmNow', + method: 'get', + params + }) +} +// 获取报警列表 export function getAlarmsNow(params) { return request({ baseURL: 'http://60.208.121.150:5002/', 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/components/Amap/mixins/register-component.js b/src/components/Amap/mixins/register-component.js index b256cce..aac7931 100644 --- a/src/components/Amap/mixins/register-component.js +++ b/src/components/Amap/mixins/register-component.js @@ -10,7 +10,7 @@ }, mounted() { - console.log('mounted') + // console.log('mounted') this.map = this.map || this.$parent.map if (this.map) { this.register() @@ -142,7 +142,7 @@ Object.keys(this._props).forEach(k => { const fn = this.$amapComponent[`set${upperCamelCase(k)}`] if (fn) { - console.log(k) + // console.log(k) } }) }, 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 f966759..f8a4b83 100644 --- a/src/main.js +++ b/src/main.js @@ -44,32 +44,38 @@ Vue.use(dataV) // 引入音频文件 -import audio from '@/assets/audio/alarm.mp3' +import alarmAudio from '@/assets/audio/alarm.mp3' // 方法1:注册播放音频事件到Vue实例上 -Vue.prototype.playAudio = (audioName) => { - const buttonAudio = document.getElementById('eventAudio') - buttonAudio.setAttribute('src', audio) - console.log(buttonAudio) - const playPromise = buttonAudio.play() - if (playPromise) { - playPromise.then(() => { - // 音频加载成功 - console.log('音频加载成功') - }).catch((e) => { - // 音频加载失败 - console.error(e.message) - }) - } - if (buttonAudio.paused === true) { - buttonAudio.load() - } else { +Vue.prototype.playAudio = () => { + const audio = document.getElementById('eventAudio') + audio.setAttribute('src', alarmAudio) + audio.loop = 'loop' + if (audio.paused === true) { // 判断音频是否暂停,暂停重新加载音频元素 + audio.load() + } else { // 否则 + // audio.pause() setTimeout(() => { - buttonAudio.pause() - buttonAudio.play() + // audio.play() + const playPromise = audio.load() + if (playPromise) { + playPromise.then(() => { + // 音频加载成功 + console.log('音频加载成功') + }).catch((e) => { + // 音频加载失败 + console.error(e.message) + }) + } }, 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/public/config/project.config.json b/public/config/project.config.json index b0804c0..54c91c6 100644 --- a/public/config/project.config.json +++ b/public/config/project.config.json @@ -3,18 +3,18 @@ "subtitle": "", "theme":"blue", "baseUrl": "http://60.208.121.150:5001/", - "wsUrl": "ws://60.208.121.150:5001/websocket/", + "wsUrl": "ws://60.208.121.150:5001/websocket", "mainPage": "http://111.198.10.15:11404/dcms/#", "amapSecurityCode": "182a2c5889f7fe6d90546d9b8f4781ad", "amapKey": "1733551f35b56f6d8e9c0a9d4c2523b", "mapType": "gaode", + "alarmSound": true, "singleSys": true, "refreshType":"websocket", - "refreshTime": 60, "showPointType":"massMarkers", "showAllWells": true, "provinceCode":"360000", "cityCode":"361000", "areaCode":"361024", - "arcgisUrl": "http://111.198.10.15:13002/arcgis/rest/services/zq_GxData0825/MapServer/" + "arcgisUrl": "http://111.198.10.15:13002/arcgis/rest/services/zqRq/MapServer/" } diff --git a/src/App.vue b/src/App.vue index 3320e88..dca0151 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,6 +1,7 @@ diff --git a/src/api/overview/wellOverview.js b/src/api/overview/wellOverview.js index e4643d2..baba84a 100644 --- a/src/api/overview/wellOverview.js +++ b/src/api/overview/wellOverview.js @@ -3,6 +3,14 @@ */ import request from '@/utils/request' // 井查询 +export function getWellListScope(params) { + return request({ + url: 'overview/wellList', + method: 'get', + params + }) +} +// 井查询 export function getWellList(params) { return request({ baseURL: 'http://60.208.121.150:5002/', @@ -22,6 +30,14 @@ }) } // 获取报警列表 +export function getAlarmsNowScope(params) { + return request({ + url: 'overview/alarmNow', + method: 'get', + params + }) +} +// 获取报警列表 export function getAlarmsNow(params) { return request({ baseURL: 'http://60.208.121.150:5002/', 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/components/Amap/mixins/register-component.js b/src/components/Amap/mixins/register-component.js index b256cce..aac7931 100644 --- a/src/components/Amap/mixins/register-component.js +++ b/src/components/Amap/mixins/register-component.js @@ -10,7 +10,7 @@ }, mounted() { - console.log('mounted') + // console.log('mounted') this.map = this.map || this.$parent.map if (this.map) { this.register() @@ -142,7 +142,7 @@ Object.keys(this._props).forEach(k => { const fn = this.$amapComponent[`set${upperCamelCase(k)}`] if (fn) { - console.log(k) + // console.log(k) } }) }, 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 f966759..f8a4b83 100644 --- a/src/main.js +++ b/src/main.js @@ -44,32 +44,38 @@ Vue.use(dataV) // 引入音频文件 -import audio from '@/assets/audio/alarm.mp3' +import alarmAudio from '@/assets/audio/alarm.mp3' // 方法1:注册播放音频事件到Vue实例上 -Vue.prototype.playAudio = (audioName) => { - const buttonAudio = document.getElementById('eventAudio') - buttonAudio.setAttribute('src', audio) - console.log(buttonAudio) - const playPromise = buttonAudio.play() - if (playPromise) { - playPromise.then(() => { - // 音频加载成功 - console.log('音频加载成功') - }).catch((e) => { - // 音频加载失败 - console.error(e.message) - }) - } - if (buttonAudio.paused === true) { - buttonAudio.load() - } else { +Vue.prototype.playAudio = () => { + const audio = document.getElementById('eventAudio') + audio.setAttribute('src', alarmAudio) + audio.loop = 'loop' + if (audio.paused === true) { // 判断音频是否暂停,暂停重新加载音频元素 + audio.load() + } else { // 否则 + // audio.pause() setTimeout(() => { - buttonAudio.pause() - buttonAudio.play() + // audio.play() + const playPromise = audio.load() + if (playPromise) { + playPromise.then(() => { + // 音频加载成功 + console.log('音频加载成功') + }).catch((e) => { + // 音频加载失败 + console.error(e.message) + }) + } }, 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 e1b69df..6ed57cf 100644 --- a/src/store/modules/websocket.js +++ b/src/store/modules/websocket.js @@ -8,7 +8,7 @@ wsUrl: getWsUrl(), websocket: null, wsStatus: false, // websocket连接状态 - needRefresh: true // 是否需要刷新数据 + needRefresh: false // 是否需要刷新数据 }, mutations: { SET_WEBSOCKET: (state, websocket) => { @@ -24,7 +24,7 @@ actions: { // 连接websocket - initWebSocket({ commit }, wsUrl) { + initWebSocket({ commit }, that) { if (typeof (WebSocket) === 'undefined') { Notification({ title: '提示', @@ -33,10 +33,11 @@ duration: 0 }) } else { + // that.playAudio() // 测试音效 // 获取token保存到vuex中的用户信息,此处仅适用于本项目,注意删除或修改 // 实例化socket,这里我把用户名传给了后台,使后台能判断要把消息发给哪个用户,其实也可以后台直接获取用户IP来判断并推送 const socketUrl = getWsUrl() + user.state.id - console.log('======>', socketUrl) + console.log('初始化websocket===>', socketUrl) const socket = new WebSocket(socketUrl) commit('SET_WEBSOCKET', socket) commit('SET_WS_STATUS', true) @@ -46,7 +47,6 @@ } // 监听socket消息接收 socket.onmessage = function(msg) { - debugger // 转换为json对象 const data = JSON.parse(msg.data) console.log(data) @@ -57,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/public/config/project.config.json b/public/config/project.config.json index b0804c0..54c91c6 100644 --- a/public/config/project.config.json +++ b/public/config/project.config.json @@ -3,18 +3,18 @@ "subtitle": "", "theme":"blue", "baseUrl": "http://60.208.121.150:5001/", - "wsUrl": "ws://60.208.121.150:5001/websocket/", + "wsUrl": "ws://60.208.121.150:5001/websocket", "mainPage": "http://111.198.10.15:11404/dcms/#", "amapSecurityCode": "182a2c5889f7fe6d90546d9b8f4781ad", "amapKey": "1733551f35b56f6d8e9c0a9d4c2523b", "mapType": "gaode", + "alarmSound": true, "singleSys": true, "refreshType":"websocket", - "refreshTime": 60, "showPointType":"massMarkers", "showAllWells": true, "provinceCode":"360000", "cityCode":"361000", "areaCode":"361024", - "arcgisUrl": "http://111.198.10.15:13002/arcgis/rest/services/zq_GxData0825/MapServer/" + "arcgisUrl": "http://111.198.10.15:13002/arcgis/rest/services/zqRq/MapServer/" } diff --git a/src/App.vue b/src/App.vue index 3320e88..dca0151 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,6 +1,7 @@ diff --git a/src/api/overview/wellOverview.js b/src/api/overview/wellOverview.js index e4643d2..baba84a 100644 --- a/src/api/overview/wellOverview.js +++ b/src/api/overview/wellOverview.js @@ -3,6 +3,14 @@ */ import request from '@/utils/request' // 井查询 +export function getWellListScope(params) { + return request({ + url: 'overview/wellList', + method: 'get', + params + }) +} +// 井查询 export function getWellList(params) { return request({ baseURL: 'http://60.208.121.150:5002/', @@ -22,6 +30,14 @@ }) } // 获取报警列表 +export function getAlarmsNowScope(params) { + return request({ + url: 'overview/alarmNow', + method: 'get', + params + }) +} +// 获取报警列表 export function getAlarmsNow(params) { return request({ baseURL: 'http://60.208.121.150:5002/', 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/components/Amap/mixins/register-component.js b/src/components/Amap/mixins/register-component.js index b256cce..aac7931 100644 --- a/src/components/Amap/mixins/register-component.js +++ b/src/components/Amap/mixins/register-component.js @@ -10,7 +10,7 @@ }, mounted() { - console.log('mounted') + // console.log('mounted') this.map = this.map || this.$parent.map if (this.map) { this.register() @@ -142,7 +142,7 @@ Object.keys(this._props).forEach(k => { const fn = this.$amapComponent[`set${upperCamelCase(k)}`] if (fn) { - console.log(k) + // console.log(k) } }) }, 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 f966759..f8a4b83 100644 --- a/src/main.js +++ b/src/main.js @@ -44,32 +44,38 @@ Vue.use(dataV) // 引入音频文件 -import audio from '@/assets/audio/alarm.mp3' +import alarmAudio from '@/assets/audio/alarm.mp3' // 方法1:注册播放音频事件到Vue实例上 -Vue.prototype.playAudio = (audioName) => { - const buttonAudio = document.getElementById('eventAudio') - buttonAudio.setAttribute('src', audio) - console.log(buttonAudio) - const playPromise = buttonAudio.play() - if (playPromise) { - playPromise.then(() => { - // 音频加载成功 - console.log('音频加载成功') - }).catch((e) => { - // 音频加载失败 - console.error(e.message) - }) - } - if (buttonAudio.paused === true) { - buttonAudio.load() - } else { +Vue.prototype.playAudio = () => { + const audio = document.getElementById('eventAudio') + audio.setAttribute('src', alarmAudio) + audio.loop = 'loop' + if (audio.paused === true) { // 判断音频是否暂停,暂停重新加载音频元素 + audio.load() + } else { // 否则 + // audio.pause() setTimeout(() => { - buttonAudio.pause() - buttonAudio.play() + // audio.play() + const playPromise = audio.load() + if (playPromise) { + playPromise.then(() => { + // 音频加载成功 + console.log('音频加载成功') + }).catch((e) => { + // 音频加载失败 + console.error(e.message) + }) + } }, 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 e1b69df..6ed57cf 100644 --- a/src/store/modules/websocket.js +++ b/src/store/modules/websocket.js @@ -8,7 +8,7 @@ wsUrl: getWsUrl(), websocket: null, wsStatus: false, // websocket连接状态 - needRefresh: true // 是否需要刷新数据 + needRefresh: false // 是否需要刷新数据 }, mutations: { SET_WEBSOCKET: (state, websocket) => { @@ -24,7 +24,7 @@ actions: { // 连接websocket - initWebSocket({ commit }, wsUrl) { + initWebSocket({ commit }, that) { if (typeof (WebSocket) === 'undefined') { Notification({ title: '提示', @@ -33,10 +33,11 @@ duration: 0 }) } else { + // that.playAudio() // 测试音效 // 获取token保存到vuex中的用户信息,此处仅适用于本项目,注意删除或修改 // 实例化socket,这里我把用户名传给了后台,使后台能判断要把消息发给哪个用户,其实也可以后台直接获取用户IP来判断并推送 const socketUrl = getWsUrl() + user.state.id - console.log('======>', socketUrl) + console.log('初始化websocket===>', socketUrl) const socket = new WebSocket(socketUrl) commit('SET_WEBSOCKET', socket) commit('SET_WS_STATUS', true) @@ -46,7 +47,6 @@ } // 监听socket消息接收 socket.onmessage = function(msg) { - debugger // 转换为json对象 const data = JSON.parse(msg.data) console.log(data) @@ -57,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/alarmManage/listAlarmNow.vue b/src/views/alarmManage/listAlarmNow.vue index 0a1cae5..f9c6697 100644 --- a/src/views/alarmManage/listAlarmNow.vue +++ b/src/views/alarmManage/listAlarmNow.vue @@ -59,8 +59,8 @@ - - + +