From c56e506fd34c58209240e97fc29043639fae5d19 Mon Sep 17 00:00:00 2001
From: ChenZeping <chenzeping>
Date: 星期四, 29 四月 2021 15:13:21 +0800
Subject: [PATCH] 统计表,指标,预报警表格弹框公共修改,管线分析功能

---
 src/components/plugin/MeaSure.js                                         |   79 ++++
 src/components/table/components/IndexStatistics.vue                      |   97 +++--
 src/components/table/Public.vue                                          |   41 ++
 src/views/MapTemplate.vue                                                |    9 
 src/components/panel/topicSearch/SewersSelect/SewersAnalysis.vue         |  361 ++++++++++--------
 src/components/panel/topicSearch/SewersSelect/AnalysisChoose/DrawLine.js |    5 
 src/api/mapUrl.js                                                        |    1 
 src/components/table/ReportBounced.vue                                   |   36 +
 src/components/table/SummarySheet.vue                                    |  161 ++++++++
 src/components/LayerController/service/WfsLayerService.js                |   19 
 src/components/table/components/tabHandover.vue                          |   43 +-
 src/conf/MapConfig.js                                                    |    7 
 src/components/table/components/Warn.vue                                 |  277 +++++++------
 13 files changed, 763 insertions(+), 373 deletions(-)

diff --git a/src/api/mapUrl.js b/src/api/mapUrl.js
index 9bcd01f..b9cb528 100644
--- a/src/api/mapUrl.js
+++ b/src/api/mapUrl.js
@@ -33,6 +33,7 @@
 // export const findPipelineByClickPoint = $HOST + '/findPipelineByClickPoint'
 export const findPipelineByClickPoint = 'http://xearth.cn:6202' + '/findPipelineByClickPoint'
 export const findConnectedPipelines = 'http://xearth.cn:6202' + '/findConnectedPipelines'
+// export const findConnectedPipelines = $HOST + '/findConnectedPipelines'
 export const findFlowDirection = 'http://xearth.cn:6202' + '/findFlowDirection'
 export const findLeakages = 'http://xearth.cn:6202' + '/findLeakages'
 export const getCrossSection = 'http://xearth.cn:6202' + '/getCrossSection'
diff --git a/src/components/LayerController/service/WfsLayerService.js b/src/components/LayerController/service/WfsLayerService.js
index 0c601a2..c280a83 100644
--- a/src/components/LayerController/service/WfsLayerService.js
+++ b/src/components/LayerController/service/WfsLayerService.js
@@ -63,7 +63,7 @@
             })
         },
         onEachFeature: (feature, layer) => {
-          layer.bindPopup((layer) => {
+          /* layer.bindPopup((layer) => {
             this.popupComp.setDatas(layer)
             this.popupComp.setShow()
             return this.popupComp.$el
@@ -72,8 +72,12 @@
             minWidth: 300,
             closeButton: false,
             autoClose: false
+          }) */
+          layer.bindTooltip((layer) => this.tooltipListener(layer), {
+            direction: 'bottom',
+            offset: [0, 15],
+            sticky: true
           })
-            .bindTooltip((layer) => this.tooltipListener(layer), { direction: 'bottom', offset: [0, 15], sticky: true })
             .on('mouseover', (e) => this.mouseOverListener(e, layer)).on('mouseout', (e) => this.mouseOutListener(e, layer))
         }
       }).addTo(this.layer)
@@ -85,7 +89,10 @@
     const icon = this.config.icon
     const type = e.target.feature.geometry.type
     if (type === 'LineString' || type === 'MultiLineString') {
-      layer.setStyle({ weight: 8, color: '#00ffff' })
+      layer.setStyle({
+        weight: 8,
+        color: '#00ffff'
+      })
     } else if (type === 'Point' || type === 'MultiPoint') {
       layer.setStyle({
         img: {
@@ -101,7 +108,10 @@
     const icon = this.config.icon
     const type = e.target.feature.geometry.type
     if (type === 'LineString' || type === 'MultiLineString') {
-      layer.setStyle({ weight: STYLES.WEIGHT, color: STYLES.COLOR })
+      layer.setStyle({
+        weight: STYLES.WEIGHT,
+        color: STYLES.COLOR
+      })
     }
     if (type === 'Point' || type === 'MultiPoint') {
       layer.setStyle({
@@ -127,4 +137,5 @@
     return name
   }
 }
+
 export default WfsLayerService
diff --git a/src/components/panel/topicSearch/SewersSelect/AnalysisChoose/DrawLine.js b/src/components/panel/topicSearch/SewersSelect/AnalysisChoose/DrawLine.js
index d74b3a5..386bdb3 100644
--- a/src/components/panel/topicSearch/SewersSelect/AnalysisChoose/DrawLine.js
+++ b/src/components/panel/topicSearch/SewersSelect/AnalysisChoose/DrawLine.js
@@ -31,18 +31,15 @@
     mousemove = (e) => {
       this.points.push(e.latlng)
       if (this.polyline) { this.map.removeLayer(this.polyline) }
-      this.polyline = L.polyline(this.points, { showMeasurements: true, color: 'red' })
+      this.polyline = L.polyline(this.points, { showMeasurements: false, color: 'red' })
       this.polyline.addTo(this.layers)
       this.layers.addTo(this.map)
       this.points.pop()
     }
 
     dbClick = (e) => {
-      // console.log('鍙屽嚮缁撴潫', e)
       this.polyline.addTo(this.layers)
-      // this.close(e.latlng);
       this.map.off('click', this.click).off('mousemove', this.mousemove).off('dblclick', this.dbClick)
-      // console.log(this.points)
       eventBus.$emit('draw-hdm-line', this.points)
     }
 
diff --git a/src/components/panel/topicSearch/SewersSelect/SewersAnalysis.vue b/src/components/panel/topicSearch/SewersSelect/SewersAnalysis.vue
index 7a9b7a5..3894691 100644
--- a/src/components/panel/topicSearch/SewersSelect/SewersAnalysis.vue
+++ b/src/components/panel/topicSearch/SewersSelect/SewersAnalysis.vue
@@ -13,25 +13,24 @@
         <el-button type="primary" @click="linkQuery" size="mini" style="margin-bottom: 5px;"
                    title="鏍规嵁璧峰銆佺粨鏉熺娈佃繘琛岃繛閫氭�у垎鏋�">杩為�氭�у垎鏋�
         </el-button>
-        <el-button type="primary" @click="linkClear" size="mini" style="margin-bottom: 5px;"
+        <el-button type="primary" @click="handleClick" size="mini" style="margin-bottom: 5px;"
                    title="鏍规嵁璧峰銆佺粨鏉熺娈佃繘琛岃繛閫氭�у垎鏋�">娓呴櫎
         </el-button>
         <!--        <el-scrollbar style="height:450px">-->
         <!--          <el-card shadow="hover">-->
         <span class="fixed-style">璧峰绠℃</span>
         <el-table
-            ref="singleTable"
-            highlight-current-row
             :data="tableDataLinkStart"
-            @row-click="linkSelectStart"
             max-height="200"
+            @row-click="linkSelectStart"
             style="width: 100%" size="mini">
           <el-table-column
-              prop="lineloopna"
+              prop="datasource"
               label="绠$嚎绫诲瀷"
           >
           </el-table-column>
           <el-table-column
+              :show-overflow-tooltip="true"
               sortable
               width="100"
               prop="pipecode"
@@ -41,14 +40,14 @@
           <el-table-column
               sortable
               width="100"
-              prop="startpoint"
+              prop="material"
               label="璧风偣缂栧彿"
           >
           </el-table-column>
           <el-table-column
               sortable
               width="100"
-              prop="endpointnu"
+              prop="material"
               label="缁堢偣缂栧彿"
           >
           </el-table-column>
@@ -64,17 +63,19 @@
         </el-table>
         <span class="fixed-style">缁撴潫绠℃</span>
         <el-table
+            height="100"
             max-height="200"
             highlight-current-row
             :data="tableDataLinkEnd"
             @row-click="linkSelectEnd"
             style="width: 100%" size="mini">
           <el-table-column
-              prop="lineloopna"
+              prop="datasource"
               label="绠$嚎绫诲瀷"
           >
           </el-table-column>
           <el-table-column
+              :show-overflow-tooltip="true"
               sortable
               width="100"
               prop="pipecode"
@@ -84,14 +85,14 @@
           <el-table-column
               sortable
               width="100"
-              prop="startpoint"
+              prop="material"
               label="璧风偣缂栧彿"
           >
           </el-table-column>
           <el-table-column
               sortable
               width="100"
-              prop="endpointnu"
+              prop="material"
               label="缁堢偣缂栧彿"
           >
           </el-table-column>
@@ -153,7 +154,7 @@
         <!--          </el-card>-->
         <!--        </el-scrollbar>-->
       </el-tab-pane>
-      <el-tab-pane label="鐖嗙" name="second" style="color: #cccccc">
+      <el-tab-pane label="鐖嗙" style=";color: #cccccc" name="second">
         <el-row>
           <span>鐖嗙锛堢浉鍏冲紑鍏筹級</span>
           <el-button type="primary" @click="bgClick" size="mini" style="margin-bottom: 5px;" title="鍦板浘涓婄偣鍑婚�夋嫨鍙戠敓鐖嗙鐨勭娈�">
@@ -163,14 +164,14 @@
           </el-button>
         </el-row>
         <!--        <el-card shadow="hover">-->
-        <span class="fixed-style">鍙戠敓鐖嗚鐨勭娈�:</span>
+        <span class="fixed-style">鍙戠敓鐖嗚鐨勭娈�</span>
         <el-table
             ref="singleTable"
             highlight-current-row
             :data="bgPipeLine"
             style="width: 100%" size="mini">
           <el-table-column
-              prop="lineloopna"
+              prop="pipecode"
               label="绠$嚎绫诲瀷"
           >
           </el-table-column>
@@ -184,14 +185,14 @@
           <el-table-column
               sortable
               width="100"
-              prop="startpoint"
+              prop="pipecode"
               label="璧风偣缂栧彿"
           >
           </el-table-column>
           <el-table-column
               sortable
               width="100"
-              prop="endpointnu"
+              prop="pipecode"
               label="缁堢偣缂栧彿"
           >
           </el-table-column>
@@ -205,7 +206,7 @@
             </template>
           </el-table-column>
         </el-table>
-        <span class="fixed-style">闇�瑕佸叧闂殑闃�闂細</span>
+        <span class="fixed-style">闇�瑕佸叧闂殑闃�闂�</span>
         <el-table
             highlight-current-row
             :data="bgFm"
@@ -381,7 +382,7 @@
             <span>鏂潰鍥�</span>
           </div>
           <span v-show="!myChartShow" style="color: #909399;font-size: 12px;">鏆傛棤鏁版嵁</span>
-          <div v-show="myChartShow" id="echarts_box" ref="myChart" style="width: 600px;height:300px;"></div>
+          <div v-show="myChartShow" id="echarts_box" ref="myChart" style="width: 350px;height:200px;"></div>
         </el-card>
       </el-tab-pane>
     </el-tabs>
@@ -488,12 +489,12 @@
       const param = {
         x: point[0],
         y: point[1],
-        radius: 3
+        radius: 5
       }
       // 鏍规嵁鍙傛暟璇锋眰鎺ュ彛鏁版嵁
       const res = await mapApi.findPipelineByClickPoint(param)
       if (this.activeName === 'first') {
-        if (this.linkType) {
+        if (this.linkType === 1) {
           this.tableDataLinkStart = res.data
         } else {
           this.tableDataLinkEnd = res.data
@@ -502,10 +503,14 @@
         this.bgPipeLine = res.data
       } else if (this.activeName === 'third') {
         this.tableDataLiuxiang = res.data
-      } else if (this.activeName === 'fourth') {
-
-      }
-      console.log(res)
+      } else if (this.activeName === 'fourth') {}
+      console.log(res.data)
+    },
+    // 娴佸悜鏄剧ず 鐨勬柟娉曞弬鏁板皝
+    createFlowLine (param) {
+      const flowLine = window.L.polyline(param.points, param.option)
+      flowLine.addTo(window.map)
+      return flowLine
     },
 
     // 杩為�氭�� ===> 鍦板浘鐐瑰嚮璧峰绠℃e
@@ -518,7 +523,7 @@
     // 杩為�氭�� 璧峰绠℃ table鍒楄〃鏁版嵁 閫夋嫨鏁版嵁浜嬩欢 鐨勭偣鍑讳簨浠�
     linkSelectStart (e) {
       console.log('閫夋嫨璧峰绠℃')
-      this.$refs.singleTable.setCurrentRow(e)
+      // this.$refs.singleTable.setCurrentRow(e)
       this.currentSelectStart = e
       if (this.currentSelectStartLine != null) {
         this.currentSelectStartLine.remove()
@@ -529,8 +534,8 @@
         style: function (feature) {
           return { color: 'rgba(0,255,0,.6)' }
         }
-      }).addTo(this.map)
-      this.map.panInsideBounds(this.currentSelectStartLine.getBounds())
+      }).addTo(window.map)
+      window.map.panInsideBounds(this.currentSelectStartLine.getBounds())
     },
     // 杩為�氭�� ===> 鍦板浘鐐瑰嚮缁撴潫绠℃
     linkClickEnd () {
@@ -541,7 +546,6 @@
     // 杩為�氭�� 缁撴潫绠℃ table鍒楄〃鏁版嵁 閫夋嫨鏁版嵁浜嬩欢 鐨勭偣鍑讳簨浠�
     linkSelectEnd (e) {
       console.log('閫夋嫨缁撴潫绠℃')
-      console.log(e)
       this.currentSelectEnd = e
 
       // 鍋氬垽鏂璻emove
@@ -549,14 +553,14 @@
         this.currentSelectEndLine.remove()
         this.currentSelectEndLine = null
       }
-
+      // geoGson
       const geom = JSON.parse(e.geomText)
       this.currentSelectEndLine = window.L.geoJSON(geom, {
         style: function (feature) {
           return { color: 'rgba(200,0,200,.6)' }
         }
-      }).addTo(this.map)
-      this.map.panInsideBounds(this.currentSelectEndLine.getBounds())
+      }).addTo(window.map)
+      window.map.panInsideBounds(this.currentSelectEndLine.getBounds())
     },
     // 杩為�氭�ф煡璇�
     async linkQuery () {
@@ -578,7 +582,6 @@
         startLineID: this.currentSelectStart.id,
         endLineID: this.currentSelectEnd.id
       }
-      console.log(param)
       // 璇锋眰鎺ュ彛鍜屾暟鎹�
       const res = await mapApi.findConnectedPipelines(param)
       console.log(res)
@@ -590,7 +593,9 @@
       }
       this.tableDataLinkResult = res.data
       this.currentLinkIsTrue = '杩為��'
+      // table 鏁扮粍鏁版嵁缃┖
       const linkPipe = []
+      // 鏁版嵁閬嶅巻geoJson
       res.data.forEach((itm, idx) => {
         const geom = JSON.parse(itm.geomText)
         const points = []
@@ -599,29 +604,23 @@
         })
         linkPipe.push(points)
       })
-
-      // linkPipe.forEach((itm, idx) => {
-      //   const param1 = {
-      //     points: itm,
-      //     option: {
-      //       dashArray: '15 15',
-      //       dashSpeed: -30,
-      //       color: '#ffff00'
-      //     }
-      //   }
-      //   const line = main.createFlowLine(param1)
-      //   const createFlowLine = (param) => {
-      //     const flowLine = window.L.polyline(param.points, param.option)
-      //     flowLine.addTo(window.map)
-      //     return flowLine
-      //   }
-      //   this.linkPipeline.push(line)
-      // })
+      linkPipe.forEach((itm, idx) => {
+        const param1 = {
+          points: itm,
+          option: {
+            dashArray: '15 15',
+            dashSpeed: -30,
+            color: '#ffff00'
+          }
+        }
+        const line = this.createFlowLine(param1)
+        this.linkPipeline.push(line)
+      })
     },
     // 杩為�氭�� 鍒嗘瀽缁撴灉table鍒楄〃鏁版嵁閫夋嫨鐐瑰嚮浜嬩欢
     linkResultSelect (e) {
-      console.log('杩為�氭�у垎鏋愮粨鏋滃垪琛ㄧ偣鍑�')
-      console.log(e)
+      // console.log('杩為�氭�у垎鏋愮粨鏋滃垪琛ㄧ偣鍑�')
+      // console.log(e)
 
       // const geom = JSON.parse(e.geomText)
       // if (this.currentSelectResultLine != null) {
@@ -676,63 +675,64 @@
         this.currentSelectEndLine = null
       }
       this.clearLinkPipe()
-      // const geom = JSON.parse(e.geomText)
-      // this.currentSelectEndLine = L.geoJSON(geom, {
-      //   style: function (feature) {
-      //     return { color: 'rgba(200,0,200,.6)' }
-      //   }
-      // }).addTo(this.map)
-      this.map.panInsideBounds(this.currentSelectEndLine.getBounds())
+      // 缁欓�夋嫨涓殑鏁版嵁娣诲姞璁剧疆鏍峰紡
+      const geom = JSON.parse(e.geomText)
+      this.currentSelectEndLine = window.L.geoJSON(geom, {
+        style: function (feature) {
+          return { color: 'rgba(200,0,200,.6)' }
+        }
+      }).addTo(window.map)
+      window.map.panInsideBounds(this.currentSelectEndLine.getBounds())
 
-      // const param = {
-      //   lineID: e.id
-      // }
-      // const res = await api.findLeakages(param)
-      // console.log(res)
+      // 鏁版嵁璇锋眰鍙傛暟
+      const param = {
+        lineID: e.id
+      }
+      const res = await mapApi.findLeakages(param)
+      console.log(res)
 
-      // const len = res.data.length
-      // if (len === 0) {
-      //   this.$message('鏈壘鍒伴渶瑕佸叧闂殑闃�闂�')
-      //
-      //   return
-      // }
-      // res.data.reverse()
-      // this.bgFm = res.data
-      //
-      // this.bgPoint = res.data[0].startControlPoint
-      //
-      // const point = JSON.parse(this.bgPoint.geomText)
-      //
-      // const p = [point.coordinates[1], point.coordinates[0]]
-      //
-      // // this.bgMarker = main.createFlowMarker(p)
-      // this.bgMarker.bindTooltip(this.bgPoint.pointnumbe)
-      // this.bgMarker.addTo(this.map)
-      // this.map.flyTo(p)
-      //
-      // const linkPipe = []
-      // res.data.forEach((itm, idx) => {
-      //   const geom = JSON.parse(itm.geomText)
-      //   const points = []
-      //   geom.coordinates.forEach((it, id) => {
-      //     points.push(it.reverse())
-      //   })
-      //
-      //   linkPipe.push(points)
-      // })
+      const len = res.data.length
+      if (len === 0) {
+        this.$message('鏈壘鍒伴渶瑕佸叧闂殑闃�闂�')
+        return
+      }
+      res.data.reverse()
+      this.bgFm = res.data
 
-      // linkPipe.forEach((itm, idx) => {
-      // const param1 = {
-      //   points: itm,
-      //   option: {
-      //     dashArray: '15 15',
-      //     dashSpeed: -30,
-      //     color: '#ffff00'
-      //   }
-      // }
-      // const line = main.createFlowLine(param1)
-      // this.linkPipeline.push(line)
-      // })
+      this.bgPoint = res.data[0].startControlPoint
+
+      const point = JSON.parse(this.bgPoint.geomText)
+
+      const p = [point.coordinates[1], point.coordinates[0]]
+
+      // this.bgMarker = main.createFlowMarker(p)
+      this.bgMarker.bindTooltip(this.bgPoint.pointnumbe)
+      this.bgMarker.addTo(this.map)
+      this.map.flyTo(p)
+
+      const linkPipe = []
+      res.data.forEach((itm, idx) => {
+        const geom = JSON.parse(itm.geomText)
+        const points = []
+        geom.coordinates.forEach((it, id) => {
+          points.push(it.reverse())
+        })
+
+        linkPipe.push(points)
+      })
+
+      linkPipe.forEach((itm, idx) => {
+        const param1 = {
+          points: itm,
+          option: {
+            dashArray: '15 15',
+            dashSpeed: -30,
+            color: '#ffff00'
+          }
+        }
+        const line = this.createFlowLine(param1)
+        this.linkPipeline.push(line)
+      })
     },
     bgFmClick (e) {
       console.log('鐐瑰嚮褰卞搷鐨勯榾闂�')
@@ -740,7 +740,7 @@
       const point = [e.data[0][0], e.data[0][1]]
       // const marker = main.createFlowMarker(point)
       // marker.addTo(this.map)
-      this.map.flyTo(point, 16)
+      window.map.flyTo(point, 16)
     },
 
     // 娴佸悜鍒嗘瀽缁撴灉table鍒楄〃鏁版嵁鐐瑰嚮
@@ -748,51 +748,54 @@
       console.log('杩為�氭�у垎鏋愮粨鏋滃垪琛ㄧ偣鍑�')
       console.log(e)
 
-      // const geom = JSON.parse(e.geomText)
-      // if (this.currentSelectResultLine != null) {
-      //   this.currentSelectResultLine.remove()
-      //   this.currentSelectResultLine = null
-      // }
-      // this.currentSelectResultLine = L.geoJSON(geom, {
-      //   style: function (feature) {
-      //     return { color: 'rgba(0,250,255,.6)' }
-      //   }
-      // }).addTo(this.map)
-      // this.map.panInsideBounds(this.currentSelectResultLine.getBounds())
+      const geom = JSON.parse(e.geomText)
+      if (this.currentSelectResultLine != null) {
+        this.currentSelectResultLine.remove()
+        this.currentSelectResultLine = null
+      }
+      this.currentSelectResultLine = window.L.geoJSON(geom, {
+        style: function (feature) {
+          return { color: 'rgba(0,250,255,.6)' }
+        }
+      }).addTo(window.map)
+      window.map.panInsideBounds(this.currentSelectResultLine.getBounds())
     },
-    // 鐐瑰嚮鏄剧ず娴佸悜 table鍒楄〃鏁版嵁
+    // 鐐瑰嚮鏄剧ず娴佸悜 table鍒楄〃涓殑鏁版嵁 => 杩涜瀹樼綉娴佸悜鐨勬樉绀�
     async lxQuery (e) {
-      console.log(e)
+      // console.log(e)
       this.clearLinkPipe()
-      // const param = {
-      //   lineNodeID: e.startpoint
-      // }
-      // const res = await api.findFlowDirection(param)
+      const param = {
+        // lineNodeID: e.startpoint
+        lineNodeID: e.gid
+      }
+      const res = await mapApi.findFlowDirection(param)
+      this.getres(res)
+    },
+    // 鐐瑰嚮鏄剧ず娴佸悜 table鍒楄〃涓殑鏁版嵁 => 杩涜瀹樼綉娴佸悜鐨勬樉绀� 鐨勬暟鎹鐞嗘柟娉�
+    getres (res) {
+      this.lxTableDataResult = res.data
+      const linkPipe = []
+      res.data.forEach((itm, idx) => {
+        const geom = JSON.parse(itm.geomText)
+        const points = []
+        geom.coordinates.forEach((it, id) => {
+          points.push(it.reverse())
+        })
+        linkPipe.push(points)
+      })
 
-      // this.lxTableDataResult = res.data
-      // const linkPipe = []
-      // res.data.forEach((itm, idx) => {
-      //   const geom = JSON.parse(itm.geomText)
-      //   const points = []
-      //   geom.coordinates.forEach((it, id) => {
-      //     points.push(it.reverse())
-      //   })
-      //
-      //   linkPipe.push(points)
-      // })
-
-      // linkPipe.forEach((itm, idx) => {
-      //   // const param1 = {
-      //   //   points: itm,
-      //   //   option: {
-      //   //     dashArray: '15 15',
-      //   //     dashSpeed: -30,
-      //   //     color: '#ffff00'
-      //   //   }
-      //   // }
-      //   // const line = main.createFlowLine(param1)
-      //   // this.linkPipeline.push(line)
-      // })
+      linkPipe.forEach((itm, idx) => {
+        const param1 = {
+          points: itm,
+          option: {
+            dashArray: '15 15',
+            dashSpeed: -30,
+            color: '#ffff00'
+          }
+        }
+        const line = this.createFlowLine(param1)
+        this.linkPipeline.push(line)
+      })
     },
     // 娓呴櫎娴佸悜
     clearLX () {
@@ -804,15 +807,15 @@
     // 娴佸悜-绠$嚎閫夋嫨
     selectRowLiuXiang (e) {
       // 閫夋嫨瑕佹樉绀虹殑娴佸悜绾�
-      console.log('閫夋嫨瑕佹樉绀虹殑娴佸悜绾�')
-      console.log(e)
+      // console.log('閫夋嫨瑕佹樉绀虹殑娴佸悜绾�')
+      // console.log(e)
     },
     lxHandleClick (e) {
-      console.log('姝f祦鍚戞樉绀�')
-      console.log(e)
-
-      // 娓呴櫎娴佸悜鏂规硶
-      this.clearLX()
+      // console.log('姝f祦鍚戞樉绀�')
+      // console.log(e)
+      //
+      // // 娓呴櫎娴佸悜鏂规硶
+      // this.clearLX()
       // const param = {
       //   points: e.data,
       //   option: {
@@ -820,7 +823,7 @@
       //     dashSpeed: -30
       //   }
       // }
-      // this.flowPipeLine = main.createFlowLine(param)
+      // this.flowPipeLine = this.createFlowLine(param)
     },
 
     // 娓呮鍒嗘瀽缁撴灉
@@ -834,12 +837,12 @@
     },
     // 閫嗘祦鍚戞樉绀�
     lxHandleClick2 (e) {
-      console.log('閫嗘祦鍚戞樉绀�')
-      console.log(e)
-      if (this.flowPipeLine != null) {
-        this.flowPipeLine.remove()
-        this.flowPipeLine = null
-      }
+      // console.log('閫嗘祦鍚戞樉绀�')
+      // console.log(e)
+      // if (this.flowPipeLine != null) {
+      //   this.flowPipeLine.remove()
+      //   this.flowPipeLine = null
+      // }
       // const param = {
       //   points: e.data,
       //   option: {
@@ -847,20 +850,20 @@
       //     dashSpeed: 30
       //   }
       // }
-      // this.flowPipeLine = main.createFlowLine(param)
+      // this.flowPipeLine = this.createFlowLine(param)
     },
     // 妯柇闈㈢粯鍒剁嚎娈�
     drawLine () {
-      console.log('drawLine')
+      // console.log('drawLine')
       if (this.measure === null) {
-        this.measure = new DrawLine(this.map)
+        this.measure = new DrawLine(window.map)
       }
       this.measure.destory()
       this.measure.init()
     },
     // 妯柇闈㈡暟鎹姹�
     async getHdmPoint (line) {
-      console.log('妯柇闈㈢殑缁樺埗绾�')
+      // console.log('妯柇闈㈢殑缁樺埗绾�')
       // console.table(line)
       // 妯柇闈㈡暟鎹�
       this.hdmParam = {
@@ -877,8 +880,8 @@
         return false
       }
       // 宸茬粯鍒剁嚎鍥� 杩涜缁樺埗妯柇闈㈡暟鎹垎鏋�
-      // const res = await api.getCrossSection(this.hdmParam)
-      // console.log(res)
+      const res = await mapApi.getCrossSection(this.hdmParam)
+      console.log(res)
     },
     // 妯柇闈㈢粯鍒跺畬鎴愬悗 杩涜妯柇闈㈡暟鎹垎鏋� 杩涜鍥捐〃灞曠ず
     async selectRow (e) {
@@ -897,7 +900,7 @@
           type: 'line'
         }]
       }
-      this.myChartShow = true
+      // this.myChartShow = true
       this.myChart.setOption(option)
     },
     // 妯柇闈㈡竻闄�
@@ -912,6 +915,26 @@
 </script>
 
 <style lang="less" scoped>
+///deep/ .el-table__row:hover > td {
+//  background: none !important;
+//}
+//
+///deep/ .el-table__row--striped:hover > td {
+//  background: none !important;
+//}
+
+///deep/ .el-table__row.hover-row {
+//  background: rgba(0, 16, 30, 0.9) !important
+//}
+
+/deep/ .el-table .has-gutter tr th {
+  border: none !important;
+}
+
+/deep/ .el-table tbody tr:hover > td {
+  background: none !important
+}
+
 /deep/ .el-tabs__header {
   background: none !important;
 }
@@ -976,6 +999,6 @@
 }
 
 /deep/ .fixed-table {
-  background: rgba(0, 16, 30, 1) !important;
+  //background: rgba(0, 16, 30, 0.9) !important;
 }
 </style>
diff --git a/src/components/plugin/MeaSure.js b/src/components/plugin/MeaSure.js
index 703ff73..0ff8a46 100644
--- a/src/components/plugin/MeaSure.js
+++ b/src/components/plugin/MeaSure.js
@@ -151,6 +151,78 @@
   }
 }
 
+// 绠$嚎绾挎缁樺埗鏂规硶
+// const drawLine = {
+//   points: [],
+//   color: 'red',
+//   L: null,
+//   map: null,
+//   layers: null,
+//   polyline: null,
+//   marker: null,
+//   init (map, L) {
+//     drawLine.L = window.L
+//     drawLine.map = window.map
+//     drawLine.points = []
+//     drawLine.polyline = null
+//     drawLine.marker = null
+//     drawLine.layers = window.L.layers
+//     map.on('click', drawLine.click).on('dblclick', drawLine.dblclick)
+//   },
+//   close: function (latlng) {
+//     /*distanceMeasure.marker = L.marker(latlng, { icon: deleteIcon }).addTo(map).on("click", function (e) {
+//     //console.log('marker',e);
+//     if(distanceMeasure.polyline)
+//     map.removeLayer(distanceMeasure.polyline);
+//
+//     if(distanceMeasure.marker)
+//     distanceMeasure.marker.remove();
+//     });*/
+//   },
+//   click: function (e) {
+//     drawLine.map.doubleClickZoom.disable()
+// // 娣诲姞鐐逛俊鎭�
+//     drawLine.points.push(e.latlng)
+// // 娣诲姞绾�
+//     drawLine.map.on('mousemove', drawLine.mousemove)
+//   },
+//   mousemove (e) {
+//     drawLine.points.push(e.latlng)
+//     if (drawLine.polyline) {
+//       distanceMeasure.map.removeLayer(distanceMeasure.polyline)
+//     }
+//     drawLine.polyline = drawLine.L.polyline(drawLine.points, {
+//       showMeasurements: false,
+//       color: 'red'
+//     })
+//     drawLine.polyline.addTo(drawLine.layers)
+//     // distanceMeasure.polyline.enableEdit()
+//     drawLine.layers.addTo(drawLine.map)
+//     drawLine.points.pop()
+//   },
+//   dblclick (e) { // 鍙屽嚮缁撴潫
+//     console.log(drawLine.polyline.dragging)
+//     console.log('鍙屽嚮缁撴潫', e)
+//     drawLine.polyline.enableEdit()
+//     drawLine.polyline.dragging.disable()
+//     drawLine.polyline.addTo(drawLine.layers)
+//     drawLine.map.on('editable:vertex:drag editable:vertex:deleted', drawLine.polyline.updateMeasurements, drawLine.polyline)
+//     drawLine.close(e.latlng)
+//     drawLine.map.off('click', drawLine.click).off('mousemove', drawLine.mousemove).off('dblclick', drawLine.dblclick)
+//   },
+//   destory: function () {
+//     if (drawLine.polyline) {
+//       drawLine.map.removeLayer(drawLine.polyline)
+//     }
+//     if (drawLine.marker) {
+//       drawLine.marker.remove()
+//     }
+//     if (drawLine.layers) {
+//       drawLine.layers.clearLayers()
+//     }
+//   }
+// }
+
 const startMeasureArea = function (map, L) {
   areaMeasure.destory()
   areaMeasure.init(map, L)
@@ -161,12 +233,19 @@
   distanceMeasure.init(map, L)
 }
 
+// const drawLineData = (map, L) => {
+//   drawLine.destory()
+//   drawLine.init(map, L)
+// }
+
 const clearMeasure = function () {
   areaMeasure.destory()
   distanceMeasure.destory()
+  // drawLine.destory()
 }
 export default {
   startMeasureArea,
   startMeasureLen,
   clearMeasure
+  // drawLineData
 }
diff --git a/src/components/table/Public.vue b/src/components/table/Public.vue
new file mode 100644
index 0000000..5193020
--- /dev/null
+++ b/src/components/table/Public.vue
@@ -0,0 +1,41 @@
+<template>
+  <div class="report-bounced map-background" v-drag>
+    <div class="public-bounced-title">
+      <slot name='title'></slot>
+    </div>
+    <div class="report-table-content">
+      <slot name='publicTable'></slot>
+    </div>
+  </div>
+</template>
+
+<script>
+
+// 寮曞叆鎷栨嫿
+import '@/utils/dragBoxes'
+
+export default {
+  name: 'Public'
+}
+</script>
+
+<style scoped lang="less">
+.report-bounced {
+  z-index: 2000;
+  position: fixed;
+  top: 35%;
+  left: 35%;
+
+  .public-bounced-title {
+    text-align: center;
+    height: 0.3rem;
+    line-height: 0.3rem;
+    border-bottom: .00521rem solid @color;
+
+    span {
+      font-size: 14px;
+      color: #fff;
+    }
+  }
+}
+</style>
diff --git a/src/components/table/ReportBounced.vue b/src/components/table/ReportBounced.vue
new file mode 100644
index 0000000..05a7bc1
--- /dev/null
+++ b/src/components/table/ReportBounced.vue
@@ -0,0 +1,36 @@
+<template>
+  <public>
+    <template v-slot:title>
+      <span>{{ titleProp }}</span>
+    </template>
+    <template v-slot:publicTable>
+      <tab-handover></tab-handover>
+    </template>
+  </public>
+</template>
+
+<script>
+import Public from '@components/table/Public'
+import tabHandover from '../table/components/tabHandover'
+
+export default {
+  name: 'ReportBounced',
+  components: {
+    Public,
+    tabHandover
+  },
+  data () {
+    return {
+      titleProp: ''
+    }
+  },
+  methods: {
+    refsDatatitle (item) {
+      this.titleProp = item
+    }
+  }
+}
+</script>
+
+<style lang="less" scoped>
+</style>
diff --git a/src/components/table/SummarySheet.vue b/src/components/table/SummarySheet.vue
new file mode 100644
index 0000000..bbfaf98
--- /dev/null
+++ b/src/components/table/SummarySheet.vue
@@ -0,0 +1,161 @@
+<template>
+  <div class="summary-sheets">
+    <el-tooltip :popper-class="'map-tooltip'" effect="dark" content="鎶ヨ〃" placement="left">
+      <div :class='["iconBtn",subtopic ? "active-button" : ""]' @click="subtopicBtn">
+        <i class="el-icon-tickets icon"></i>
+      </div>
+    </el-tooltip>
+    <transition name="animationChange">
+      <div class="subtopic" v-if="subtopic">
+        <el-tooltip :popper-class="'map-tooltip'" effect="dark" content="缁熻琛�" placement="bottom">
+          <div :class='["iconBtn",summaryVisible ? "active-button" : ""]' @click="closeBtn('缁熻琛�')">
+            <!--  -->
+            <i class="icon iconfont iconbiaoge2"></i>
+            <!--<span class="icon-name">缁熻琛�</span>-->
+          </div>
+        </el-tooltip>
+        <el-tooltip :popper-class="'map-tooltip'" effect="dark" content="鎸囨爣" placement="bottom">
+          <div :class='["iconBtn",companyVisible ? "active-button" : ""]' @click="showStatisDialog('鎸囨爣')">
+            <!-- <img src="@/assets/images/map-pages/icon/map/company.png" alt="" class="icon"> -->
+            <i class="el-icon-office-building icon"></i>
+          </div>
+        </el-tooltip>
+        <el-tooltip :popper-class="'map-tooltip'" effect="dark" content="棰勬姤璀�" placement="bottom">
+          <div :class='["iconBtn",warnVisible ? "active-button" : ""]' @click="showWarnDialog('棰勬姤璀�')">
+            <i class="icon iconfont iconbaojing01"></i>
+            <!--<span class="icon-name">棰勬姤璀�</span>-->
+          </div>
+        </el-tooltip>
+      </div>
+    </transition>
+    <tab-handover v-show="summaryVisible" ref="titleProp"></tab-handover>
+    <Warn v-show="companyVisible" ref="titlePropWarn"></Warn>
+    <index-statistics v-show="warnVisible" ref="titlePropStatics"></index-statistics>
+  </div>
+</template>
+
+<script>
+import tabHandover from '@components/table/components/tabHandover'
+import Warn from './components/Warn'
+import IndexStatistics from '@components/table/components/IndexStatistics'
+import bus from '@/eventBus'
+
+export default {
+  name: 'SummarySheet',
+  components: {
+    tabHandover,
+    Warn,
+    IndexStatistics
+  },
+  data () {
+    return {
+      summaryVisible: false,
+      dialogShow: false,
+      comp: Warn,
+      warnVisible: false,
+      companyVisible: false,
+      subtopic: false
+    }
+  },
+  // mounted () {
+  //   const that = this
+  //   bus.$on('changeState', function (state) {
+  //     if (state.num !== 2 && state.type) {
+  //       that.subtopic = false
+  //     }
+  //   })
+  //   this.$nextTick(() => {
+  //     this.$refs.summarySheets.$on('closeDialog', () => {
+  //       that.summaryVisible = false
+  //     })
+  //     this.$refs.warnDialog.$on('closeDialog', () => {
+  //       that.warnVisible = false
+  //     })
+  //     this.$refs.indexStatisticsDialog.$on('closeDialog', () => {
+  //       that.companyVisible = false
+  //     })
+  //   })
+  // },
+  methods: {
+    closeBtn (item) {
+      this.$refs.titleProp.refsDatatitle(item)
+      this.summaryVisible = !this.summaryVisible
+    },
+    showWarnDialog (item) {
+      this.$refs.titlePropStatics.refsDatatitle(item)
+      this.warnVisible = !this.warnVisible
+    },
+    showStatisDialog (item) {
+      this.$refs.titlePropWarn.refsDatatitle(item)
+      this.companyVisible = !this.companyVisible
+    },
+    subtopicBtn () {
+      this.subtopic = !this.subtopic
+      const state = {
+        type: this.subtopic,
+        num: 2
+      }
+      bus.$emit('changeState', state)
+    }
+  }
+}
+</script>
+
+<style lang="less">
+.summary-sheets {
+  position: absolute;
+  display: inline-flex;
+  overflow: hidden;
+  top: 0.42979rem;
+  left: 0.14583rem;
+  /*width: 850px;*/
+  /*height: 265px;*/
+  z-index: 500;
+
+  .subtopic {
+    display: inline-flex;
+
+    .iconBtn {
+      margin-left: 0.03rem;
+      border-color: #00fff6;
+      color: #00fff6;
+    }
+
+    .iconBtn.active-button {
+      //border-color:#00fff6 !important;
+      //color:#00fff6 !important;
+    }
+  }
+
+  .dialog {
+    //width: 800px;
+    //height: 300px;
+    position: absolute;
+    top: 15%;
+    left: 3rem;
+  }
+
+  .animationChange-enter-active, .animationChange-leave-active {
+    transition: all 0.5s;
+  }
+
+  .animationChange-enter, .animationChange-leave-to {
+    opacity: 0;
+    transform: translateX(-100px);
+  }
+
+  /*color: #fff;*/
+
+  .el-icon-c-scale-to-original {
+    width: 30px;
+    height: 30px;
+    font-size: 30px;
+  }
+
+  .el-dialog.el-dialog--center {
+    left: 0.5rem;
+    top: 0.73979rem;
+  }
+
+}
+</style>
diff --git a/src/components/table/components/IndexStatistics.vue b/src/components/table/components/IndexStatistics.vue
index c8074db..27b0797 100644
--- a/src/components/table/components/IndexStatistics.vue
+++ b/src/components/table/components/IndexStatistics.vue
@@ -1,39 +1,45 @@
 <template>
-    <el-tabs v-model="activeName">
+  <Public>
+    <template v-slot:title>
+      <span>{{ titleProp }}</span>
+    </template>
+    <template v-slot:publicTable>
+      <el-tabs v-model="activeName">
         <el-tab-pane label="鎸囨爣缁熻" name="first">
-            <el-table :data="tableData" :lock-scroll="true" class="scroll" >
-                <el-table-column  type="index" label="搴忓彿"></el-table-column>
-                <el-table-column prop="date" label="鍗曚綅鍚嶇О"></el-table-column>
-                <el-table-column prop="province" label="宸ヤ笟鍙栨按閲�(m3)"></el-table-column>
-                <el-table-column prop="province" label="澶栨帓搴熸按閲�(m3)"></el-table-column>
-                <el-table-column prop="province" label="宸ヤ笟搴熸皵鎺掓斁閲�(m3)"></el-table-column>
-                <el-table-column label="COD(t)">
-                    <el-table-column prop="province" label="绱浜х敓閲�"></el-table-column>
-                    <el-table-column prop="city" label="褰撴湀浜х敓閲�"></el-table-column>
-                </el-table-column>
-                <el-table-column label="姘ㄦ爱(t)">
-                    <el-table-column prop="province" label="绱浜х敓閲�"></el-table-column>
-                    <el-table-column prop="city" label="褰撴湀浜х敓閲�"></el-table-column>
-                </el-table-column>
-                <el-table-column label="浜屾哀鍖栫~(t)">
-                    <el-table-column prop="province" label="绱浜х敓閲�"></el-table-column>
-                    <el-table-column prop="city" label="褰撴湀浜х敓閲�"></el-table-column>
-                </el-table-column>
-                <el-table-column label="姘哀鍖栫墿(t)">
-                    <el-table-column prop="province" label="绱浜х敓閲�"></el-table-column>
-                    <el-table-column prop="city" label="褰撴湀浜х敓閲�"></el-table-column>
-                </el-table-column>
-                <el-table-column label="VOCs(t)">
-                    <el-table-column prop="province" label="绱浜х敓閲�"></el-table-column>
-                    <el-table-column prop="city" label="褰撴湀浜х敓閲�"></el-table-column>
-                </el-table-column>
-                <el-table-column label="鍥哄簾(t)">
-                    <el-table-column prop="province" label="绱浜х敓閲�"></el-table-column>
-                    <el-table-column prop="city" label="褰撴湀浜х敓閲�"></el-table-column>
-                </el-table-column>
-            </el-table>
+          <el-table :data="tableData" :lock-scroll="true" class="scroll">
+            <el-table-column type="index" label="搴忓彿"></el-table-column>
+            <el-table-column prop="date" label="鍗曚綅鍚嶇О"></el-table-column>
+            <el-table-column prop="province" label="宸ヤ笟鍙栨按閲�(m3)"></el-table-column>
+            <el-table-column prop="province" label="澶栨帓搴熸按閲�(m3)"></el-table-column>
+            <el-table-column prop="province" label="宸ヤ笟搴熸皵鎺掓斁閲�(m3)"></el-table-column>
+            <el-table-column label="COD(t)">
+              <el-table-column prop="province" label="绱浜х敓閲�"></el-table-column>
+              <el-table-column prop="city" label="褰撴湀浜х敓閲�"></el-table-column>
+            </el-table-column>
+            <el-table-column label="姘ㄦ爱(t)">
+              <el-table-column prop="province" label="绱浜х敓閲�"></el-table-column>
+              <el-table-column prop="city" label="褰撴湀浜х敓閲�"></el-table-column>
+            </el-table-column>
+            <el-table-column label="浜屾哀鍖栫~(t)">
+              <el-table-column prop="province" label="绱浜х敓閲�"></el-table-column>
+              <el-table-column prop="city" label="褰撴湀浜х敓閲�"></el-table-column>
+            </el-table-column>
+            <el-table-column label="姘哀鍖栫墿(t)">
+              <el-table-column prop="province" label="绱浜х敓閲�"></el-table-column>
+              <el-table-column prop="city" label="褰撴湀浜х敓閲�"></el-table-column>
+            </el-table-column>
+            <el-table-column label="VOCs(t)">
+              <el-table-column prop="province" label="绱浜х敓閲�"></el-table-column>
+              <el-table-column prop="city" label="褰撴湀浜х敓閲�"></el-table-column>
+            </el-table-column>
+            <el-table-column label="鍥哄簾(t)">
+              <el-table-column prop="province" label="绱浜х敓閲�"></el-table-column>
+              <el-table-column prop="city" label="褰撴湀浜х敓閲�"></el-table-column>
+            </el-table-column>
+          </el-table>
         </el-tab-pane>
-        <el-tab-pane label="浼佷笟鎺掑悕" name="second"><el-table :data="tableData">
+        <el-tab-pane label="浼佷笟鎺掑悕" name="second">
+          <el-table :data="tableData">
             <el-table-column type="index" label="搴忓彿"></el-table-column>
             <el-table-column prop="date" label="浼佷笟鍚嶇О"></el-table-column>
             <el-table-column prop="name" label="搴熸按杈炬爣鐜�"></el-table-column>
@@ -44,8 +50,10 @@
             <el-table-column prop="zip" label="鍚嶆"></el-table-column>
             <el-table-column prop="zip" label="璁惧瀹屽ソ鐜�"></el-table-column>
             <el-table-column prop="zip" label="鎺掑悕"></el-table-column>
-        </el-table></el-tab-pane>
-        <el-tab-pane label="鎺掓斁鐐规帓鍚�" name="third"><el-table :data="tableData">
+          </el-table>
+        </el-tab-pane>
+        <el-tab-pane label="鎺掓斁鐐规帓鍚�" name="third">
+          <el-table :data="tableData">
             <el-table-column type="index" label="搴忓彿"></el-table-column>
             <el-table-column prop="date" label="鎺掓斁鐐瑰悕绉�"></el-table-column>
             <el-table-column prop="name" label="鎺掓斁绫诲瀷"></el-table-column>
@@ -55,15 +63,23 @@
             <el-table-column prop="zip" label="鍚嶆"></el-table-column>
             <el-table-column prop="zip" label="璁惧瀹屽ソ鐜�"></el-table-column>
             <el-table-column prop="zip" label="鍚嶆"></el-table-column>
-        </el-table></el-tab-pane>
-    </el-tabs>
-
+          </el-table>
+        </el-tab-pane>
+      </el-tabs>
+    </template>
+  </Public>
 </template>
 
 <script>
+
+import Public from '@components/table/Public'
+
 export default {
+  name: 'IndexStatistics',
+  components: { Public },
   data () {
     return {
+      titleProp: '',
       activeName: 'first',
       tableData: [{
         date: '闆嗗洟鍏徃',
@@ -88,6 +104,11 @@
         zip: 200333
       }]
     }
+  },
+  methods: {
+    refsDatatitle (item) {
+      this.titleProp = item
+    }
   }
 }
 </script>
diff --git a/src/components/table/components/Warn.vue b/src/components/table/components/Warn.vue
index fee998e..faf893a 100644
--- a/src/components/table/components/Warn.vue
+++ b/src/components/table/components/Warn.vue
@@ -1,155 +1,166 @@
 <template>
-    <el-tabs v-model="activeName">
+  <Public>
+    <template v-slot:title>
+      <span>{{ titleProp }}</span>
+    </template>
+    <template v-slot:publicTable>
+      <el-tabs v-model="activeName">
         <el-tab-pane label="瀹炴椂缁熻" name="first">
-            <el-scrollbar style="width:100%">
+          <el-scrollbar style="width:100%">
             <el-table
-                    :data="tableData">
+                :data="tableData">
+              <el-table-column
+                  prop="date"
+                  label="浼佷笟鍚嶇О">
+              </el-table-column>
+              <el-table-column label="搴熸按(涓�)">
                 <el-table-column
-                        prop="date"
-                        label="浼佷笟鍚嶇О">
+                    prop="name"
+                    label="棰勮">
                 </el-table-column>
-                <el-table-column label="搴熸按(涓�)">
-                    <el-table-column
-                            prop="name"
-                            label="棰勮">
-                    </el-table-column>
-                    <el-table-column
-                            prop="name"
-                            label="鎶ヨ">
-                    </el-table-column>
+                <el-table-column
+                    prop="name"
+                    label="鎶ヨ">
                 </el-table-column>
-                <el-table-column label="搴熸皵(涓�)">
-                    <el-table-column
-                            prop="name"
-                            label="棰勮">
-                    </el-table-column>
-                    <el-table-column
-                            prop="name"
-                            label="鎶ヨ">
-                    </el-table-column>
+              </el-table-column>
+              <el-table-column label="搴熸皵(涓�)">
+                <el-table-column
+                    prop="name"
+                    label="棰勮">
                 </el-table-column>
-                <el-table-column label="鍥哄簾(涓�)">
-                    <el-table-column
-                            prop="name"
-                            label="棰勮">
-                    </el-table-column>
+                <el-table-column
+                    prop="name"
+                    label="鎶ヨ">
                 </el-table-column>
-                <el-table-column label="纭寲姘�(涓�)">
-                    <el-table-column
-                            prop="name"
-                            label="棰勮">
-                    </el-table-column>
+              </el-table-column>
+              <el-table-column label="鍥哄簾(涓�)">
+                <el-table-column
+                    prop="name"
+                    label="棰勮">
                 </el-table-column>
-                <el-table-column label="鍙噧姘斾綋(涓�)">
-                    <el-table-column
-                            prop="name"
-                            label="棰勮">
-                    </el-table-column>
+              </el-table-column>
+              <el-table-column label="纭寲姘�(涓�)">
+                <el-table-column
+                    prop="name"
+                    label="棰勮">
                 </el-table-column>
+              </el-table-column>
+              <el-table-column label="鍙噧姘斾綋(涓�)">
+                <el-table-column
+                    prop="name"
+                    label="棰勮">
+                </el-table-column>
+              </el-table-column>
             </el-table>
-            </el-scrollbar>
+          </el-scrollbar>
         </el-tab-pane>
         <el-tab-pane label="褰撴湀缁熻" name="second">
-            <el-table
-                    :data="tableData">
-                <el-table-column
-                        prop="date"
-                        label="浼佷笟鍚嶇О">
-                </el-table-column>
-                <el-table-column label="搴熸按(涓�)">
-                    <el-table-column
-                            prop="name"
-                            label="棰勮">
-                    </el-table-column>
-                    <el-table-column
-                            prop="name"
-                            label="鎶ヨ">
-                    </el-table-column>
-                </el-table-column>
-                <el-table-column label="搴熸皵(涓�)">
-                    <el-table-column
-                            prop="name"
-                            label="棰勮">
-                    </el-table-column>
-                    <el-table-column
-                            prop="name"
-                            label="鎶ヨ">
-                    </el-table-column>
-                </el-table-column>
-                <el-table-column label="鍥哄簾(涓�)">
-                    <el-table-column
-                            prop="name"
-                            label="棰勮">
-                    </el-table-column>
-                </el-table-column>
-                <el-table-column label="纭寲姘�(涓�)">
-                    <el-table-column
-                            prop="name"
-                            label="棰勮">
-                    </el-table-column>
-                </el-table-column>
-                <el-table-column label="鍙噧姘斾綋(涓�)">
-                    <el-table-column
-                            prop="name"
-                            label="棰勮">
-                    </el-table-column>
-                </el-table-column>
-            </el-table>
+          <el-table
+              :data="tableData">
+            <el-table-column
+                prop="date"
+                label="浼佷笟鍚嶇О">
+            </el-table-column>
+            <el-table-column label="搴熸按(涓�)">
+              <el-table-column
+                  prop="name"
+                  label="棰勮">
+              </el-table-column>
+              <el-table-column
+                  prop="name"
+                  label="鎶ヨ">
+              </el-table-column>
+            </el-table-column>
+            <el-table-column label="搴熸皵(涓�)">
+              <el-table-column
+                  prop="name"
+                  label="棰勮">
+              </el-table-column>
+              <el-table-column
+                  prop="name"
+                  label="鎶ヨ">
+              </el-table-column>
+            </el-table-column>
+            <el-table-column label="鍥哄簾(涓�)">
+              <el-table-column
+                  prop="name"
+                  label="棰勮">
+              </el-table-column>
+            </el-table-column>
+            <el-table-column label="纭寲姘�(涓�)">
+              <el-table-column
+                  prop="name"
+                  label="棰勮">
+              </el-table-column>
+            </el-table-column>
+            <el-table-column label="鍙噧姘斾綋(涓�)">
+              <el-table-column
+                  prop="name"
+                  label="棰勮">
+              </el-table-column>
+            </el-table-column>
+          </el-table>
         </el-tab-pane>
         <el-tab-pane label="涓婃湀缁熻" name="third">
-            <el-table
-                    :data="tableData">
-                <el-table-column
-                        prop="date"
-                        label="浼佷笟鍚嶇О">
-                </el-table-column>
-                <el-table-column label="搴熸按(涓�)">
-                    <el-table-column
-                            prop="name"
-                            label="棰勮">
-                    </el-table-column>
-                    <el-table-column
-                            prop="name"
-                            label="鎶ヨ">
-                    </el-table-column>
-                </el-table-column>
-                <el-table-column label="搴熸皵(涓�)">
-                    <el-table-column
-                            prop="name"
-                            label="棰勮">
-                    </el-table-column>
-                    <el-table-column
-                            prop="name"
-                            label="鎶ヨ">
-                    </el-table-column>
-                </el-table-column>
-                <el-table-column label="鍥哄簾(涓�)">
-                    <el-table-column
-                            prop="name"
-                            label="棰勮">
-                    </el-table-column>
-                </el-table-column>
-                <el-table-column label="纭寲姘�(涓�)">
-                    <el-table-column
-                            prop="name"
-                            label="棰勮">
-                    </el-table-column>
-                </el-table-column>
-                <el-table-column label="鍙噧姘斾綋(涓�)">
-                    <el-table-column
-                            prop="name"
-                            label="棰勮">
-                    </el-table-column>
-                </el-table-column>
-            </el-table>
+          <el-table
+              :data="tableData">
+            <el-table-column
+                prop="date"
+                label="浼佷笟鍚嶇О">
+            </el-table-column>
+            <el-table-column label="搴熸按(涓�)">
+              <el-table-column
+                  prop="name"
+                  label="棰勮">
+              </el-table-column>
+              <el-table-column
+                  prop="name"
+                  label="鎶ヨ">
+              </el-table-column>
+            </el-table-column>
+            <el-table-column label="搴熸皵(涓�)">
+              <el-table-column
+                  prop="name"
+                  label="棰勮">
+              </el-table-column>
+              <el-table-column
+                  prop="name"
+                  label="鎶ヨ">
+              </el-table-column>
+            </el-table-column>
+            <el-table-column label="鍥哄簾(涓�)">
+              <el-table-column
+                  prop="name"
+                  label="棰勮">
+              </el-table-column>
+            </el-table-column>
+            <el-table-column label="纭寲姘�(涓�)">
+              <el-table-column
+                  prop="name"
+                  label="棰勮">
+              </el-table-column>
+            </el-table-column>
+            <el-table-column label="鍙噧姘斾綋(涓�)">
+              <el-table-column
+                  prop="name"
+                  label="棰勮">
+              </el-table-column>
+            </el-table-column>
+          </el-table>
         </el-tab-pane>
-    </el-tabs>
+      </el-tabs>
+    </template>
+  </Public>
 </template>
 
 <script>
+
+import Public from '@components/table/Public'
+
 export default {
   data () {
     return {
+      titleProp: '',
       activeName: 'first',
       tableData: [{
         date: '闆嗗洟鍏徃',
@@ -181,6 +192,12 @@
         zip: 1
       }]
     }
+  },
+  components: { Public },
+  methods: {
+    refsDatatitle (item) {
+      this.titleProp = item
+    }
   }
 }
 </script>
diff --git a/src/components/table/components/tabHandover.vue b/src/components/table/components/tabHandover.vue
index a9617c9..cd396fc 100644
--- a/src/components/table/components/tabHandover.vue
+++ b/src/components/table/components/tabHandover.vue
@@ -1,31 +1,25 @@
 <template>
-  <div>
-    <el-tabs v-model="activeName" @tab-click="handleClick">
-      <!-- <el-tab-pane label="搴熸按" name="first">
-        <waste-water></waste-water>
-      </el-tab-pane>
-      <el-tab-pane label="搴熸皵" name="second">
-        <waste-water></waste-water>
-      </el-tab-pane>
-      <el-tab-pane label="鍥哄簾" name="third">
-        <solid-waste></solid-waste>
-      </el-tab-pane>
-      <el-tab-pane label="绌烘皵璐ㄩ噺" name="fourth">
-        <AirQuality></AirQuality>
-      </el-tab-pane> -->
-      <el-tab-pane v-for="(item,index) in topicList" :key="index" :label="item.name" :name="item.name"></el-tab-pane>
-    </el-tabs>
-    <div>
-      <component :is="gcComp"></component>
-    </div>
-  </div>
+  <Public>
+    <template v-slot:title>
+      <span>{{ titleProp }}</span>
+    </template>
+    <template v-slot:publicTable>
+      <el-tabs v-model="activeName" @tab-click="handleClick">
+        <el-tab-pane v-for="(item,index) in topicList" :key="index" :label="item.name" :name="item.name"></el-tab-pane>
+      </el-tabs>
+      <div>
+        <component :is="gcComp"></component>
+      </div>
+    </template>
+  </Public>
 </template>
 
 <script>
+
+import Public from '@components/table/Public'
+
 import WasteWater from '@components/table/components/WasteWater'
-
 import SoilGroundwater from '@components/table/components/SoilGroundwater'
-
 import WasteGas from '@components/table/components/WasteGas'
 import SolidWaste from '@components/table/components/WasteSolid'
 import AirQuality from '@components/table/components/AirQuality'
@@ -35,6 +29,7 @@
 export default {
   name: 'tabHandover',
   components: {
+    Public,
     WasteWater,
     // WasteGas,
     // SoilGroundwater,
@@ -43,12 +38,16 @@
   },
   data () {
     return {
+      titleProp: '',
       activeName: 'first',
       topicList: TopicList,
       gcComp: AirQuality
     }
   },
   methods: {
+    refsDatatitle (item) {
+      this.titleProp = item
+    },
     handleClick (tab, event) {
       console.log(tab.label)
       switch (tab.label) {
diff --git a/src/conf/MapConfig.js b/src/conf/MapConfig.js
index 168b466..8a600ba 100644
--- a/src/conf/MapConfig.js
+++ b/src/conf/MapConfig.js
@@ -22,9 +22,10 @@
   minZoom: 3,
   maxZoom: 17,
   // center: [26, 104],
-  center: [38.828558921813965, 117.41676807403564],
-  // center: [29.454345703125, 113.40362548828125],
-  zoom: 5,
+  // center: [38.828558921813965, 117.41676807403564],
+  // zoom: 5,
+  center: [32.25853085517883, 118.78592848777771],
+  zoom: 15,
   worldCopyJump: true,
   inertia: true,
   zoomControl: false,
diff --git a/src/views/MapTemplate.vue b/src/views/MapTemplate.vue
index 1d3e4d9..10ad517 100644
--- a/src/views/MapTemplate.vue
+++ b/src/views/MapTemplate.vue
@@ -9,7 +9,8 @@
     <tool-box-panel ref="toolBox"></tool-box-panel>
     <!--    <menu-special></menu-special>-->
     <legend-panel></legend-panel>
-    <summary-sheets></summary-sheets>
+<!--    <summary-sheets></summary-sheets>-->
+    <SummarySheet></SummarySheet>
     <!-- <enterprise></enterprise> -->
     <!--    <el-button id="map-btn" el-icon-c-scale-to-original icon="el-icon-c-scale-to-original" circle @click="isShowHidden"></el-button>-->
     <!--    <el-button type="primary" @click="ChangeState" class="solid-waste">鍥哄簾</el-button>-->
@@ -26,7 +27,8 @@
 import SgisLayerController from '@components/LayerController/LayerController'
 import MonitorPanel from '@components/panel/RightSearchPanel'
 // import TopEnterprisePanel from '@components/panel/TopEnterprisePanel'
-import summarySheets from '@components/table/summarySheets.vue'
+// import summarySheets from '@components/table/summarySheets.vue'
+import SummarySheet from '@components/table/SummarySheet'
 import ToolBoxPanel from '@components/panel/ToolBoxPanel'
 import Popup from '@views/popup/Popup'
 // import MenuSpecial from '@components/panel/MenuTopic'
@@ -47,7 +49,8 @@
     SgisLayerController,
     MonitorPanel,
     Popup,
-    summarySheets,
+    // summarySheets,
+    SummarySheet,
     PublicBounced
   },
   data () {

--
Gitblit v1.8.0