diff --git a/src/views/overview/overviewSimple.vue b/src/views/overview/overviewSimple.vue index 31c47d0..193488e 100644 --- a/src/views/overview/overviewSimple.vue +++ b/src/views/overview/overviewSimple.vue @@ -112,10 +112,7 @@ var img_layer = null var tile_layer = null var tiles3dLayer = null - var rain_point_layer = null - var rain_point_layer1 = null var sewage_point_layer = null - var alarm_layer = null var fly_layer = null var building = null var flow = null @@ -217,7 +214,11 @@ street.show = true }else{ window.map.basemap = 2021 - building.show = true + if(window.map.scene._mode === Cesium.SceneMode.SCENE3D){ + building.show = true + }else{ + building.show = false + } flow.show = true street.show = false } @@ -241,44 +242,22 @@ showAll(val) { tile_layer.show = val }, - // needRefresh(val) { - // // 需要刷新 - // if (val) { - // this.refreshAlarm() - // } - // }, showAlarm(val){ if(!val && this.currentWindow.windowType=='alarm'){ this.currentWindow.visible = false } - alarm_layer.show = val + this.initpoints() } }, - created() { - this.fetchWellType() - }, - computed: { - handler() { - return new Cesium.ScreenSpaceEventHandler(window.map.scene.canvas) - } - }, + // created() { + // this.fetchWellType() + // }, + // computed: { + // handler() { + // return new Cesium.ScreenSpaceEventHandler(window.map.scene.canvas) + // } + // }, methods: { - changetype(){ - if(this.listQuery.wellType==='1'){ // 雨水 - rain_point_layer.show = true - rain_point_layer1.show = true - sewage_point_layer.show = false - }else if(this.listQuery.wellType==='2'){ //污水 - rain_point_layer.show = false - rain_point_layer1.show = false - sewage_point_layer.show = true - }else{ - rain_point_layer.show = true - rain_point_layer1.show = true - sewage_point_layer.show = true - } - }, - async initpoints() { // 井 let params = '' @@ -294,7 +273,7 @@ url: '../static/model/ys.gltf', scale: 2 }, - popup: `供水井
井编号:${response.data[i].wellCode}
所属单位:${response.data[i].deptName}
详细位置:${response.data[i].position}`, + popup: `给水井
井编号:${response.data[i].wellCode}
所属单位:${response.data[i].deptName}
详细位置:${response.data[i].position}`, })) } } @@ -331,6 +310,7 @@ popup: `远程水表
设备编号:${response.data[i].devcode}
设备模型:${response.data[i].modelName}
设备类型:${response.data[i].deviceTypeName}
井编号:${response.data[i].wellCode}
所属单位:${response.data[i].deptName}
详细位置:${response.data[i].position}` })) } + this.refreshAlarm() } }) params = '8' @@ -366,6 +346,7 @@ popup: `噪声记录仪
设备编号:${response.data[i].devcode}
设备模型:${response.data[i].modelName}
设备类型:${response.data[i].deviceTypeName}
井编号:${response.data[i].wellCode}
所属单位:${response.data[i].deptName}
详细位置:${response.data[i].position}` })) } + this.refreshAlarm() } }) }, @@ -541,6 +522,14 @@ }, Cesium.ScreenSpaceEventType.LEFT_CLICK) + map.on(mars3d.EventType.morphComplete, function (event) { + if(window.map.scene._mode !== Cesium.SceneMode.SCENE3D){ + building.show = false + }else{ + building.show = !this.value + } + }) + axios.get('./static/position.json').then((result) => { const positions = result.data.positions flow = new mars3d.layer.GraphicLayer() @@ -555,7 +544,6 @@ }).catch((error) => { console.log('get position error...' + error) }) - // tile_layer = new mars3d.layer.ArcGisLayer({ // url: 'http://223.82.47.232:11408/arcgis/rest/services/crgx/MapServer', // layers: '0,3', @@ -631,24 +619,23 @@ // }) // map.addLayer(wsline) this.initpoints() - this.refreshAlarm() }, // 获取井类型,显示井类型下拉 - fetchWellType() { - getWellType().then(response => { - this.wellTypeList = [] - // 如果该用户支持的井类型只有一个,则不显示该筛选框 - // const wellTypes = this.$store.getters.wellTypes - for (const wellType of response.data) { - // if (wellTypes.indexOf(wellType.value) !== -1) { - this.wellTypeList.push(wellType) - // } - } - if (this.wellTypeList.length <= 1) { - this.showWellType = false - } - }) - }, + // fetchWellType() { + // getWellType().then(response => { + // this.wellTypeList = [] + // // 如果该用户支持的井类型只有一个,则不显示该筛选框 + // // const wellTypes = this.$store.getters.wellTypes + // for (const wellType of response.data) { + // // if (wellTypes.indexOf(wellType.value) !== -1) { + // this.wellTypeList.push(wellType) + // // } + // } + // if (this.wellTypeList.length <= 1) { + // this.showWellType = false + // } + // }) + // }, addFlow(positions,repeat){ var style = { width: 10, @@ -731,7 +718,7 @@ }) }, // 刷新报警列表 - refreshAlarm() { + async refreshAlarm() { this.count = 60 this.loading = true getAlarmsNow().then(response => { @@ -743,41 +730,37 @@ this.hasAlarm = true } for (const alarm of response.data) { - // if() + for(const watch of watch_pic_layer.graphics){ + if(alarm.devcode === watch.options.id){ + if(!watch.popup.startsWith('报警')){ + watch.setStyle({ + image: '../static/images/icon/asb.png', + scale: 1, + horizontalOrigin: Cesium.HorizontalOrigin.CENTER, + verticalOrigin: Cesium.VerticalOrigin.BOTTOM, + scaleByDistance: new Cesium.NearFarScalar(10, 1, 2000, 0.3), + }) + watch.popup = `报警远程水表
设备编号:${alarm.devcode}
井编号:${alarm.wellCode}
井类型:${alarm.wellTypeName}
报警时间:${alarm.alarmTime}
报警数值:${alarm.alarmValue}
报警内容:${alarm.alarmContent}
详细位置:${alarm.position}` + } + break + } + } + for(const zs of zs_pic_layer.graphics){ + if(alarm.devcode === zs.options.id){ + if(!zs.popup.startsWith('报警')){ + zs.setStyle({ + image: '../static/images/icon/azs.png', + scale: 1, + horizontalOrigin: Cesium.HorizontalOrigin.CENTER, + verticalOrigin: Cesium.VerticalOrigin.BOTTOM, + scaleByDistance: new Cesium.NearFarScalar(10, 1, 2000, 0.3), + }) + zs.popup = `报警噪声记录仪仪
设备编号:${alarm.devcode}
井编号:${alarm.wellCode}
井类型:${alarm.wellTypeName}
报警时间:${alarm.alarmTime}
报警数值:${alarm.alarmValue}
报警内容:${alarm.alarmContent}
详细位置:${alarm.position}` + } + break + } + } } - // let str = "1 <> 1" - // var map = {}; - // for (const alarm of response.data) { - // str += (" or 编号 = '" + alarm.wellCode + "'") - // map[alarm.wellCode] = alarm - // } - // if(alarm_layer!==null){ - // window.map.removeLayer(alarm_layer) - // } - // alarm_layer = new mars3d.layer.ArcGisWfsLayer({ - // name: '报警点', - // url: 'http://223.82.47.232:11408/arcgis/rest/services/sfw/MapServer/1', - // where: str, - // // minimumLevel: 15, - // symbol: { - // type: 'modelP', - // styleOptions: { - // url: '../static/model/baojing.gltf', - // minimumPixelSize: 20, - // maximumScale: 15, - // scale: 1 - // }, - // // callback: function (attr, styleOpt){ - // // var val= {attr}.attr - // // return {setHeight: val.井深} - // // } - // }, - // popup: function(e){ - // var val = e.graphic.options.attr - // return `井编号:${val.编号}
井名称:${val.附属物名称}
所属道路:${val.所属道路}
告警原因:${map[val.编号].alarmContent}
告警时间:${map[val.编号].alarmTime}` - // } - // }) - // window.map.addLayer(alarm_layer) } }) }, @@ -810,30 +793,21 @@ if(this.alpha<10){ this.alpha = 15 } - - this.flytoinit() - if(fly_layer!==null) window.map.removeLayer(fly_layer) - const wellId = row.wellCode - let str = "编号 = '" + wellId + "'" - fly_layer = null - fly_layer = new mars3d.layer.ArcGisWfsLayer({ - name: '报警点', - url: 'http://223.82.47.232:11408/arcgis/rest/services/sfw/MapServer/1', - where: str, - symbol: { - type: 'modelP', - styleOptions: { - url: '../static/model/baojing.gltf', - scale: 0 - }, - callback: function (attr, styleOpt){ - var val= {attr}.attr - var center = {lat: val.wd, lng: val.jd, alt: 50, heading: 360, pitch: -90} - window.map.setCameraView(center) - } + // this.flytoinit() + for(const watch of watch_pic_layer.graphics){ + if(row.devcode === watch.options.id){ + var center = {lat: watch._point._lat, lng: watch._point._lng, alt: 50, heading: 360, pitch: -90} + window.map.setCameraView(center) + break } - }) - window.map.addLayer(fly_layer) + } + for(const zs of zs_pic_layer.graphics){ + if(row.devcode === zs.options.id){ + var center = {lat: zs._point._lat, lng: zs._point._lng, alt: 50, heading: 360, pitch: -90} + window.map.setCameraView(center) + break + } + } } } } diff --git a/src/views/overview/overviewSimple.vue b/src/views/overview/overviewSimple.vue index 31c47d0..193488e 100644 --- a/src/views/overview/overviewSimple.vue +++ b/src/views/overview/overviewSimple.vue @@ -112,10 +112,7 @@ var img_layer = null var tile_layer = null var tiles3dLayer = null - var rain_point_layer = null - var rain_point_layer1 = null var sewage_point_layer = null - var alarm_layer = null var fly_layer = null var building = null var flow = null @@ -217,7 +214,11 @@ street.show = true }else{ window.map.basemap = 2021 - building.show = true + if(window.map.scene._mode === Cesium.SceneMode.SCENE3D){ + building.show = true + }else{ + building.show = false + } flow.show = true street.show = false } @@ -241,44 +242,22 @@ showAll(val) { tile_layer.show = val }, - // needRefresh(val) { - // // 需要刷新 - // if (val) { - // this.refreshAlarm() - // } - // }, showAlarm(val){ if(!val && this.currentWindow.windowType=='alarm'){ this.currentWindow.visible = false } - alarm_layer.show = val + this.initpoints() } }, - created() { - this.fetchWellType() - }, - computed: { - handler() { - return new Cesium.ScreenSpaceEventHandler(window.map.scene.canvas) - } - }, + // created() { + // this.fetchWellType() + // }, + // computed: { + // handler() { + // return new Cesium.ScreenSpaceEventHandler(window.map.scene.canvas) + // } + // }, methods: { - changetype(){ - if(this.listQuery.wellType==='1'){ // 雨水 - rain_point_layer.show = true - rain_point_layer1.show = true - sewage_point_layer.show = false - }else if(this.listQuery.wellType==='2'){ //污水 - rain_point_layer.show = false - rain_point_layer1.show = false - sewage_point_layer.show = true - }else{ - rain_point_layer.show = true - rain_point_layer1.show = true - sewage_point_layer.show = true - } - }, - async initpoints() { // 井 let params = '' @@ -294,7 +273,7 @@ url: '../static/model/ys.gltf', scale: 2 }, - popup: `供水井
井编号:${response.data[i].wellCode}
所属单位:${response.data[i].deptName}
详细位置:${response.data[i].position}`, + popup: `给水井
井编号:${response.data[i].wellCode}
所属单位:${response.data[i].deptName}
详细位置:${response.data[i].position}`, })) } } @@ -331,6 +310,7 @@ popup: `远程水表
设备编号:${response.data[i].devcode}
设备模型:${response.data[i].modelName}
设备类型:${response.data[i].deviceTypeName}
井编号:${response.data[i].wellCode}
所属单位:${response.data[i].deptName}
详细位置:${response.data[i].position}` })) } + this.refreshAlarm() } }) params = '8' @@ -366,6 +346,7 @@ popup: `噪声记录仪
设备编号:${response.data[i].devcode}
设备模型:${response.data[i].modelName}
设备类型:${response.data[i].deviceTypeName}
井编号:${response.data[i].wellCode}
所属单位:${response.data[i].deptName}
详细位置:${response.data[i].position}` })) } + this.refreshAlarm() } }) }, @@ -541,6 +522,14 @@ }, Cesium.ScreenSpaceEventType.LEFT_CLICK) + map.on(mars3d.EventType.morphComplete, function (event) { + if(window.map.scene._mode !== Cesium.SceneMode.SCENE3D){ + building.show = false + }else{ + building.show = !this.value + } + }) + axios.get('./static/position.json').then((result) => { const positions = result.data.positions flow = new mars3d.layer.GraphicLayer() @@ -555,7 +544,6 @@ }).catch((error) => { console.log('get position error...' + error) }) - // tile_layer = new mars3d.layer.ArcGisLayer({ // url: 'http://223.82.47.232:11408/arcgis/rest/services/crgx/MapServer', // layers: '0,3', @@ -631,24 +619,23 @@ // }) // map.addLayer(wsline) this.initpoints() - this.refreshAlarm() }, // 获取井类型,显示井类型下拉 - fetchWellType() { - getWellType().then(response => { - this.wellTypeList = [] - // 如果该用户支持的井类型只有一个,则不显示该筛选框 - // const wellTypes = this.$store.getters.wellTypes - for (const wellType of response.data) { - // if (wellTypes.indexOf(wellType.value) !== -1) { - this.wellTypeList.push(wellType) - // } - } - if (this.wellTypeList.length <= 1) { - this.showWellType = false - } - }) - }, + // fetchWellType() { + // getWellType().then(response => { + // this.wellTypeList = [] + // // 如果该用户支持的井类型只有一个,则不显示该筛选框 + // // const wellTypes = this.$store.getters.wellTypes + // for (const wellType of response.data) { + // // if (wellTypes.indexOf(wellType.value) !== -1) { + // this.wellTypeList.push(wellType) + // // } + // } + // if (this.wellTypeList.length <= 1) { + // this.showWellType = false + // } + // }) + // }, addFlow(positions,repeat){ var style = { width: 10, @@ -731,7 +718,7 @@ }) }, // 刷新报警列表 - refreshAlarm() { + async refreshAlarm() { this.count = 60 this.loading = true getAlarmsNow().then(response => { @@ -743,41 +730,37 @@ this.hasAlarm = true } for (const alarm of response.data) { - // if() + for(const watch of watch_pic_layer.graphics){ + if(alarm.devcode === watch.options.id){ + if(!watch.popup.startsWith('报警')){ + watch.setStyle({ + image: '../static/images/icon/asb.png', + scale: 1, + horizontalOrigin: Cesium.HorizontalOrigin.CENTER, + verticalOrigin: Cesium.VerticalOrigin.BOTTOM, + scaleByDistance: new Cesium.NearFarScalar(10, 1, 2000, 0.3), + }) + watch.popup = `报警远程水表
设备编号:${alarm.devcode}
井编号:${alarm.wellCode}
井类型:${alarm.wellTypeName}
报警时间:${alarm.alarmTime}
报警数值:${alarm.alarmValue}
报警内容:${alarm.alarmContent}
详细位置:${alarm.position}` + } + break + } + } + for(const zs of zs_pic_layer.graphics){ + if(alarm.devcode === zs.options.id){ + if(!zs.popup.startsWith('报警')){ + zs.setStyle({ + image: '../static/images/icon/azs.png', + scale: 1, + horizontalOrigin: Cesium.HorizontalOrigin.CENTER, + verticalOrigin: Cesium.VerticalOrigin.BOTTOM, + scaleByDistance: new Cesium.NearFarScalar(10, 1, 2000, 0.3), + }) + zs.popup = `报警噪声记录仪仪
设备编号:${alarm.devcode}
井编号:${alarm.wellCode}
井类型:${alarm.wellTypeName}
报警时间:${alarm.alarmTime}
报警数值:${alarm.alarmValue}
报警内容:${alarm.alarmContent}
详细位置:${alarm.position}` + } + break + } + } } - // let str = "1 <> 1" - // var map = {}; - // for (const alarm of response.data) { - // str += (" or 编号 = '" + alarm.wellCode + "'") - // map[alarm.wellCode] = alarm - // } - // if(alarm_layer!==null){ - // window.map.removeLayer(alarm_layer) - // } - // alarm_layer = new mars3d.layer.ArcGisWfsLayer({ - // name: '报警点', - // url: 'http://223.82.47.232:11408/arcgis/rest/services/sfw/MapServer/1', - // where: str, - // // minimumLevel: 15, - // symbol: { - // type: 'modelP', - // styleOptions: { - // url: '../static/model/baojing.gltf', - // minimumPixelSize: 20, - // maximumScale: 15, - // scale: 1 - // }, - // // callback: function (attr, styleOpt){ - // // var val= {attr}.attr - // // return {setHeight: val.井深} - // // } - // }, - // popup: function(e){ - // var val = e.graphic.options.attr - // return `井编号:${val.编号}
井名称:${val.附属物名称}
所属道路:${val.所属道路}
告警原因:${map[val.编号].alarmContent}
告警时间:${map[val.编号].alarmTime}` - // } - // }) - // window.map.addLayer(alarm_layer) } }) }, @@ -810,30 +793,21 @@ if(this.alpha<10){ this.alpha = 15 } - - this.flytoinit() - if(fly_layer!==null) window.map.removeLayer(fly_layer) - const wellId = row.wellCode - let str = "编号 = '" + wellId + "'" - fly_layer = null - fly_layer = new mars3d.layer.ArcGisWfsLayer({ - name: '报警点', - url: 'http://223.82.47.232:11408/arcgis/rest/services/sfw/MapServer/1', - where: str, - symbol: { - type: 'modelP', - styleOptions: { - url: '../static/model/baojing.gltf', - scale: 0 - }, - callback: function (attr, styleOpt){ - var val= {attr}.attr - var center = {lat: val.wd, lng: val.jd, alt: 50, heading: 360, pitch: -90} - window.map.setCameraView(center) - } + // this.flytoinit() + for(const watch of watch_pic_layer.graphics){ + if(row.devcode === watch.options.id){ + var center = {lat: watch._point._lat, lng: watch._point._lng, alt: 50, heading: 360, pitch: -90} + window.map.setCameraView(center) + break } - }) - window.map.addLayer(fly_layer) + } + for(const zs of zs_pic_layer.graphics){ + if(row.devcode === zs.options.id){ + var center = {lat: zs._point._lat, lng: zs._point._lng, alt: 50, heading: 360, pitch: -90} + window.map.setCameraView(center) + break + } + } } } } diff --git a/static/images/icon/asb.png b/static/images/icon/asb.png new file mode 100644 index 0000000..4b4f9c7 --- /dev/null +++ b/static/images/icon/asb.png Binary files differ diff --git a/src/views/overview/overviewSimple.vue b/src/views/overview/overviewSimple.vue index 31c47d0..193488e 100644 --- a/src/views/overview/overviewSimple.vue +++ b/src/views/overview/overviewSimple.vue @@ -112,10 +112,7 @@ var img_layer = null var tile_layer = null var tiles3dLayer = null - var rain_point_layer = null - var rain_point_layer1 = null var sewage_point_layer = null - var alarm_layer = null var fly_layer = null var building = null var flow = null @@ -217,7 +214,11 @@ street.show = true }else{ window.map.basemap = 2021 - building.show = true + if(window.map.scene._mode === Cesium.SceneMode.SCENE3D){ + building.show = true + }else{ + building.show = false + } flow.show = true street.show = false } @@ -241,44 +242,22 @@ showAll(val) { tile_layer.show = val }, - // needRefresh(val) { - // // 需要刷新 - // if (val) { - // this.refreshAlarm() - // } - // }, showAlarm(val){ if(!val && this.currentWindow.windowType=='alarm'){ this.currentWindow.visible = false } - alarm_layer.show = val + this.initpoints() } }, - created() { - this.fetchWellType() - }, - computed: { - handler() { - return new Cesium.ScreenSpaceEventHandler(window.map.scene.canvas) - } - }, + // created() { + // this.fetchWellType() + // }, + // computed: { + // handler() { + // return new Cesium.ScreenSpaceEventHandler(window.map.scene.canvas) + // } + // }, methods: { - changetype(){ - if(this.listQuery.wellType==='1'){ // 雨水 - rain_point_layer.show = true - rain_point_layer1.show = true - sewage_point_layer.show = false - }else if(this.listQuery.wellType==='2'){ //污水 - rain_point_layer.show = false - rain_point_layer1.show = false - sewage_point_layer.show = true - }else{ - rain_point_layer.show = true - rain_point_layer1.show = true - sewage_point_layer.show = true - } - }, - async initpoints() { // 井 let params = '' @@ -294,7 +273,7 @@ url: '../static/model/ys.gltf', scale: 2 }, - popup: `供水井
井编号:${response.data[i].wellCode}
所属单位:${response.data[i].deptName}
详细位置:${response.data[i].position}`, + popup: `给水井
井编号:${response.data[i].wellCode}
所属单位:${response.data[i].deptName}
详细位置:${response.data[i].position}`, })) } } @@ -331,6 +310,7 @@ popup: `远程水表
设备编号:${response.data[i].devcode}
设备模型:${response.data[i].modelName}
设备类型:${response.data[i].deviceTypeName}
井编号:${response.data[i].wellCode}
所属单位:${response.data[i].deptName}
详细位置:${response.data[i].position}` })) } + this.refreshAlarm() } }) params = '8' @@ -366,6 +346,7 @@ popup: `噪声记录仪
设备编号:${response.data[i].devcode}
设备模型:${response.data[i].modelName}
设备类型:${response.data[i].deviceTypeName}
井编号:${response.data[i].wellCode}
所属单位:${response.data[i].deptName}
详细位置:${response.data[i].position}` })) } + this.refreshAlarm() } }) }, @@ -541,6 +522,14 @@ }, Cesium.ScreenSpaceEventType.LEFT_CLICK) + map.on(mars3d.EventType.morphComplete, function (event) { + if(window.map.scene._mode !== Cesium.SceneMode.SCENE3D){ + building.show = false + }else{ + building.show = !this.value + } + }) + axios.get('./static/position.json').then((result) => { const positions = result.data.positions flow = new mars3d.layer.GraphicLayer() @@ -555,7 +544,6 @@ }).catch((error) => { console.log('get position error...' + error) }) - // tile_layer = new mars3d.layer.ArcGisLayer({ // url: 'http://223.82.47.232:11408/arcgis/rest/services/crgx/MapServer', // layers: '0,3', @@ -631,24 +619,23 @@ // }) // map.addLayer(wsline) this.initpoints() - this.refreshAlarm() }, // 获取井类型,显示井类型下拉 - fetchWellType() { - getWellType().then(response => { - this.wellTypeList = [] - // 如果该用户支持的井类型只有一个,则不显示该筛选框 - // const wellTypes = this.$store.getters.wellTypes - for (const wellType of response.data) { - // if (wellTypes.indexOf(wellType.value) !== -1) { - this.wellTypeList.push(wellType) - // } - } - if (this.wellTypeList.length <= 1) { - this.showWellType = false - } - }) - }, + // fetchWellType() { + // getWellType().then(response => { + // this.wellTypeList = [] + // // 如果该用户支持的井类型只有一个,则不显示该筛选框 + // // const wellTypes = this.$store.getters.wellTypes + // for (const wellType of response.data) { + // // if (wellTypes.indexOf(wellType.value) !== -1) { + // this.wellTypeList.push(wellType) + // // } + // } + // if (this.wellTypeList.length <= 1) { + // this.showWellType = false + // } + // }) + // }, addFlow(positions,repeat){ var style = { width: 10, @@ -731,7 +718,7 @@ }) }, // 刷新报警列表 - refreshAlarm() { + async refreshAlarm() { this.count = 60 this.loading = true getAlarmsNow().then(response => { @@ -743,41 +730,37 @@ this.hasAlarm = true } for (const alarm of response.data) { - // if() + for(const watch of watch_pic_layer.graphics){ + if(alarm.devcode === watch.options.id){ + if(!watch.popup.startsWith('报警')){ + watch.setStyle({ + image: '../static/images/icon/asb.png', + scale: 1, + horizontalOrigin: Cesium.HorizontalOrigin.CENTER, + verticalOrigin: Cesium.VerticalOrigin.BOTTOM, + scaleByDistance: new Cesium.NearFarScalar(10, 1, 2000, 0.3), + }) + watch.popup = `报警远程水表
设备编号:${alarm.devcode}
井编号:${alarm.wellCode}
井类型:${alarm.wellTypeName}
报警时间:${alarm.alarmTime}
报警数值:${alarm.alarmValue}
报警内容:${alarm.alarmContent}
详细位置:${alarm.position}` + } + break + } + } + for(const zs of zs_pic_layer.graphics){ + if(alarm.devcode === zs.options.id){ + if(!zs.popup.startsWith('报警')){ + zs.setStyle({ + image: '../static/images/icon/azs.png', + scale: 1, + horizontalOrigin: Cesium.HorizontalOrigin.CENTER, + verticalOrigin: Cesium.VerticalOrigin.BOTTOM, + scaleByDistance: new Cesium.NearFarScalar(10, 1, 2000, 0.3), + }) + zs.popup = `报警噪声记录仪仪
设备编号:${alarm.devcode}
井编号:${alarm.wellCode}
井类型:${alarm.wellTypeName}
报警时间:${alarm.alarmTime}
报警数值:${alarm.alarmValue}
报警内容:${alarm.alarmContent}
详细位置:${alarm.position}` + } + break + } + } } - // let str = "1 <> 1" - // var map = {}; - // for (const alarm of response.data) { - // str += (" or 编号 = '" + alarm.wellCode + "'") - // map[alarm.wellCode] = alarm - // } - // if(alarm_layer!==null){ - // window.map.removeLayer(alarm_layer) - // } - // alarm_layer = new mars3d.layer.ArcGisWfsLayer({ - // name: '报警点', - // url: 'http://223.82.47.232:11408/arcgis/rest/services/sfw/MapServer/1', - // where: str, - // // minimumLevel: 15, - // symbol: { - // type: 'modelP', - // styleOptions: { - // url: '../static/model/baojing.gltf', - // minimumPixelSize: 20, - // maximumScale: 15, - // scale: 1 - // }, - // // callback: function (attr, styleOpt){ - // // var val= {attr}.attr - // // return {setHeight: val.井深} - // // } - // }, - // popup: function(e){ - // var val = e.graphic.options.attr - // return `井编号:${val.编号}
井名称:${val.附属物名称}
所属道路:${val.所属道路}
告警原因:${map[val.编号].alarmContent}
告警时间:${map[val.编号].alarmTime}` - // } - // }) - // window.map.addLayer(alarm_layer) } }) }, @@ -810,30 +793,21 @@ if(this.alpha<10){ this.alpha = 15 } - - this.flytoinit() - if(fly_layer!==null) window.map.removeLayer(fly_layer) - const wellId = row.wellCode - let str = "编号 = '" + wellId + "'" - fly_layer = null - fly_layer = new mars3d.layer.ArcGisWfsLayer({ - name: '报警点', - url: 'http://223.82.47.232:11408/arcgis/rest/services/sfw/MapServer/1', - where: str, - symbol: { - type: 'modelP', - styleOptions: { - url: '../static/model/baojing.gltf', - scale: 0 - }, - callback: function (attr, styleOpt){ - var val= {attr}.attr - var center = {lat: val.wd, lng: val.jd, alt: 50, heading: 360, pitch: -90} - window.map.setCameraView(center) - } + // this.flytoinit() + for(const watch of watch_pic_layer.graphics){ + if(row.devcode === watch.options.id){ + var center = {lat: watch._point._lat, lng: watch._point._lng, alt: 50, heading: 360, pitch: -90} + window.map.setCameraView(center) + break } - }) - window.map.addLayer(fly_layer) + } + for(const zs of zs_pic_layer.graphics){ + if(row.devcode === zs.options.id){ + var center = {lat: zs._point._lat, lng: zs._point._lng, alt: 50, heading: 360, pitch: -90} + window.map.setCameraView(center) + break + } + } } } } diff --git a/static/images/icon/asb.png b/static/images/icon/asb.png new file mode 100644 index 0000000..4b4f9c7 --- /dev/null +++ b/static/images/icon/asb.png Binary files differ diff --git a/static/images/icon/azs.png b/static/images/icon/azs.png new file mode 100644 index 0000000..db3adce --- /dev/null +++ b/static/images/icon/azs.png Binary files differ diff --git a/src/views/overview/overviewSimple.vue b/src/views/overview/overviewSimple.vue index 31c47d0..193488e 100644 --- a/src/views/overview/overviewSimple.vue +++ b/src/views/overview/overviewSimple.vue @@ -112,10 +112,7 @@ var img_layer = null var tile_layer = null var tiles3dLayer = null - var rain_point_layer = null - var rain_point_layer1 = null var sewage_point_layer = null - var alarm_layer = null var fly_layer = null var building = null var flow = null @@ -217,7 +214,11 @@ street.show = true }else{ window.map.basemap = 2021 - building.show = true + if(window.map.scene._mode === Cesium.SceneMode.SCENE3D){ + building.show = true + }else{ + building.show = false + } flow.show = true street.show = false } @@ -241,44 +242,22 @@ showAll(val) { tile_layer.show = val }, - // needRefresh(val) { - // // 需要刷新 - // if (val) { - // this.refreshAlarm() - // } - // }, showAlarm(val){ if(!val && this.currentWindow.windowType=='alarm'){ this.currentWindow.visible = false } - alarm_layer.show = val + this.initpoints() } }, - created() { - this.fetchWellType() - }, - computed: { - handler() { - return new Cesium.ScreenSpaceEventHandler(window.map.scene.canvas) - } - }, + // created() { + // this.fetchWellType() + // }, + // computed: { + // handler() { + // return new Cesium.ScreenSpaceEventHandler(window.map.scene.canvas) + // } + // }, methods: { - changetype(){ - if(this.listQuery.wellType==='1'){ // 雨水 - rain_point_layer.show = true - rain_point_layer1.show = true - sewage_point_layer.show = false - }else if(this.listQuery.wellType==='2'){ //污水 - rain_point_layer.show = false - rain_point_layer1.show = false - sewage_point_layer.show = true - }else{ - rain_point_layer.show = true - rain_point_layer1.show = true - sewage_point_layer.show = true - } - }, - async initpoints() { // 井 let params = '' @@ -294,7 +273,7 @@ url: '../static/model/ys.gltf', scale: 2 }, - popup: `供水井
井编号:${response.data[i].wellCode}
所属单位:${response.data[i].deptName}
详细位置:${response.data[i].position}`, + popup: `给水井
井编号:${response.data[i].wellCode}
所属单位:${response.data[i].deptName}
详细位置:${response.data[i].position}`, })) } } @@ -331,6 +310,7 @@ popup: `远程水表
设备编号:${response.data[i].devcode}
设备模型:${response.data[i].modelName}
设备类型:${response.data[i].deviceTypeName}
井编号:${response.data[i].wellCode}
所属单位:${response.data[i].deptName}
详细位置:${response.data[i].position}` })) } + this.refreshAlarm() } }) params = '8' @@ -366,6 +346,7 @@ popup: `噪声记录仪
设备编号:${response.data[i].devcode}
设备模型:${response.data[i].modelName}
设备类型:${response.data[i].deviceTypeName}
井编号:${response.data[i].wellCode}
所属单位:${response.data[i].deptName}
详细位置:${response.data[i].position}` })) } + this.refreshAlarm() } }) }, @@ -541,6 +522,14 @@ }, Cesium.ScreenSpaceEventType.LEFT_CLICK) + map.on(mars3d.EventType.morphComplete, function (event) { + if(window.map.scene._mode !== Cesium.SceneMode.SCENE3D){ + building.show = false + }else{ + building.show = !this.value + } + }) + axios.get('./static/position.json').then((result) => { const positions = result.data.positions flow = new mars3d.layer.GraphicLayer() @@ -555,7 +544,6 @@ }).catch((error) => { console.log('get position error...' + error) }) - // tile_layer = new mars3d.layer.ArcGisLayer({ // url: 'http://223.82.47.232:11408/arcgis/rest/services/crgx/MapServer', // layers: '0,3', @@ -631,24 +619,23 @@ // }) // map.addLayer(wsline) this.initpoints() - this.refreshAlarm() }, // 获取井类型,显示井类型下拉 - fetchWellType() { - getWellType().then(response => { - this.wellTypeList = [] - // 如果该用户支持的井类型只有一个,则不显示该筛选框 - // const wellTypes = this.$store.getters.wellTypes - for (const wellType of response.data) { - // if (wellTypes.indexOf(wellType.value) !== -1) { - this.wellTypeList.push(wellType) - // } - } - if (this.wellTypeList.length <= 1) { - this.showWellType = false - } - }) - }, + // fetchWellType() { + // getWellType().then(response => { + // this.wellTypeList = [] + // // 如果该用户支持的井类型只有一个,则不显示该筛选框 + // // const wellTypes = this.$store.getters.wellTypes + // for (const wellType of response.data) { + // // if (wellTypes.indexOf(wellType.value) !== -1) { + // this.wellTypeList.push(wellType) + // // } + // } + // if (this.wellTypeList.length <= 1) { + // this.showWellType = false + // } + // }) + // }, addFlow(positions,repeat){ var style = { width: 10, @@ -731,7 +718,7 @@ }) }, // 刷新报警列表 - refreshAlarm() { + async refreshAlarm() { this.count = 60 this.loading = true getAlarmsNow().then(response => { @@ -743,41 +730,37 @@ this.hasAlarm = true } for (const alarm of response.data) { - // if() + for(const watch of watch_pic_layer.graphics){ + if(alarm.devcode === watch.options.id){ + if(!watch.popup.startsWith('报警')){ + watch.setStyle({ + image: '../static/images/icon/asb.png', + scale: 1, + horizontalOrigin: Cesium.HorizontalOrigin.CENTER, + verticalOrigin: Cesium.VerticalOrigin.BOTTOM, + scaleByDistance: new Cesium.NearFarScalar(10, 1, 2000, 0.3), + }) + watch.popup = `报警远程水表
设备编号:${alarm.devcode}
井编号:${alarm.wellCode}
井类型:${alarm.wellTypeName}
报警时间:${alarm.alarmTime}
报警数值:${alarm.alarmValue}
报警内容:${alarm.alarmContent}
详细位置:${alarm.position}` + } + break + } + } + for(const zs of zs_pic_layer.graphics){ + if(alarm.devcode === zs.options.id){ + if(!zs.popup.startsWith('报警')){ + zs.setStyle({ + image: '../static/images/icon/azs.png', + scale: 1, + horizontalOrigin: Cesium.HorizontalOrigin.CENTER, + verticalOrigin: Cesium.VerticalOrigin.BOTTOM, + scaleByDistance: new Cesium.NearFarScalar(10, 1, 2000, 0.3), + }) + zs.popup = `报警噪声记录仪仪
设备编号:${alarm.devcode}
井编号:${alarm.wellCode}
井类型:${alarm.wellTypeName}
报警时间:${alarm.alarmTime}
报警数值:${alarm.alarmValue}
报警内容:${alarm.alarmContent}
详细位置:${alarm.position}` + } + break + } + } } - // let str = "1 <> 1" - // var map = {}; - // for (const alarm of response.data) { - // str += (" or 编号 = '" + alarm.wellCode + "'") - // map[alarm.wellCode] = alarm - // } - // if(alarm_layer!==null){ - // window.map.removeLayer(alarm_layer) - // } - // alarm_layer = new mars3d.layer.ArcGisWfsLayer({ - // name: '报警点', - // url: 'http://223.82.47.232:11408/arcgis/rest/services/sfw/MapServer/1', - // where: str, - // // minimumLevel: 15, - // symbol: { - // type: 'modelP', - // styleOptions: { - // url: '../static/model/baojing.gltf', - // minimumPixelSize: 20, - // maximumScale: 15, - // scale: 1 - // }, - // // callback: function (attr, styleOpt){ - // // var val= {attr}.attr - // // return {setHeight: val.井深} - // // } - // }, - // popup: function(e){ - // var val = e.graphic.options.attr - // return `井编号:${val.编号}
井名称:${val.附属物名称}
所属道路:${val.所属道路}
告警原因:${map[val.编号].alarmContent}
告警时间:${map[val.编号].alarmTime}` - // } - // }) - // window.map.addLayer(alarm_layer) } }) }, @@ -810,30 +793,21 @@ if(this.alpha<10){ this.alpha = 15 } - - this.flytoinit() - if(fly_layer!==null) window.map.removeLayer(fly_layer) - const wellId = row.wellCode - let str = "编号 = '" + wellId + "'" - fly_layer = null - fly_layer = new mars3d.layer.ArcGisWfsLayer({ - name: '报警点', - url: 'http://223.82.47.232:11408/arcgis/rest/services/sfw/MapServer/1', - where: str, - symbol: { - type: 'modelP', - styleOptions: { - url: '../static/model/baojing.gltf', - scale: 0 - }, - callback: function (attr, styleOpt){ - var val= {attr}.attr - var center = {lat: val.wd, lng: val.jd, alt: 50, heading: 360, pitch: -90} - window.map.setCameraView(center) - } + // this.flytoinit() + for(const watch of watch_pic_layer.graphics){ + if(row.devcode === watch.options.id){ + var center = {lat: watch._point._lat, lng: watch._point._lng, alt: 50, heading: 360, pitch: -90} + window.map.setCameraView(center) + break } - }) - window.map.addLayer(fly_layer) + } + for(const zs of zs_pic_layer.graphics){ + if(row.devcode === zs.options.id){ + var center = {lat: zs._point._lat, lng: zs._point._lng, alt: 50, heading: 360, pitch: -90} + window.map.setCameraView(center) + break + } + } } } } diff --git a/static/images/icon/asb.png b/static/images/icon/asb.png new file mode 100644 index 0000000..4b4f9c7 --- /dev/null +++ b/static/images/icon/asb.png Binary files differ diff --git a/static/images/icon/azs.png b/static/images/icon/azs.png new file mode 100644 index 0000000..db3adce --- /dev/null +++ b/static/images/icon/azs.png Binary files differ diff --git a/static/position.json b/static/position.json index f1df6eb..fbed475 100644 --- a/static/position.json +++ b/static/position.json @@ -2521,6 +2521,48 @@ 35.98511783681876 ] ] + }, + { + "repeat": 1, + "items": [ + [120.24250555886692,35.99196511862159], + [120.24246279817629,35.9918425379751] + ] + }, + { + "repeat": 1, + "items": [ + [120.23672008130623,35.98736964488577], + [120.23677330364032,35.98752370953713] + ] + }, + { + "repeat": 1, + "items": [ + [120.23776590129036,35.992940041928705], + [120.23785003617289,35.99291900820808] + ] + }, + { + "repeat": 1, + "items": [ + [120.23795926301793,35.99350258321472], + [120.23814529214773,35.99343476009448] + ] + }, + { + "repeat": 1, + "items": [ + [120.23762647160349,35.992551006591015], + [120.23786776714573,35.992457327145196] + ] + }, + { + "repeat": 1, + "items": [ + [120.23650976910434,35.98925569776582], + [120.23677261733565,35.98913887632968] + ] } ] }