From d7c0f79217217f90546f4b3113bd85f86c42e4f8 Mon Sep 17 00:00:00 2001
From: chenzeping <ChenZeping02609@163.com>
Date: 星期二, 13 四月 2021 14:57:37 +0800
Subject: [PATCH] 右侧管线分析

---
 src/components/panel/RightSearchPanel.vue                                       |  483 +++++++++++++----------
 src/components/panel/topicSearch/SewersSelect/AnalysisChoose/Tube.vue           |   45 ++
 src/assets/css/map/map-panel-style.less                                         |  233 +++++++---
 src/components/panel/topicSearch/SewersSelect/AnalysisChoose/Flow.vue           |   60 +++
 src/components/panel/topicSearch/SewersSelect/AnalysisChoose/CrossSectional.vue |   62 +++
 src/components/panel/topicSearch/SewersSearch.vue                               |  142 +++---
 src/components/panel/topicSearch/SewersSelect/SewersAnalysis.vue                |   48 ++
 src/components/panel/topicSearch/SewersSelect/AnalysisChoose/Connectivity.vue   |   83 ++++
 8 files changed, 802 insertions(+), 354 deletions(-)

diff --git a/src/assets/css/map/map-panel-style.less b/src/assets/css/map/map-panel-style.less
index 5e036a3..8be47de 100644
--- a/src/assets/css/map/map-panel-style.less
+++ b/src/assets/css/map/map-panel-style.less
@@ -1,9 +1,11 @@
 @import "_map-variable";
+
 .leaflet-container,
-html,body{
- // font-family: 'Microsoft YaHei';
+html, body {
+  // font-family: 'Microsoft YaHei';
   font: 12px/1.5 "Microsoft YaHei", Arial, Helvetica, sans-serif;
 }
+
 /*鍏ㄥ眬璁剧疆***********/
 h1, h2, h3, h4, h5, h6, ul, li, p {
   padding: 0;
@@ -11,7 +13,9 @@
   list-style: none;
 }
 
-i{font-style: normal}
+i {
+  font-style: normal
+}
 
 .el-button--primary {
   color: @color;
@@ -214,60 +218,75 @@
   margin-left: 10px;
 }
 
-.el-scrollbar__wrap{
+.el-scrollbar__wrap {
 
 }
+
 .el-scrollbar__wrap::-webkit-scrollbar {
   /*婊氬姩鏉℃暣浣撴牱寮�*/
-  width : 5px;  /*楂樺鍒嗗埆瀵瑰簲妯珫婊氬姩鏉$殑灏哄*/
+  width: 5px; /*楂樺鍒嗗埆瀵瑰簲妯珫婊氬姩鏉$殑灏哄*/
   height: 1px;
 }
+
 .el-scrollbar__wrap::-webkit-scrollbar-thumb {
   /*婊氬姩鏉¢噷闈㈠皬鏂瑰潡*/
-  border-radius   : 10px;
+  border-radius: 10px;
   background: none;
 }
+
 .el-scrollbar__wrap::-webkit-scrollbar-track {
   /*婊氬姩鏉¢噷闈㈣建閬�*/
-  box-shadow   : inset 0 0 5px rgba(0, 0, 0, 0.2);
-  background   : none;
+  box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
+  background: none;
   border-radius: 10px;
 }
+
 #el-scrollbar__wrap::-webkit-scrollbar-button { /*婊氬姩鏉′袱绔殑鎸夐挳锛屽彲浠ョ敤display:none璁╁叾涓嶆樉绀猴紝涔熷彲浠ユ坊鍔犺儗鏅浘鐗囷紝棰滆壊鏀瑰彉鏄剧ず鏁堟灉锛堜綅缃�2锛�*/
   background: #74D334;
 }
+
 /*******************鎿嶄綔鎸夐挳鐐瑰嚮閫変腑鏁翠綋鏍峰紡******************************/
-.el-button{
+.el-button {
 
 }
+
 .hover-bottom:hover,
-.active-button{
+.active-button {
   border: 0.00521rem solid #fff700 !important;
   box-shadow: 0 0 0.03rem #fff700 !important;
-  color:#fff700 !important;
+  color: #fff700 !important;
 }
 
 /***************Company 鍥惧眰 鎮诞妗嗘牱寮忋��*********************************/
-.company-bindTooltip{
+.company-bindTooltip {
   position: absolute;
-  top:0;
+  top: 0;
   left: 0;
   display: flex;
   justify-content: center;
   justify-items: center;
-  img{display: block;width: 30px;height: 30px;margin-left: -15px;margin-top: -15px}
-  ul{
+
+  img {
+    display: block;
+    width: 30px;
+    height: 30px;
+    margin-left: -15px;
+    margin-top: -15px
+  }
+
+  ul {
     width: 120px;
     margin-left: -60px;
     text-align: center;
     display: flex;
     position: absolute;
-    top:20px;
-    left:0;
-    li{
+    top: 20px;
+    left: 0;
+
+    li {
       position: absolute;
-      top:0;
-      left:0;
+      top: 0;
+      left: 0;
       width: 100%;
       font-weight: 900;
       text-shadow: 0 0 4px #fff;
@@ -279,6 +298,7 @@
     }
   }
 }
+
 /*.company-bindTooltip {
   //background: @background-color-split;
   background: none;
@@ -308,7 +328,7 @@
     }
   }
 }*/
-.company-bindTooltip:before{
+.company-bindTooltip:before {
   display: none;
 }
 
@@ -336,16 +356,19 @@
 
 /*************** PublicTable 琛ㄦ牸鏍峰紡銆�*********************************/
 
-.el-table{
+.el-table {
   border: 1px solid #396d83 !important;
+
   .el-table__body-wrapper::-webkit-scrollbar {
     width: 0;
     height: 0;
     background: none;
   }
-  .cell{
+
+  .cell {
     padding: 0 3px !important;
-    i{
+
+    i {
       display: block;
       font-style: normal;
       font-size: 10px;
@@ -353,26 +376,34 @@
     }
   }
 }
-.el-table--border th{
+
+.el-table--border th {
   border-right: none;
   border-left: 1px solid #ddd;
 }
-.el-table--border th.gutter{border-left: none}
+
+.el-table--border th.gutter {
+  border-left: none
+}
 
 .el-table .cell, .el-table--border td:first-child .cell, .el-table--border th:first-child .cell {
 
   text-align: center;
 }
-.el-table th>.cell {
+
+.el-table th > .cell {
   border: 1px #396d83 solid;
   color: #00fff6;
 }
-.el-table__row>td{
+
+.el-table__row > td {
   border: none;
 }
-.el-table::before {//鍘绘帀鏈�涓嬮潰鐨勯偅涓�鏉$嚎
+
+.el-table::before { //鍘绘帀鏈�涓嬮潰鐨勯偅涓�鏉$嚎
   height: 0;
 }
+
 .el-table td, .el-table th.is-leaf {
   font-size: 0.08rem;
 }
@@ -384,21 +415,24 @@
 .el-table .success-row {
   background: #30455f;
 }
-.el-table tbody tr:hover>td {
-  background-color:#28304d !important;
+
+.el-table tbody tr:hover > td {
+  background-color: #28304d !important;
 }
+
 //淇敼琛ㄦ牸楂樺害
 .el-table td {
-  padding: 0!important;
+  padding: 0 !important;
   font-size: 0.01rem !important;
 }
 
 /***********************************************鍔ㄧ敾鏁堟灉************/
-.transition{
+.transition {
   transition: all .5s;
- /* transform-origin: top left;*/
+  /* transform-origin: top left;*/
   animation: bounce-in .2s;
 }
+
 @keyframes bounce-in {
   0% {
     transform: scale(0);
@@ -409,9 +443,10 @@
     opacity: 1;
   }
 }
+
 /**map 椤甸潰鍥炬爣鎸夐挳*/
 .iconBtn {
-  width:0.26rem;
+  width: 0.26rem;
   height: 0.26rem;
   text-align: center;
   background: rgba(0, 16, 30, 0.5);
@@ -424,14 +459,16 @@
   justify-content: center;
   justify-items: center;
   border-radius: 0.03rem;
-  .icon{
+
+  .icon {
     width: 20px;
     margin: 0 auto;
     font-size: 20px;
   }
 
 }
-.panel-title{
+
+.panel-title {
   color: @color-title;
   font-size: 18px;
   padding: 10px;
@@ -443,61 +480,109 @@
 
 }
 
-.el-picker-panel{
+.el-picker-panel {
   background: @background-color;
-  border-color:@color;
-  color:@color;
-  .el-picker-panel__body-wrapper{
+  border-color: @color;
+  color: @color;
+
+  .el-picker-panel__body-wrapper {
     background: @background-color;
   }
-  .el-input__inner{
-    background:@background-color;
-    border-color:@color;
-  }
-  .el-date-table td.today span{
-    color:@color-highlight;
-  }
-  .el-picker-panel__footer{
+
+  .el-input__inner {
     background: @background-color;
-    border-top-color:@color;
+    border-color: @color;
   }
-  .el-date-table th{
-    border-bottom-color:@color;
+
+  .el-date-table td.today span {
+    color: @color-highlight;
   }
-  .el-button{
+
+  .el-picker-panel__footer {
     background: @background-color;
-    color:@color;
-    border-color:@color;
+    border-top-color: @color;
   }
-  .el-button--text{
+
+  .el-date-table th {
+    border-bottom-color: @color;
+  }
+
+  .el-button {
+    background: @background-color;
+    color: @color;
+    border-color: @color;
+  }
+
+  .el-button--text {
     padding: 7px 15px;
   }
-  .el-button:hover{
+
+  .el-button:hover {
     background: @background-color;
-    color:@color-highlight;
-    border-color:@color-highlight;
+    color: @color-highlight;
+    border-color: @color-highlight;
   }
-  .el-input__inner{
-    color:#fff;
+
+  .el-input__inner {
+    color: #fff;
     text-align: center;
   }
-  .el-date-picker__time-header{
-    border-bottom-color:@background-color-split;
+
+  .el-date-picker__time-header {
+    border-bottom-color: @background-color-split;
   }
-  .el-date-picker__header-label{color:#fff}
+
+  .el-date-picker__header-label {
+    color: #fff
+  }
 }
-.el-select-dropdown{
+
+.el-select-dropdown {
   background: @background-color;
-  border-color:@color;
-  color:@color;
-  .el-select-dropdown__item{
-    color:#fff;
+  border-color: @color;
+  color: @color;
+
+  .el-select-dropdown__item {
+    color: #fff;
   }
-  .el-select-dropdown__item.hover{
+
+  .el-select-dropdown__item.hover {
     background: @background-color;
-    box-shadow:  0 0 5px @color-highlight inset;
+    box-shadow: 0 0 5px @color-highlight inset;
   }
-  .el-select-dropdown__item.selected{
-    color:@color-highlight;
+
+  .el-select-dropdown__item.selected {
+    color: @color-highlight;
   }
-  }
+}
+
+/***********************************************鍙充晶瀹樼綉鐩稿叧************/
+.el-tabs__header {
+  background: none;
+}
+
+.el-tabs--top .el-tabs__item.is-top:nth-child(2) {
+  padding-left: 20px;
+}
+.el-tabs--border-card {
+  background: none;
+  border: none;
+  box-shadow: none;
+}
+.el-tabs--border-card>.el-tabs__header {
+  background: none;
+  border-bottom: none;
+  margin: 0;
+}
+.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active {
+  color: #409EFF;
+  background: none;
+  border: none;
+}
+.el-tabs--border-card>.el-tabs__header .el-tabs__item {
+  border: none;
+}
+.panel-right ::-webkit-scrollbar-thumb {
+  background: none;
+  border: none;
+}
diff --git a/src/components/panel/RightSearchPanel.vue b/src/components/panel/RightSearchPanel.vue
index 11b4c9b..afdd752 100644
--- a/src/components/panel/RightSearchPanel.vue
+++ b/src/components/panel/RightSearchPanel.vue
@@ -1,47 +1,49 @@
 <template>
   <div class="panel-right" v-show="isShow">
-      <transition name="searchPanelChange">
-          <div style=" display: inline-flex;">
-              <div class="panel-tab">
-                  <div class="container">
-                      <!--  <ul>
-                          <li style="text-align: right">
-                              <div @click="setSearchPanelChange" type="button" class="el-button special-button el-button--default">
-                                  <i class=" el-icon-d-arrow-right" v-if="selectGroup"></i>
-                                  <i class=" el-icon-d-arrow-left" v-else ></i>
-                              </div>
-                          </li>
-                      </ul> -->
-                      <ul  v-for="item in topicList" :key="item.name" :class="item.checked?'module-wrap map-btn-active':'module-wrap map-btn-unactive'" @click="()=>{selected(item)}" v-show="item.isShow" >
-                          <el-tooltip :popper-class="'map-tooltip'" effect="dark" :content="item.name" placement="left">
-                              <li>
-                                  <img src="../../assets/images/map-pages/icon/sl.png" class="icon">
-                              </li>
-                          </el-tooltip>
-                      </ul>
-                  </div>
-              </div>
-              <div class="right-control" :class="[{ 'unfold': !isCollapse },{ 'shrink': isCollapse }] "  >
-                  <div class="panel-fold-btn" @click="toggleMonitorPanel">
-                      <div :class="[isCollapse? 'btn-stretch':'btn-shrink']" ></div>
-                  </div>
-                  <div :class="'search-container map-background'" v-show="selectGroup" >
-                      <div @click="setSearchPanelChange" class="el-button special-button el-button--default ">
-                          <i class=" el-icon-d-arrow-right" v-if="selectGroup"></i>
-                          <i class=" el-icon-d-arrow-left" v-else ></i>
-                      </div>
-                      <div class="el-message-box__content" style="padding:0;font-size: 13px;">
-                          <component :title="title" :is="gcComp"></component>
-                      </div>
-                  </div>
-              </div>
+    <transition name="searchPanelChange">
+      <div style=" display: inline-flex;">
+        <div class="panel-tab">
+          <div class="container">
+            <!--  <ul>
+                <li style="text-align: right">
+                    <div @click="setSearchPanelChange" type="button" class="el-button special-button el-button--default">
+                        <i class=" el-icon-d-arrow-right" v-if="selectGroup"></i>
+                        <i class=" el-icon-d-arrow-left" v-else ></i>
+                    </div>
+                </li>
+            </ul> -->
+            <ul v-for="item in topicList" :key="item.name"
+                :class="item.checked?'module-wrap map-btn-active':'module-wrap map-btn-unactive'"
+                @click="()=>{selected(item)}" v-show="item.isShow">
+              <el-tooltip :popper-class="'map-tooltip'" effect="dark" :content="item.name" placement="left">
+                <li>
+                  <img src="../../assets/images/map-pages/icon/sl.png" class="icon">
+                </li>
+              </el-tooltip>
+            </ul>
           </div>
-       </transition>
-      <!-- <el-tooltip :popper-class="'map-tooltip'" effect="dark" content="鎼滅储" placement="left" v-show="!selectGroup">
-          <div :class="selectGroup === true ?'active-button':''" class="iconBtn"   @click="setSearchPanelChange" style="position: absolute;top:0;right: 0" >
-             <i class="el-icon-search icon"></i>
+        </div>
+        <div class="right-control" :class="[{ 'unfold': !isCollapse },{ 'shrink': isCollapse }] ">
+          <div class="panel-fold-btn" @click="toggleMonitorPanel">
+            <div :class="[isCollapse? 'btn-stretch':'btn-shrink']"></div>
           </div>
-      </el-tooltip> -->
+          <div :class="'search-container map-background'" v-show="selectGroup">
+            <div @click="setSearchPanelChange" class="el-button special-button el-button--default ">
+              <i class=" el-icon-d-arrow-right" v-if="selectGroup"></i>
+              <i class=" el-icon-d-arrow-left" v-else></i>
+            </div>
+            <div class="el-message-box__content" style="padding:0;font-size: 13px;">
+              <component :title="title" :is="gcComp"></component>
+            </div>
+          </div>
+        </div>
+      </div>
+    </transition>
+    <!-- <el-tooltip :popper-class="'map-tooltip'" effect="dark" content="鎼滅储" placement="left" v-show="!selectGroup">
+        <div :class="selectGroup === true ?'active-button':''" class="iconBtn"   @click="setSearchPanelChange" style="position: absolute;top:0;right: 0" >
+           <i class="el-icon-search icon"></i>
+        </div>
+    </el-tooltip> -->
   </div>
 </template>
 
@@ -56,9 +58,16 @@
 import SewersSearch from '@components/panel/topicSearch/SewersSearch'
 import SoilGroundWaterSearch from '@components/panel/topicSearch/SoilGroundWaterSearch.vue'
 import bus from '@/eventBus'
+
 export default {
   name: 'MonitorPanel',
-  components: { GasWasteSearch, WaterWasteSearch, SolidWasteSearch, EnvRiskSearch, DischargeSearch },
+  components: {
+    GasWasteSearch,
+    WaterWasteSearch,
+    SolidWasteSearch,
+    EnvRiskSearch,
+    DischargeSearch
+  },
   data () {
     return {
       isShow: true,
@@ -153,33 +162,33 @@
       // const right = rightControl.css('right')
       // const rightit = rightControl.ownerDocument.defaultView
       // const right = rightit.getComputedStyle(rightit, null).right
-    //   if (right === '10px') {
-    //     rightControl.animate({
-    //       right: '-322px'
-    //     })
-    //     el.css({
-    //       transform: 'rotateY(180deg)',
-    //       'transform-origin': '50% 50%',
-    //       transition: 'transform 1s linear'
-    //     })
-    //     el2.animate({
-    //       right: '320px',
-    //       speed: 1000
-    //     })
-    //   } else {
-    //     rightControl.animate({
-    //       right: '10px'
-    //     })
-    //     el.css({
-    //       transform: 'rotateY(0deg)',
-    //       'transform-origin': '50% 50%',
-    //       transition: 'transform 1s linear'
-    //     })
-    //     el2.animate({
-    //       right: '290px',
-    //       speed: 1000
-    //     })
-    //   }
+      //   if (right === '10px') {
+      //     rightControl.animate({
+      //       right: '-322px'
+      //     })
+      //     el.css({
+      //       transform: 'rotateY(180deg)',
+      //       'transform-origin': '50% 50%',
+      //       transition: 'transform 1s linear'
+      //     })
+      //     el2.animate({
+      //       right: '320px',
+      //       speed: 1000
+      //     })
+      //   } else {
+      //     rightControl.animate({
+      //       right: '10px'
+      //     })
+      //     el.css({
+      //       transform: 'rotateY(0deg)',
+      //       'transform-origin': '50% 50%',
+      //       transition: 'transform 1s linear'
+      //     })
+      //     el2.animate({
+      //       right: '290px',
+      //       speed: 1000
+      //     })
+      //   }
     },
     defaultLastOne () {
       let v = {}
@@ -211,28 +220,32 @@
 </script>
 
 <style lang="less">
-    .searchPanelChange-enter-active {
-        transform-origin: top right;
-        animation: bounce-in .2s;
-    }
-    .searchPanelChange-leave-active {
-        transform-origin: top right;
-        animation: bounce-in .2s reverse;
-    }
-.search-container {
-    position: relative;
-    width: 1.79167rem;
-  /*  height: 5.6475rem;*/
-    overflow: hidden;
+.searchPanelChange-enter-active {
+  transform-origin: top right;
+  animation: bounce-in .2s;
 }
-.module-wrap{
+
+.searchPanelChange-leave-active {
+  transform-origin: top right;
+  animation: bounce-in .2s reverse;
+}
+
+.search-container {
+  position: relative;
+  //width: 1.79167rem;
+  width: 4.7rem;
+  /*  height: 5.6475rem;*/
+  overflow: hidden;
+}
+
+.module-wrap {
   width: 0.15rem;
   height: 0.15rem;
   padding: .04167rem;
   //padding: .00521rem;
-  background: rgba(0,16,30,.5);
+  background: rgba(0, 16, 30, .5);
   border-radius: .03125rem;
-  border: .00521rem solid rgba(255,247,0,.5);
+  border: .00521rem solid rgba(255, 247, 0, .5);
   margin: .04167rem 0;
   font-size: .08333rem;
   -webkit-transition: all .2s linear;
@@ -240,16 +253,19 @@
   cursor: pointer;
   position: relative;
   line-height: 0.15rem;
-  li{
+
+  li {
     margin: 0.00521rem 0;
     text-align: center;
-    img{
+
+    img {
       width: 0.1rem;
       height: 0.1rem;
 
     }
   }
 }
+
 .panel-right {
   display: inline-flex;
   //width: 322px;
@@ -285,28 +301,30 @@
   //  background-color: #061e51 !important;
   //  border: solid 1px #0e639e !important;
   //}
-    .el-button--default.special-button {
-        padding: 0;
-        background:@background-color4;
-        color:@color-tool;
-        position: absolute;
-        top:24px;
-        right:0.02rem;
-        border:none;//1px solid @color-tool;
-        width: 0.2rem;
-        height: 0.2rem;
-        text-align: center;
-        line-height: 0.2rem;
-        margin-top: -0.1rem;
-        border-radius: 50%;
-        z-index: 999;
-    }
-    .el-button--default.special-button:hover{
-        background:@background-color;
-        border:1px solid @color;
-        box-shadow: 0 0 2px @color;
-        color:@color;
-    }
+  .el-button--default.special-button {
+    padding: 0;
+    background: @background-color4;
+    color: @color-tool;
+    position: absolute;
+    top: 24px;
+    right: 0.02rem;
+    border: none; //1px solid @color-tool;
+    width: 0.2rem;
+    height: 0.2rem;
+    text-align: center;
+    line-height: 0.2rem;
+    margin-top: -0.1rem;
+    border-radius: 50%;
+    z-index: 999;
+  }
+
+  .el-button--default.special-button:hover {
+    background: @background-color;
+    border: 1px solid @color;
+    box-shadow: 0 0 2px @color;
+    color: @color;
+  }
+
   .el-form-item__label {
     color: rgb(52, 224, 255);
     color: @color;
@@ -400,18 +418,20 @@
     text-overflow: ellipsis;
     white-space: nowrap;
   }
-  .panel-fold-btn{
+
+  .panel-fold-btn {
     overflow: hidden;
     position: absolute;
-    top:45%;
+    top: 45%;
     left: -18px;
     /*left: 0px;*/
     //right: 320px;
     /*right: 290px;*/
     z-index: 1000;
     /*right: 0px;*/
-    background-color: rgba(5,24,66,.8);
+    background-color: rgba(5, 24, 66, .8);
     border-radius: 10px 0 0 10px;
+
     .btn-stretch {
       //width: 20px;
       //height: 40px;
@@ -421,8 +441,9 @@
       transform: rotateY(0deg);
       transform-origin: 50% 50%;
       transition: transform 1s linear;
-        /*transition: 3s linear;*/
+      /*transition: 3s linear;*/
     }
+
     .btn-shrink {
       width: 20px;
       height: 40px;
@@ -442,14 +463,17 @@
     font-size: 12px;
     background-color: #0B3B6D;
   }
-  .tab-item:hover{
+
+  .tab-item:hover {
     cursor: pointer;
   }
+
   .panel-tab {
     position: relative;
     z-index: 500;
     margin-right: .025rem;
-    .container{
+
+    .container {
       max-height: 3.125rem;
       overflow: hidden;
       position: relative;
@@ -469,10 +493,12 @@
     //background: url('../../assets/images/map-pages/icon/bgc.png') no-repeat;
     //background-size: 100% 98%;
   }
-  .a{
+
+  .a {
     transform: translateX(328px);
     transition: transform 3s linear;
-    }
+  }
+
   .panel_searchTotal {
     font-size: 12px;
     float: right;
@@ -504,71 +530,90 @@
     display: grid;
     font-size: 18px;
   }
-    /*input 鐐瑰嚮鎼滅储鏍峰紡*/
-    .rightButtonSearch{
-        display: flex;
-        justify-content: space-between;
-        align-items: center;
-        .el-input{margin-right: 10px}
-        .el-icon-search{
-            width: 40px;
-            border:1px solid @color;
-            height: 28px;
-            line-height: 28px;
-            text-align: center;
-            color:#fff;
-            border-radius: 2px;
-            cursor:pointer;
-            background: rgba(0,16,30,.5);
-            padding:0;
-        }
-    }
-    /*鍗曢�夋寜閽牱寮�*/
-    .levelOfRisk{padding-left:20px}
-    .levelOfRisk .el-radio{padding-bottom:6px}
 
-    .levelOfRisk-type{
-        display: inline-block;
-        position: relative;
-        padding-right: 5px;
-        color:@color-shadow;
-        i{
-            display: block;
-            width: 15px;
-            height: 10px;
-            position: absolute;
-            top:50%;
-            right: -15px;
-            margin-top: -5px;
-        }
-    }
-    .el-radio.is-checked .levelOfRisk-type{color:#409EFF}
+  /*input 鐐瑰嚮鎼滅储鏍峰紡*/
 
-    .environmental-risk-list{
-        position: relative;
-        cursor: pointer;
-        padding-left:50px;
-        padding-top:5px;
-        padding-bottom:5px;
-        color: @color-shadow;
-        border-bottom:1px solid @background-color-split;
-        .state{
-            width: 30px;
-            height: 30px;
-            position: absolute;
-            top:50%;
-            left:10px;
-            margin-top: -15px;
-            border-radius: 50%;
-            box-shadow: 0 0 3px #000;
-            background: #0B3B6D;
-        }
+  .rightButtonSearch {
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+
+    .el-input {
+      margin-right: 10px
     }
-    .environmental-risk-list.hover,
-    .environmental-risk-list:hover{
-        color:@color-over;
-        background: @background-color;
+
+    .el-icon-search {
+      width: 40px;
+      border: 1px solid @color;
+      height: 28px;
+      line-height: 28px;
+      text-align: center;
+      color: #fff;
+      border-radius: 2px;
+      cursor: pointer;
+      background: rgba(0, 16, 30, .5);
+      padding: 0;
     }
+  }
+
+  /*鍗曢�夋寜閽牱寮�*/
+
+  .levelOfRisk {
+    padding-left: 20px
+  }
+
+  .levelOfRisk .el-radio {
+    padding-bottom: 6px
+  }
+
+  .levelOfRisk-type {
+    display: inline-block;
+    position: relative;
+    padding-right: 5px;
+    color: @color-shadow;
+
+    i {
+      display: block;
+      width: 15px;
+      height: 10px;
+      position: absolute;
+      top: 50%;
+      right: -15px;
+      margin-top: -5px;
+    }
+  }
+
+  .el-radio.is-checked .levelOfRisk-type {
+    color: #409EFF
+  }
+
+  .environmental-risk-list {
+    position: relative;
+    cursor: pointer;
+    padding-left: 50px;
+    padding-top: 5px;
+    padding-bottom: 5px;
+    color: @color-shadow;
+    border-bottom: 1px solid @background-color-split;
+
+    .state {
+      width: 30px;
+      height: 30px;
+      position: absolute;
+      top: 50%;
+      left: 10px;
+      margin-top: -15px;
+      border-radius: 50%;
+      box-shadow: 0 0 3px #000;
+      background: #0B3B6D;
+    }
+  }
+
+  .environmental-risk-list.hover,
+  .environmental-risk-list:hover {
+    color: @color-over;
+    background: @background-color;
+  }
 
   input::-webkit-input-placeholder {
     color: #569ee1;
@@ -695,7 +740,7 @@
 
   ::-webkit-scrollbar-track {
     /*婊氬姩鏉¢噷闈㈣建閬�*/
-    box-shadow   : inset 0 0 5px rgba(0, 0, 0, 0.2);
+    box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
     border-radius: 0px;
     background: #0E3565;
   }
@@ -724,48 +769,66 @@
       background-color: #061e51 !important;
     }
   }
+
   .unfold {
     transform: translateX(332px);
     transition: transform 0.5s linear;
   }
+
   .shrink {
     transform: translateX(0px);
     transition: transform 0.5s linear;
   }
-    /******************浠ヤ笅鍏叡閮ㄥ垎**********/
-    .sewers-search{
-        position: relative;
-        overflow: hidden;
-        .panel-title{}
-        .search-panel{
-            background-color: transparent;
-            padding: 10px;
-            border-bottom: 1px solid @background-color-split;
-            // .el-input{width:calc(100% - 40px);position: relative}
-            /deep/ input {
-                border-radius: 0;
-                background-color: @background-color-split ;
-                border: solid 1px @color ;
-                color: @color-gray;
-                font-size: 0.01rem;
-                padding:0 15px;
-                .el-select .el-input.is-focus .el-input__inner{
-                    border-color: @color;
-                }
-            }
-            .el-input__inner{background: none;color:#fff;font-size: 14px;border-radius: 0; border-color: @color;background: rgba(0,16,30,.5);}
-        }
-        .search-btn{
 
-        }
-        //location-btn{
-        //
-        //}
-        .location-btn:hover,.el-input__icon:hover{
-            color: @color;
-            cursor: pointer;
-        }
+  /******************浠ヤ笅鍏叡閮ㄥ垎**********/
+
+  .sewers-search {
+    position: relative;
+    overflow: hidden;
+
+    .panel-title {
     }
+
+    .search-panel {
+      background-color: transparent;
+      padding: 10px;
+      border-bottom: 1px solid @background-color-split;
+      // .el-input{width:calc(100% - 40px);position: relative}
+      /deep/ input {
+        border-radius: 0;
+        background-color: @background-color-split;
+        border: solid 1px @color;
+        color: @color-gray;
+        font-size: 0.01rem;
+        padding: 0 15px;
+
+        .el-select .el-input.is-focus .el-input__inner {
+          border-color: @color;
+        }
+      }
+
+      .el-input__inner {
+        background: none;
+        color: #fff;
+        font-size: 14px;
+        border-radius: 0;
+        border-color: @color;
+        background: rgba(0, 16, 30, .5);
+      }
+    }
+
+    .search-btn {
+
+    }
+
+    //location-btn{
+    //
+    //}
+    .location-btn:hover, .el-input__icon:hover {
+      color: @color;
+      cursor: pointer;
+    }
+  }
 }
 
 </style>
diff --git a/src/components/panel/topicSearch/SewersSearch.vue b/src/components/panel/topicSearch/SewersSearch.vue
index f8b485f..5d18286 100644
--- a/src/components/panel/topicSearch/SewersSearch.vue
+++ b/src/components/panel/topicSearch/SewersSearch.vue
@@ -1,78 +1,71 @@
 <template>
   <div class="sewers-search" v-if="gdVisible">
     <div class="panel-title">{{ title }}</div>
-    <div class="search-panel ">
-      <el-form ref="form" :model="form" label-width="90px" class="search-form">
-        <el-form-item label="璁炬柦绫诲瀷锛�" size="mini" class="search-panel-item">
-          <el-select style="width: 100%" v-model="form.pipelineType" @change="handlePipelineType"
-                     :popper-class="'select-down'">
-            <el-option
-                v-for="item in pipelineTypeOptions"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value">
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item :label="form.pipelineType+'锛�'" size="mini">
-          <el-select style="width: 100%" v-model="form.dataType" @change="handleDataType" :popper-class="'select-down'">
-            <el-option
-                v-for="item in dataTypeOptions"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value">
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <!--              <el-form-item >-->
-        <div class="rightButtonSearch">
-          <el-input v-model="form.keyword" size="mini" placeholder="鍦ㄦ杈撳叆鍏抽敭瀛楁悳绱�">
-            <!-- <el-button slot="append" icon="el-icon-search" size="mini"></el-button>-->
-            <!-- <i slot="prefix" class="el-input__icon el-icon-search"></i>-->
-            <!-- <i slot="suffix" class="search-btn el-input__icon el-icon-search" @click="handleSearch"></i> -->
-          </el-input>
-          <el-button class="el-icon-search" @click="handleSearch"></el-button>
+    <el-tabs v-model="activeName" @tab-click="handleClick">
+      <el-tab-pane label="鏌ヨ" name="first">
+        <div class="search-panel ">
+          <el-form ref="form" :model="form" label-width="90px" class="search-form">
+            <el-form-item label="璁炬柦绫诲瀷锛�" size="mini" class="search-panel-item">
+              <el-select style="width: 100%" v-model="form.pipelineType" @change="handlePipelineType"
+                         :popper-class="'select-down'">
+                <el-option
+                    v-for="item in pipelineTypeOptions"
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value">
+                </el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item :label="form.pipelineType+'锛�'" size="mini">
+              <el-select style="width: 100%" v-model="form.dataType" @change="handleDataType"
+                         :popper-class="'select-down'">
+                <el-option
+                    v-for="item in dataTypeOptions"
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value">
+                </el-option>
+              </el-select>
+            </el-form-item>
+            <div class="rightButtonSearch">
+              <el-input v-model="form.keyword" size="mini" placeholder="鍦ㄦ杈撳叆鍏抽敭瀛楁悳绱�">
+              </el-input>
+              <el-button class="el-icon-search" @click="handleSearch"></el-button>
+            </div>
+          </el-form>
         </div>
-        <!--              </el-form-item>-->
-        <!--              <el-form-item>-->
-        <!--                <input type="button" class="btn-ok" @click="handleSearch" value="鏌ヨ">-->
-        <!--                <input type="button" class="btn-reset" @click="handleSearch" value="閲嶇疆">-->
-        <!--              </el-form-item>-->
-      </el-form>
-    </div>
-    <el-scrollbar style="height:380.44px;">
-      <div class="environmental-risk-list" v-for="(item,index) in list" :key="index">
-        <!--  <i class="state"></i> -->
-        <div @click="handleLocation(item)">
-          <h3 class="B-TMD-table-list-title-y"
-              :class="['B-TMD-table-list-title-y-nam', { 'warning': item.vehicleStatus==='910003' }, { 'offline': item.vehicleStatus==='910001' }]">
-            {{ item.properties.pipename }}</h3>
-          <p v-for="itm in labelList" :key="itm.label">
-            <span>{{ itm.label }}锛�</span>
-            <span :title="item.properties[itm.key] ">{{ item.properties[itm.key] }}</span>
-          </p>
-        </div>
-      </div>
-    </el-scrollbar>
-    <el-card class="footer-page" v-if="total > 10">
-      <el-pagination
-          small
-          @current-change="handlePage"
-          :page-size=pageSize
-          layout="prev, pager, next"
-          :total=total
-          :current-page=current
-          class="warnPagination"
-      >
-      </el-pagination>
-    </el-card>
+        <el-scrollbar style="height:380.44px;">
+          <div class="environmental-risk-list" v-for="(item,index) in list" :key="index">
+            <div @click="handleLocation(item)">
+              <h3 class="B-TMD-table-list-title-y"
+                  :class="['B-TMD-table-list-title-y-nam', { 'warning': item.vehicleStatus==='910003' }, { 'offline': item.vehicleStatus==='910001' }]">
+                {{ item.properties.pipename }}</h3>
+              <p v-for="itm in labelList" :key="itm.label">
+                <span>{{ itm.label }}锛�</span>
+                <span :title="item.properties[itm.key] ">{{ item.properties[itm.key] }}</span>
+              </p>
+            </div>
+          </div>
+        </el-scrollbar>
+        <el-card class="footer-page" v-if="total > 10">
+          <el-pagination
+              small
+              @current-change="handlePage"
+              :page-size=pageSize
+              layout="prev, pager, next"
+              :total=total
+              :current-page=current
+              class="warnPagination"
+          >
+          </el-pagination>
+        </el-card>
+      </el-tab-pane>
+      <el-tab-pane label="鍒嗘瀽" name="second">
+        <SewersAnalysis></SewersAnalysis>
+      </el-tab-pane>
+      <el-tab-pane label="鍘嗗彶" name="third">鍘嗗彶</el-tab-pane>
+    </el-tabs>
   </div>
-  <!--        <div class="monitor2" v-if="hbVisible">-->
-  <!--          <env-protect-search></env-protect-search>-->
-  <!--        </div>-->
-  <!--        <div class="monitor2" v-if="pkVisible">-->
-  <!--          <discharge-search></discharge-search>-->
-  <!--        </div>-->
 </template>
 
 <script>
@@ -81,10 +74,16 @@
 import WfsHelper from '@components/helpers/WfsHelper'
 import AjaxUtils from '@utils/AjaxUtils'
 
+import SewersAnalysis from '@components/panel/topicSearch/SewersSelect/SewersAnalysis'
+
 export default {
   name: 'SewersSearch',
+  components: {
+    SewersAnalysis
+  },
   data () {
     return {
+      activeName: 'first',
       gdVisible: true,
       list: [],
       labelList: PipelineTypeOptions[0].labelList,
@@ -108,6 +107,9 @@
   },
   props: ['title'],
   methods: {
+    handleClick (tab, event) {
+      console.log(tab, event)
+    },
     handlePipelineType (val) {
       this.pipelineTypeOptions.forEach((itm) => {
         if (val === itm.value) {
diff --git a/src/components/panel/topicSearch/SewersSelect/AnalysisChoose/Connectivity.vue b/src/components/panel/topicSearch/SewersSelect/AnalysisChoose/Connectivity.vue
new file mode 100644
index 0000000..325eb98
--- /dev/null
+++ b/src/components/panel/topicSearch/SewersSelect/AnalysisChoose/Connectivity.vue
@@ -0,0 +1,83 @@
+<template>
+  <div class="connectivity">
+    <el-row>
+      <el-button type="primary" size="mini">璧峰绠℃</el-button>
+      <el-button type="primary" size="mini">缁撴潫绠℃</el-button>
+      <el-button type="primary" size="mini">杩為�氭�у垎鏋�</el-button>
+      <el-button type="primary" size="mini">娓呴櫎</el-button>
+    </el-row>
+    <el-table
+        :data="tableData"
+        height="250"
+        border
+        style="width: 100%">
+      <el-table-column
+          prop="date"
+          label="绠$嚎鍚嶇О"
+          width="180">
+      </el-table-column>
+      <el-table-column
+          prop="name"
+          label="绠$嚎绫诲瀷"
+          width="180">
+      </el-table-column>
+      <el-table-column
+          prop="address"
+          label="鎿嶄綔">
+      </el-table-column>
+    </el-table>
+    <el-table
+        :data="tableData"
+        height="250"
+        border
+        style="width: 100%">
+      <el-table-column
+          prop="date"
+          label="绠$嚎鍚嶇О"
+          width="180">
+      </el-table-column>
+      <el-table-column
+          prop="name"
+          label="绠$嚎绫诲瀷"
+          width="180">
+      </el-table-column>
+      <el-table-column
+          prop="address"
+          label="鎿嶄綔">
+      </el-table-column>
+    </el-table>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'Connectivity',
+  data () {
+    return {
+      tableData: [{
+        date: '2016-05-02',
+        name: '鐜嬪皬铏�',
+        address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�'
+      }, {
+        date: '2016-05-04',
+        name: '鐜嬪皬铏�',
+        address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1517 寮�'
+      }, {
+        date: '2016-05-01',
+        name: '鐜嬪皬铏�',
+        address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1519 寮�'
+      }, {
+        date: '2016-05-03',
+        name: '鐜嬪皬铏�',
+        address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1516 寮�'
+      }]
+    }
+  }
+}
+</script>
+
+<style lang="less" scoped>
+/deep/ .el-table {
+  margin-top: 15px;
+}
+</style>
diff --git a/src/components/panel/topicSearch/SewersSelect/AnalysisChoose/CrossSectional.vue b/src/components/panel/topicSearch/SewersSelect/AnalysisChoose/CrossSectional.vue
new file mode 100644
index 0000000..b417149
--- /dev/null
+++ b/src/components/panel/topicSearch/SewersSelect/AnalysisChoose/CrossSectional.vue
@@ -0,0 +1,62 @@
+<template>
+  <div class="connectivity">
+    <el-row>
+      <el-button type="primary" size="mini">缁樺埗绾挎</el-button>
+      <el-button type="primary" size="mini">鎴柇闈㈠垎鏋�</el-button>
+      <el-button type="primary" size="mini">娓呴櫎</el-button>
+    </el-row>
+    <el-table
+        :data="tableData"
+        height="250"
+        border
+        style="width: 100%">
+      <el-table-column
+          prop="date"
+          label="绠$嚎鍚嶇О"
+          width="180">
+      </el-table-column>
+      <el-table-column
+          prop="name"
+          label="绠$嚎绫诲瀷"
+          width="180">
+      </el-table-column>
+      <el-table-column
+          prop="address"
+          label="鎿嶄綔">
+      </el-table-column>
+    </el-table>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'CrossSectional',
+  data () {
+    return {
+      tableData: [{
+        date: '2016-05-02',
+        name: '鐜嬪皬铏�',
+        address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�'
+      }, {
+        date: '2016-05-04',
+        name: '鐜嬪皬铏�',
+        address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1517 寮�'
+      }, {
+        date: '2016-05-01',
+        name: '鐜嬪皬铏�',
+        address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1519 寮�'
+      }, {
+        date: '2016-05-03',
+        name: '鐜嬪皬铏�',
+        address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1516 寮�'
+      }]
+    }
+  }
+}
+</script>
+
+<style lang="less" scoped>
+/deep/ .el-table {
+  margin-top: 15px;
+}
+</style>
diff --git a/src/components/panel/topicSearch/SewersSelect/AnalysisChoose/Flow.vue b/src/components/panel/topicSearch/SewersSelect/AnalysisChoose/Flow.vue
new file mode 100644
index 0000000..1b10461
--- /dev/null
+++ b/src/components/panel/topicSearch/SewersSelect/AnalysisChoose/Flow.vue
@@ -0,0 +1,60 @@
+<template>
+  <div class="connectivity">
+    <el-row>
+      <el-button type="primary" size="mini">閫夋嫨绠℃</el-button>
+    </el-row>
+    <el-table
+        :data="tableData"
+        height="250"
+        border
+        style="width: 100%">
+      <el-table-column
+          prop="date"
+          label="绠$嚎鍚嶇О"
+          width="180">
+      </el-table-column>
+      <el-table-column
+          prop="name"
+          label="绠$嚎绫诲瀷"
+          width="180">
+      </el-table-column>
+      <el-table-column
+          prop="address"
+          label="鎿嶄綔">
+      </el-table-column>
+    </el-table>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'Flow',
+  data () {
+    return {
+      tableData: [{
+        date: '2016-05-02',
+        name: '鐜嬪皬铏�',
+        address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�'
+      }, {
+        date: '2016-05-04',
+        name: '鐜嬪皬铏�',
+        address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1517 寮�'
+      }, {
+        date: '2016-05-01',
+        name: '鐜嬪皬铏�',
+        address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1519 寮�'
+      }, {
+        date: '2016-05-03',
+        name: '鐜嬪皬铏�',
+        address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1516 寮�'
+      }]
+    }
+  }
+}
+</script>
+
+<style lang="less" scoped>
+/deep/ .el-table {
+  margin-top: 15px;
+}
+</style>
diff --git a/src/components/panel/topicSearch/SewersSelect/AnalysisChoose/Tube.vue b/src/components/panel/topicSearch/SewersSelect/AnalysisChoose/Tube.vue
new file mode 100644
index 0000000..650dcdd
--- /dev/null
+++ b/src/components/panel/topicSearch/SewersSelect/AnalysisChoose/Tube.vue
@@ -0,0 +1,45 @@
+<template>
+  <div class="connectivity">
+    <el-row>
+      <el-button type="primary" size="mini">閫夋嫨绠$嚎</el-button>
+      <el-button type="primary" size="mini">娓呴櫎</el-button>
+    </el-row>
+    <el-table
+        :data="tableData"
+        height="250"
+        border
+        style="width: 100%">
+      <el-table-column
+          prop="date"
+          label="绠$嚎鍚嶇О"
+          width="180">
+      </el-table-column>
+      <el-table-column
+          prop="name"
+          label="绠$嚎绫诲瀷"
+          width="180">
+      </el-table-column>
+      <el-table-column
+          prop="address"
+          label="鎿嶄綔">
+      </el-table-column>
+    </el-table>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'Tube',
+  data () {
+    return {
+      tableData: []
+    }
+  }
+}
+</script>
+
+<style lang="less" scoped>
+/deep/ .el-table {
+  margin-top: 15px;
+}
+</style>
diff --git a/src/components/panel/topicSearch/SewersSelect/SewersAnalysis.vue b/src/components/panel/topicSearch/SewersSelect/SewersAnalysis.vue
new file mode 100644
index 0000000..3d3d000
--- /dev/null
+++ b/src/components/panel/topicSearch/SewersSelect/SewersAnalysis.vue
@@ -0,0 +1,48 @@
+<template>
+  <div class="sewers-analysis-tab">
+    <el-tabs v-model="activeName" type="border-card" @tab-click="handleClick">
+      <el-tab-pane label="杩為�氭��" name="first">
+        <Connectivity></Connectivity>
+      </el-tab-pane>
+      <el-tab-pane label="鐖嗙" name="second">
+        <Tube></Tube>
+      </el-tab-pane>
+      <el-tab-pane label="娴佸悜" name="third">
+        <Flow></Flow>
+      </el-tab-pane>
+      <el-tab-pane label="妯柇闈�" name="four">
+        <CrossSectional></CrossSectional>
+      </el-tab-pane>
+    </el-tabs>
+  </div>
+</template>
+
+<script>
+import Connectivity from '@components/panel/topicSearch/SewersSelect/AnalysisChoose/Connectivity'
+import Tube from '@components/panel/topicSearch/SewersSelect/AnalysisChoose/Tube'
+import Flow from '@components/panel/topicSearch/SewersSelect/AnalysisChoose/Flow'
+import CrossSectional from '@components/panel/topicSearch/SewersSelect/AnalysisChoose/CrossSectional'
+
+export default {
+  name: 'SewersFirstTab',
+  components: {
+    Connectivity,
+    Tube,
+    Flow,
+    CrossSectional
+  },
+  data () {
+    return {
+      activeName: 'first'
+    }
+  },
+  methods: {
+    handleClick (tab, event) {
+      console.log(tab, event)
+    }
+  }
+}
+</script>
+
+<style lang="less" scoped>
+</style>

--
Gitblit v1.8.0