From 48c4a38d875f85f1d2de1dd844ca871308b39638 Mon Sep 17 00:00:00 2001
From: chenzeping <ChenZeping02609@163.com>
Date: 星期二, 13 四月 2021 17:29:19 +0800
Subject: [PATCH] 右侧管线/历史

---
 src/components/panel/RightSearchPanel.vue |  519 +++++++++++++++++++++++++++++++++------------------------
 1 files changed, 303 insertions(+), 216 deletions(-)

diff --git a/src/components/panel/RightSearchPanel.vue b/src/components/panel/RightSearchPanel.vue
index 28910bb..446cb33 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)}" >
-                          <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" 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>
-                      <div class="el-message-box__content" style="padding:0 6px 6px 6px;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>
 
@@ -55,9 +57,17 @@
 import SolidWasteSearch from '@components/panel/topicSearch/SolidWasteSearch'
 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,
@@ -66,7 +76,6 @@
       topicCheckedList: [],
       isPanelVisible: false,
       gcComp: SewersSearch,
-
       gdVisible: true,
       hbVisible: false,
       pkVisible: false,
@@ -74,7 +83,7 @@
 
       title: '姹¢洦姘寸缃�',
       isCollapse: true,
-      selectGroup: true
+      selectGroup: false
     }
   },
   computed: {},
@@ -116,13 +125,13 @@
         case '姹℃煋婧�':
           this.gcComp = DischargeSearch
           break
-        case '搴熸按鐩戞祴':
+        case '搴熸按':
           this.gcComp = WaterWasteSearch
           break
-        case '搴熸皵鐩戞祴':
+        case '搴熸皵':
           this.gcComp = GasWasteSearch
           break
-        case '鍥哄簾绠$悊':
+        case '鍥哄簾':
           this.gcComp = SolidWasteSearch
           break
         case '鐜椋庨櫓':
@@ -131,7 +140,7 @@
         case '鍦熷¥鍙婂湴涓嬫按':
           this.gcComp = SoilGroundWaterSearch
           break
-        case '姹¢洦姘寸缃�':
+        case '绠$嚎':
           this.gcComp = SewersSearch
           break
       }
@@ -153,63 +162,91 @@
       // 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 = {}
+      this.topicList.forEach((item) => {
+        if (item.isShow) {
+          v = item
+        }
+      })
+      this.selected(v)
     }
   },
   mounted () {
+    const that = this
+    bus.$on('changeSearchBar', function (obj) {
+      // console.log(obj.checked, obj.name)
+      that.topicList.forEach((item) => {
+        if (item.name === obj.name) {
+          item.isShow = obj.checked
+          if (item.isShow) {
+            that.selected(item)
+          } else {
+            that.defaultLastOne()
+          }
+        }
+      })
+    })
   }
 }
 </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: 2.39167rem;
+  width: 2.3rem;
+  /*  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;
@@ -217,16 +254,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;
@@ -262,28 +302,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;
@@ -377,18 +419,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;
@@ -398,8 +442,9 @@
       transform: rotateY(0deg);
       transform-origin: 50% 50%;
       transition: transform 1s linear;
-        /*transition: 3s linear;*/
+      /*transition: 3s linear;*/
     }
+
     .btn-shrink {
       width: 20px;
       height: 40px;
@@ -419,14 +464,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;
@@ -446,10 +494,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;
@@ -481,71 +531,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;
@@ -672,7 +741,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;
   }
@@ -701,48 +770,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 0;
-            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>

--
Gitblit v1.8.0