From 3b1b5623e44135a8e693698cb7a30adf66d86964 Mon Sep 17 00:00:00 2001
From: 陈泽平 <chenzeping>
Date: 星期二, 18 五月 2021 15:42:33 +0800
Subject: [PATCH] 管线问题修改

---
 src/components/panel/topicSearch/SewersSelect/SewersAnalysis.vue |  224 +++++++++++++++++---------------------------------------
 1 files changed, 68 insertions(+), 156 deletions(-)

diff --git a/src/components/panel/topicSearch/SewersSelect/SewersAnalysis.vue b/src/components/panel/topicSearch/SewersSelect/SewersAnalysis.vue
index a717a7a..ad9b07f 100644
--- a/src/components/panel/topicSearch/SewersSelect/SewersAnalysis.vue
+++ b/src/components/panel/topicSearch/SewersSelect/SewersAnalysis.vue
@@ -1,130 +1,30 @@
 <template>
     <div class="sewers-analysis-tab">
-        <!--<transition name="el-fade-in-linear">-->
-        <!--<el-card>-->
         <el-tabs v-model="activeName" type="border-card" @tab-click="handleClick">
             <el-tab-pane label="杩為�氭��" name="first">
-               <div>
-                   <el-button type="primary" @click="linkClickStart" size="mini" title="鍦板浘涓婄偣鍑婚�夋嫨闇�瑕佽繘琛岃繛閫氬垎鏋愮殑绠℃">璧峰绠℃</el-button>
-                   <el-button type="primary" @click="linkClickEnd" size="mini" title="鍦板浘涓婄偣鍑讳笌鎵�閫夌娈佃繛閫氱娈�">缁撴潫绠℃</el-button>
-                   <el-button type="primary" @click="linkQuery" size="mini" title="鏍规嵁璧峰銆佺粨鏉熺娈佃繘琛岃繛閫氭�у垎鏋�">杩為�氭�у垎鏋�</el-button>
-                   <el-button type="primary" @click="handleClick" size="mini" title="鏍规嵁璧峰銆佺粨鏉熺娈佃繘琛岃繛閫氭�у垎鏋�">娓呴櫎</el-button>
-               </div>
-                <!--        <el-scrollbar style="height:450px">-->
-                <!--          <el-card shadow="hover">-->
-                <span class="fixed-style">璧峰绠℃</span>
-                <el-table class="tableBox" height="100" max-height="200" :data="tableDataLinkStart" @row-click="linkSelectStart" highlight-current-row style="width: 100%" size="mini">
-                    <el-table-column prop="datasource" label="绠℃绫诲瀷"></el-table-column>
-                    <el-table-column :show-overflow-tooltip="true" sortable width="100" prop="pipecode" label="绠℃鍚嶇О"></el-table-column>
-                    <el-table-column sortable width="100" prop="material" label="璧风偣缂栧彿"></el-table-column>
-                    <el-table-column sortable width="100" prop="material" label="缁堢偣缂栧彿"></el-table-column>
-                    <el-table-column fixed="right" class-name="fixed-table" label="鎿嶄綔" width="40">
-                        <template slot-scope="scope">
-                            <el-button @click="linkSelectStart(scope.row)" type="text" size="small">閫夋嫨</el-button>
-                        </template>
-                    </el-table-column>
-                </el-table>
-                <span class="fixed-style">缁撴潫绠℃</span>
-                <el-table class="tableBox" height="100" max-height="200" highlight-current-row :data="tableDataLinkEnd" @row-click="linkSelectEnd" style="width: 100%" size="mini">
-                    <el-table-column prop="datasource" label="绠℃绫诲瀷"></el-table-column>
-                    <el-table-column :show-overflow-tooltip="true" sortable width="100" prop="pipecode" label="绠℃鍚嶇О"></el-table-column>
-                    <el-table-column sortable width="100" prop="material" label="璧风偣缂栧彿"></el-table-column>
-                    <el-table-column sortable width="100" prop="material" label="缁堢偣缂栧彿"></el-table-column>
-                    <el-table-column class-name="fixed-table" fixed="right" label="鎿嶄綔" width="40">
-                        <template slot-scope="scope">
-                            <el-button @click="linkSelectEnd(scope.row)" type="text" size="small">閫夋嫨</el-button>
-                        </template>
-                    </el-table-column>
-                </el-table>
-                <span class="fixed-style">鍒嗘瀽缁撴灉:<span style="color: red;margin-left: 15px">{{ currentLinkIsTrue }}</span></span>
-                <el-table class="tableBox" highlight-current-row max-height="200" :data="tableDataLinkResult" @row-click="linkResultSelect" style="width: 100%" size="mini">
-                    <el-table-column prop="material" label="绠℃绫诲瀷"></el-table-column>
-                    <el-table-column :show-overflow-tooltip="true" sortable width="100" prop="pipecode" label="绠℃鍚嶇О"></el-table-column>
-                    <el-table-column sortable width="100" prop="material" label="璧风偣缂栧彿"></el-table-column>
-                    <el-table-column sortable width="100" prop="material" label="缁堢偣缂栧彿"></el-table-column>
-                    <el-table-column class-name="fixed-table" fixed="right" label="鎿嶄綔" width="40">
-                        <template slot-scope="scope">
-                            <el-button @click="linkResultSelect(scope.row)" type="text" size="small">瀹氫綅</el-button>
-                        </template>
-                    </el-table-column>
-
-                </el-table>
-                <!--</el-card>-->
-                <!--</el-scrollbar>-->
+                <Connectivity></Connectivity>
             </el-tab-pane>
             <el-tab-pane label="鐖嗙" style="color: #cccccc" name="second">
-                <el-row>
-                    <span>鐖嗙锛堢浉鍏冲紑鍏筹級</span>
-                    <el-button type="primary" @click="bgClick" size="mini"  title="鍦板浘涓婄偣鍑婚�夋嫨鍙戠敓鐖嗙鐨勭娈�">閫夋嫨绠℃</el-button>
-                    <el-button type="primary" @click="handleClick" size="mini"  title="娓呴櫎缁樺埗">娓呴櫎</el-button>
-                </el-row>
-                <!--        <el-card shadow="hover">-->
-                <span class="fixed-style">鍙戠敓鐖嗚鐨勭娈�</span>
-                <el-table max-height="200" class="tableBox" ref="singleTable" highlight-current-row :data="bgPipeLine" style="width: 100%" size="mini">
-                    <el-table-column :show-overflow-tooltip="true" prop="pipecode" label="绠℃绫诲瀷"></el-table-column>
-                    <el-table-column :show-overflow-tooltip="true" sortable width="100" prop="pipecode" label="绠℃鍚嶇О"></el-table-column>
-                    <el-table-column :show-overflow-tooltip="true" sortable width="100" prop="pipecode" label="璧风偣缂栧彿"></el-table-column>
-                    <el-table-column :show-overflow-tooltip="true" sortable width="100" prop="pipecode" label="缁堢偣缂栧彿"></el-table-column>
-                    <el-table-column class-name="fixed-table" fixed="right" label="鎿嶄綔" width="40">
-                        <template slot-scope="scope">
-                            <el-button @click="bgSelect(scope.row)" type="text" size="small">閫夋嫨</el-button>
-                        </template>
-                    </el-table-column>
-                </el-table>
-                <span class="fixed-style">闇�瑕佸叧闂殑闃�闂�</span>
-                <el-table class="tableBox" highlight-current-row max-height="200" :data="bgFm" @row-click="bgFmClick" style="width: 100%" size="mini">
-                    <el-table-column :show-overflow-tooltip="true" prop="pipecode" label="绠℃绫诲瀷"></el-table-column>
-                    <el-table-column sortable :show-overflow-tooltip="true" width="100" prop="pipecode" label="绠℃鍚嶇О"></el-table-column>
-                    <el-table-column sortable :show-overflow-tooltip="true" width="100" prop="pipecode" label="璧风偣缂栧彿"></el-table-column>
-                    <el-table-column :show-overflow-tooltip="true" sortable width="100" prop="pipecode" label="缁堢偣缂栧彿"></el-table-column>
-                    <el-table-column class-name="fixed-table" fixed="right" label="鎿嶄綔" width="40">
-                        <template slot-scope="scope">
-                            <el-button @click="linkResultSelect(scope.row)" type="text" size="small">瀹氫綅</el-button>
-                        </template>
-                    </el-table-column>
-                </el-table>
-                <!--        </el-card>-->
+                <Tube></Tube>
             </el-tab-pane>
             <el-tab-pane label="娴佸悜" name="third">
-                <el-button type="primary" @click="selectPipeLine" size="mini" highlight-current-row title="鍦板浘涓婄偣鍑昏鏄剧ず娴佸悜鐨勭娈�">閫夋嫨绠℃</el-button>
-                <el-table max-height="200" class="tableBox" highlight-current-row :data="tableDataLiuxiang" size="mini">
-                    <el-table-column :show-overflow-tooltip="true" prop="pipecode" label="绠℃绫诲瀷"></el-table-column>
-                    <el-table-column :show-overflow-tooltip="true" sortable width="100" prop="pipecode" label="绠℃鍚嶇О"></el-table-column>
-                    <el-table-column :show-overflow-tooltip="true" sortable width="100" prop="pipecode" label="璧风偣缂栧彿"></el-table-column>
-                    <el-table-column :show-overflow-tooltip="true" sortable width="100" prop="pipecode" label="缁堢偣缂栧彿"></el-table-column>
-                    <el-table-column class-name="fixed-table" fixed="right" label="鎿嶄綔" width="60">
-                        <template slot-scope="scope">
-                            <el-button @click="lxQuery(scope.row)" type="text" size="small">鏄剧ず娴佸悜</el-button>
-                        </template>
-                    </el-table-column>
-                </el-table>
-                <span class="fixed-style">鍒嗘瀽缁撴灉</span>
-                <el-table class="tableBox" highlight-current-row max-height="200" :data="lxTableDataResult" @row-click="lxResultSelect" style="width: 100%" size="mini">
-                    <el-table-column :show-overflow-tooltip="true" prop="pipecode" label="绠℃绫诲瀷"></el-table-column>
-                    <el-table-column :show-overflow-tooltip="true" width="100" sortable prop="pipecode" label="绠℃鍚嶇О"></el-table-column>
-                    <el-table-column :show-overflow-tooltip="true" sortable width="100" prop="pipecode" label="璧风偣缂栧彿"></el-table-column>
-                    <el-table-column :show-overflow-tooltip="true" sortable width="100" prop="pipecode" label="缁堢偣缂栧彿"></el-table-column>
-                    <el-table-column class-name="fixed-table" fixed="right" label="鎿嶄綔" width="40">
-                        <template slot-scope="scope">
-                            <el-button @click="linkResultSelect(scope.row)" type="text" size="small">瀹氫綅</el-button>
-                        </template>
-                    </el-table-column>
-                </el-table>
+                <Flow></Flow>
             </el-tab-pane>
             <el-tab-pane label="妯柇闈�" name="fourth">
-                <div>
-                    <el-button type="primary" @click="drawLine" size="mini"  title="鍦板浘涓婄粯鍒惰杩涜鍒嗘瀽鎴柇闈㈢殑绾�">缁樺埗绾挎</el-button>
-                    <el-button type="primary" @click="jdmQuery" size="mini"  title="鎴柇闈㈠垎鏋�">鎴柇闈㈠垎鏋�</el-button>
-                    <el-button type="primary" @click="jdmClear" size="mini"  title="娓呴櫎鎴柇闈㈠垎鏋愮粨鏋�">娓呴櫎</el-button>
-                </div>
+                <el-row>
+                    <el-button type="primary" @click="drawLine" size="mini" title="鍦板浘涓婄粯鍒惰杩涜鍒嗘瀽鎴柇闈㈢殑绾�">缁樺埗绾挎</el-button>
+                    <el-button type="primary" @click="jdmQuery" size="mini" title="鎴柇闈㈠垎鏋�">鎴柇闈㈠垎鏋�</el-button>
+                    <el-button type="primary" @click="jdmClear" size="mini" title="娓呴櫎鎴柇闈㈠垎鏋愮粨鏋�">娓呴櫎</el-button>
+                </el-row>
                 <!-- <el-card class="box-card">-->
                 <div slot="header" class="fixed-style">
                     <span>绠℃鏌ヨ缁撴灉</span>
                 </div>
-                <el-table class="tableBox" :data="tableData" max-height="200" highlight-current-row style="width: 100%" @row-click="selectRow" size="mini">
+                <el-table class="tableBox" :data="tableData" height="150" max-height="200" highlight-current-row
+                          style="width: 100%" @row-click="selectRow" size="mini">
                     <el-table-column prop="pipename" label="绠℃鍚嶇О"></el-table-column>
                     <el-table-column prop="mediumtype" label="绠℃绫诲瀷" width="80"></el-table-column>
-                    <el-table-column class-name="fixed-table" fixed="right" label="鍥捐〃"  width="40">
+                    <el-table-column class-name="fixed-table" fixed="right" label="鍥捐〃" width="40">
                         <template slot-scope="scope">
                             <el-button @click="selectRow(scope.row)" type="text" size="small">鏌ョ湅</el-button>
                         </template>
@@ -139,12 +39,12 @@
                     <div v-show="myChartShow" id="echarts_box" ref="myChart" style="width: 350px;height:200px;"></div>
                 </el-card> -->
                 <span class="fixed-style">鏂潰鍥�</span>
-                <span v-show="!myChartShow" style="color: #909399;font-size: 12px;height: 200px;display: block;text-align: center;line-height: 200px">鏆傛棤鏁版嵁</span>
-                <div v-show="myChartShow" id="echarts_box" ref="myChart" style="width:350px;height:200px;margin: 0 auto"></div><!-- v-show="myChartShow" -->
+                <span v-show="!myChartShow"
+                      style="color: #909399;font-size: 12px;height: 200px;display: block;text-align: center;line-height: 200px">鏆傛棤鏁版嵁</span>
+                <div v-show="myChartShow" id="echarts_box" ref="myChart"
+                     style="width:350px;height:200px;margin: 0 auto"></div><!-- v-show="myChartShow" -->
             </el-tab-pane>
         </el-tabs>
-        <!--</el-card>-->
-        <!--</transition>-->
     </div>
 </template>
 
@@ -153,10 +53,18 @@
 import eventBus from '../../../../eventBus'
 import DrawLine from './AnalysisChoose/DrawLine'
 import mapApi from '../../../../api/mapApi'
-import iconUrl from '../../../../assets/images/other.png'
+import { pulseEffect } from '../../../../utils/utils'
+import Connectivity from './AnalysisChoose/Connectivity'
+import Tube from './AnalysisChoose/Tube'
+import Flow from './AnalysisChoose/Flow'
 
 export default {
   name: 'SewersAnalysis',
+  components: {
+    Connectivity,
+    Tube,
+    Flow
+  },
   data () {
     return {
       // 鍦板浘鐐瑰嚮绫诲瀷 first杩為�氭�х偣鍑�  second鐖嗙鐐瑰嚮  third娴佸悜鐐瑰嚮 fourth妯柇闈�
@@ -242,28 +150,22 @@
     // 鍦板浘涓婄偣鍑�
     selectPipeLine () {
       window.map.on('click', this.selectClick)
-      // // 鍏抽棴寮圭獥
+      // 鍏抽棴寮圭獥
       window.layerFactory.clickSwitch = false
     },
     // 鍦板浘涓婄偣鍑诲洖璋�
     selectClick (e) {
-      console.log(e)
+      // console.log(e)
       window.map.off('click', this.selectClick)
       const point = [e.latlng.lng, e.latlng.lat]
       this.getPipeLine(point)
-      // if () {
-      //   // 鍏抽棴寮圭獥
-      //   window.layerFactory.clickSwitch = false
-      // } else {
-      //   window.layerFactory.clickSwitch = true
-      // }
     },
     // 鐐瑰嚮鑾峰彇鍒ゆ柇鏁版嵁
     async getPipeLine (point) {
       const param = {
         x: point[0],
         y: point[1],
-        radius: 5
+        radius: 3
       }
       // 鏍规嵁鍙傛暟璇锋眰鎺ュ彛鏁版嵁
       const res = await mapApi.findPipelineByClickPoint(param)
@@ -289,10 +191,17 @@
     },
     createFlowMarker (point) {
       return window.L.marker(point, {
-        icon: window.L.icon({
-          iconUrl: iconUrl,
-          iconSize: [30, 30],
-          iconAnchor: [15, 15]
+        icon: window.L.divIcon({
+          className: 'dIcon',
+          html: '<div class="plane live">' +
+              // '<img src="'+require("../../assets/images/map/ship.png")+
+              '<div style="position: absolute;' +
+              '    width: 20px;' +
+              '    height: 20px;' +
+              '    border-radius: 50%;' +
+              '  content: \'\'; background-color: #FF664A;"/>' +
+              '<span></span><span></span></div></>',
+          iconSize: [90, 36]
         })
       })
     },
@@ -305,6 +214,7 @@
     },
     // 杩為�氭�� 璧峰绠℃ table鍒楄〃鏁版嵁 閫夋嫨鏁版嵁浜嬩欢 鐨勭偣鍑讳簨浠�
     linkSelectStart (e) {
+      // console.log(e)
       // console.log('閫夋嫨璧峰绠℃')
       // this.$refs.singleTable.setCurrentRow(e)
       this.currentSelectStart = e
@@ -331,7 +241,7 @@
     },
     // 杩為�氭�� 缁撴潫绠℃ table鍒楄〃鏁版嵁 閫夋嫨鏁版嵁浜嬩欢 鐨勭偣鍑讳簨浠�
     linkSelectEnd (e) {
-      console.log('閫夋嫨缁撴潫绠℃')
+      // console.log('閫夋嫨缁撴潫绠℃')
       this.currentSelectEnd = e
 
       // 鍋氬垽鏂璻emove
@@ -345,15 +255,15 @@
         style: function (feature) {
           return {
             weight: 10,
-            color: 'rgba(255, 247, 0, 0.6)'
+            color: 'rgba(255, 247, 0, 0.7)'
           }
         }
       }).addTo(window.map)
       window.map.panInsideBounds(this.currentSelectEndLine.getBounds())
     },
-    // 杩為�氭�ф煡璇�
+    // 杩為�氭�ф煡璇� 缁撴灉
     async linkQuery () {
-      // 姣忔鏌ヨ鍒嗘瀽缁撴灉涓虹┖
+      // 姣忔鏌ヨ鍒嗘瀽缁撴灉鍒剁┖
       this.tableDataLinkResult = []
       if (this.linkPipeline.length > 1) {
         this.linkPipeline.forEach((itm) => {
@@ -372,7 +282,7 @@
         startLineID: this.currentSelectStart.pipesegcode,
         endLineID: this.currentSelectEnd.pipesegcode
       }
-      // console.log(param)
+      console.log(param)
       // 璇锋眰鎺ュ彛鍜屾暟鎹�
       const res = await mapApi.findConnectedPipelines(param)
       // console.log(res)
@@ -380,9 +290,7 @@
       if (res.data.length === 0) {
         this.$message('娌℃湁鎵惧埌杩為�氱殑绠℃')
         // 杩涜鍒ゆ柇
-        // if (this.tableDataLinkStart === [] && this.tableDataLinkEnd === []) {
         this.currentLinkIsTrue = '涓嶈繛閫�'
-        // }
         return
       }
       this.tableDataLinkResult = res.data
@@ -411,10 +319,10 @@
         this.linkPipeline.push(line)
       })
     },
-    // 杩為�氭�� 鍒嗘瀽缁撴灉table鍒楄〃鏁版嵁閫夋嫨鐐瑰嚮浜嬩欢
+    // 瀹氫綅鏂规硶浜嬩欢
     linkResultSelect (e) {
       // console.log('杩為�氭�у垎鏋愮粨鏋滃垪琛ㄧ偣鍑�')
-      // console.log(e)
+      console.log(e)
       const geom = JSON.parse(e.geomText)
       if (this.currentSelectResultLine != null) {
         this.currentSelectResultLine.remove()
@@ -455,8 +363,8 @@
       this.selectPipeLine()
     },
     async bgSelect (e) {
-      console.log('閫夋嫨鐖嗙绠℃')
-      console.log(e)
+      // console.log('閫夋嫨鐖嗙绠℃')
+      // console.log(e)
       this.bgFm = []
       if (this.bgMarker != null) {
         this.bgMarker.remove()
@@ -498,14 +406,13 @@
 
       this.bgPoint = res.data[0].startControlPoint
 
-      const point = JSON.parse(this.bgPoint.geomText)
-
-      const p = [point.coordinates[1], point.coordinates[0]]
-
-      this.bgMarker = this.createFlowMarker(p)
+      // const point = JSON.parse(this.bgPoint.geomText)
+      // const p = [point.coordinates[1], point.coordinates[0]]
+      // this.bgMarker = this.createFlowMarker(p)
+      // this.bgMarker = pulseEffect(p)
       // this.bgMarker.bindTooltip(this.bgPoint.pointnumbe)
-      this.bgMarker.addTo(window.map)
-      window.map.flyTo(p)
+      // this.bgMarker.addTo(window.map)
+      // window.map.flyTo(p)
 
       const linkPipe = []
       res.data.forEach((itm, idx) => {
@@ -532,12 +439,13 @@
     },
     bgFmClick (e) {
       // console.log('鐐瑰嚮褰卞搷鐨勯榾闂�')
-      console.log(e)
+      // console.log(e)
       // const point = [e.data[0][0], e.data[0][1]]
       const point = [e.startControlPoint.y, e.startControlPoint.x]
-      const marker = this.createFlowMarker(point)
-      marker.addTo(window.map)
-      window.map.flyTo(point, 17)
+      pulseEffect(point)
+      // const marker = this.createFlowMarker(point)
+      // marker.addTo(window.map)
+      // window.map.flyTo(point, 17)
     },
 
     // 娴佸悜鍒嗘瀽缁撴灉table鍒楄〃鏁版嵁鐐瑰嚮
@@ -810,13 +718,15 @@
 </script>
 
 <style lang="less" scoped>
-    /deep/ .el-tabs .el-tabs__item{
+    /deep/ .el-tabs .el-tabs__item {
         height: 20px;
         line-height: 20px;
     }
-    /deep/ .el-tabs--border-card>.el-tabs__content{
+
+    /deep/ .el-tabs--border-card > .el-tabs__content {
         padding: 5px;
     }
+
     /deep/ .el-table .has-gutter tr th {
         border: none !important;
     }
@@ -830,6 +740,7 @@
     }
 
     /deep/ .fixed-style {
+        /*margin: 15px;*/
         font-size: 12px;
         display: inline-block;
         color: #00fff6;
@@ -842,13 +753,14 @@
     /deep/ .el-table__fixed-right::before, .el-table__fixed::before {
         background: none;
     }
-    /deep/ .el-table__empty-text{
+
+    /deep/ .el-table__empty-text {
         line-height: 170px;
     }
 
     /deep/ .el-table__body .el-table__row.hover-row td {
         background: none !important;
-        color:yellow;
+        color: yellow;
     }
 
     /deep/ .el-table__body tr.current-row > td {
@@ -864,7 +776,7 @@
         display: none;
     }
 
-    /deep/ .el-tab-pane{
+    /deep/ .el-tab-pane {
         min-height: 506.19px;
     }
 

--
Gitblit v1.8.0