Sfoglia il codice sorgente

Merge branch 'dev' of http://192.168.2.241:3000/wanghai/bimgis_sx into dev

yj 3 anni fa
parent
commit
df0fd52737

+ 22 - 6
src/views/spectrum/reform/connectivity/widget.vue

@@ -14,7 +14,7 @@
           <el-checkbox v-model="noDistance">不限距离</el-checkbox>
         </el-form-item>
         <el-form-item label="追踪方式">
-          <el-checkbox-group v-model="trackType" :min="1" class="track_type">
+          <el-checkbox-group v-model="trackType" :min="1" class="track_type" @change="chexkChange">
             <el-checkbox :label="0">上游追踪</el-checkbox>
             <el-checkbox :label="1">下游追踪</el-checkbox>
           </el-checkbox-group>
@@ -45,24 +45,30 @@
       <!-- <div class="chart-box" id="pipeChart"></div> -->
       <div class="chart-box">
         <el-tabs v-model="pipeType">
-          <el-tab-pane :label="`上游管线(${upPipes.length}个)`" name="上游管线">
+          <el-tab-pane v-for="(item,index) in trackType" :key="index" :label="`${item==0?'上':'下'}游管线(${item==0?upPipes.length:downPipes.length}个)`" :name="`${item==0?'上':'下'}游管线`">
+            <table-widget :tableData="item==0?upPipes:downPipes" @row-dblclick="lineRowClick"></table-widget>
+          </el-tab-pane>
+          <!-- <el-tab-pane :label="`上游管线(${upPipes.length}个)`" name="上游管线">
             <table-widget :tableData="upPipes" @row-dblclick="lineRowClick"></table-widget>
           </el-tab-pane>
           <el-tab-pane :label="`下游管线(${downPipes.length}个)`" name="下游管线">
             <table-widget :tableData="downPipes" @row-dblclick="lineRowClick"></table-widget>
-          </el-tab-pane>
+          </el-tab-pane> -->
         </el-tabs>
       </div>
       <div class="head-title">排水设施</div>
       <!-- <div class="chart-box" id="facilityChart"></div> -->
       <div class="chart-box">
         <el-tabs v-model="pointType">
-          <el-tab-pane :label="`上游管点(${upNodes.length}个)`" name="上游管点">
+          <el-tab-pane v-for="(item,index) in trackType" :key="index" :label="`${item==0?'上':'下'}游管点(${item==0?upNodes.length:downNodes.length}个)`" :name="`${item==0?'上':'下'}游管点`">
+            <table-widget :tableData="item==0?upNodes:downNodes" @row-dblclick="lineRowClick"></table-widget>
+          </el-tab-pane>
+          <!-- <el-tab-pane :label="`上游管点(${upNodes.length}个)`" name="上游管点">
             <table-widget :tableData="upNodes" type="nodes" @row-dblclick="pointRowClick"></table-widget>
           </el-tab-pane>
           <el-tab-pane :label="`下游管点(${downNodes.length}个)`" name="下游管点">
             <table-widget :tableData="downNodes" type="nodes" @row-dblclick="pointRowClick"></table-widget>
-          </el-tab-pane>
+          </el-tab-pane> -->
         </el-tabs>
       </div>
       <div class="head-title">
@@ -108,7 +114,7 @@ export default {
   data() {
     return {
       site: null,
-      trackType: [0],
+      trackType: [0, 1],
       form: {
         num: 200
       },
@@ -139,6 +145,16 @@ export default {
     this.clearMapShow()
   },
   methods: {
+    chexkChange(val) {
+      this.trackType.sort()
+      if (val.length != 1 || (val.length == 1 && val[0] == 0)) {
+        this.pointType = '上游管点'
+        this.pipeType = '上游管线'
+      } else {
+        this.pointType = '下游管点'
+        this.pipeType = '下游管线'
+      }
+    },
     /**
      * 获取站点
      */

+ 35 - 3
src/views/spectrum/reform/relevance/widget.vue

@@ -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')