|
|
@@ -35,7 +35,7 @@
|
|
|
</el-radio-group>
|
|
|
</el-form-item> -->
|
|
|
<el-form-item label="监测站点">
|
|
|
- <el-select v-model="sites" value-key="id" filterable multiple collapse-tags placeholder="选择站点" style="width: 100%" clearable @change="selectSites">
|
|
|
+ <el-select v-model="sites" ref="sitesSelect" value-key="id" filterable multiple collapse-tags placeholder="选择站点" style="width: 100%" clearable @change="selectSites" @visible-change="sitesSelectBlur">
|
|
|
<el-option v-for="(item, index) in siteOptions" :key="index" :label="item.siteName" :value="item"></el-option>
|
|
|
</el-select>
|
|
|
<!-- <el-button type="warning">图上选择</el-button> -->
|
|
|
@@ -96,6 +96,7 @@ import { getSites } from '@/views/spectrum/dynamicMonitor/api/api'
|
|
|
import { getDetectzy, getSiteTargets, getSiteMonitorInfo } from '@/views/spectrum/reform/api/api'
|
|
|
|
|
|
import * as echarts from 'echarts'
|
|
|
+import { getSiteIcon } from '@/views/spectrum/common/siteIcon/siteIcon' // 站点图标
|
|
|
export default {
|
|
|
data() {
|
|
|
return {
|
|
|
@@ -114,7 +115,8 @@ export default {
|
|
|
newPipeArray: []
|
|
|
},
|
|
|
pipeEntities: [],
|
|
|
- chartsData: []
|
|
|
+ chartsData: [],
|
|
|
+ _sites: []
|
|
|
}
|
|
|
},
|
|
|
created() { },
|
|
|
@@ -255,7 +257,33 @@ export default {
|
|
|
this.targets = []
|
|
|
this.chartsData = []
|
|
|
}
|
|
|
-
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 站点选择完成显示站点
|
|
|
+ */
|
|
|
+ sitesSelectBlur(visible) {
|
|
|
+ if (visible) return
|
|
|
+ const sites = this.sites;
|
|
|
+ const viewer = window.viewer;
|
|
|
+ this.clearMapShow();
|
|
|
+ sites.forEach(site => {
|
|
|
+ console.log(site);
|
|
|
+ const position = Cesium.Cartesian3.fromDegrees(site.longitude, site.latitude, 0)
|
|
|
+ let entity = new Cesium.Entity({
|
|
|
+ position: position,
|
|
|
+ billboard: {
|
|
|
+ image: getSiteIcon(site),
|
|
|
+ width: 48,
|
|
|
+ height: 70,
|
|
|
+ heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
|
|
|
+ eyeOffset: Cesium.Cartesian3.ZERO,
|
|
|
+ disableDepthTestDistance: Number.POSITIVE_INFINITY
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this._sites.push(entity)
|
|
|
+ viewer.entities.add(entity)
|
|
|
+ viewer.flyTo(_sites)
|
|
|
+ });
|
|
|
},
|
|
|
/**
|
|
|
* 分析
|
|
|
@@ -305,9 +333,13 @@ export default {
|
|
|
* 清除地图显示
|
|
|
*/
|
|
|
clearMapShow() {
|
|
|
+ const viewer = window.viewer;
|
|
|
this.pipeEntities.forEach(entity => {
|
|
|
viewer.entities.remove(entity)
|
|
|
});
|
|
|
+ this._sites.forEach(_s => {
|
|
|
+ viewer.entities.remove(_s)
|
|
|
+ });
|
|
|
},
|
|
|
// loadPipeLineChart() {
|
|
|
// let chartDom = document.getElementById('pipeChart')
|