From 977955d716039c91fd6292b159e50e15c62100a1 Mon Sep 17 00:00:00 2001
From: yangdelong <828900aaa>
Date: 星期六, 29 五月 2021 16:25:59 +0800
Subject: [PATCH] 企业应急-事件处置-事件信息页面

---
 src/components/panel/RightSearchPanel.vue |  392 +++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 265 insertions(+), 127 deletions(-)

diff --git a/src/components/panel/RightSearchPanel.vue b/src/components/panel/RightSearchPanel.vue
index 480803e..6df7286 100644
--- a/src/components/panel/RightSearchPanel.vue
+++ b/src/components/panel/RightSearchPanel.vue
@@ -1,46 +1,50 @@
 <template>
   <div class="panel-right" v-show="isShow">
-    <div class="panel-tab">
-      <!--      <div v-for="item in topicMenu" :key="item.id" :title="item.name" class="tab-item" @click="handleGd"-->
-      <!--           :class="{'B-TMT-tab-waybill-isActive': isWaybillHover}">-->
-      <!--        <img :src="item.icon" style="width: 24px;height: 24px;"></div>-->
-      <div class="container">
-        <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  style="   ">
-              <!--            <span>{{item.name}}</span>-->
-              <!--            <div >-->
-              <img src="../../assets/images/map-pages/icon/sl.png" class="icon">
-              <!--            </div>-->
-            </li>
-          </el-tooltip>
-        </ul>
-      </div>
-    </div>
-    <!--    <div class="panel-fold-btn" >-->
-    <!--      <div class="btn-stretch" @click="toggleMonitorPanel"></div>-->
-    <!--    </div>-->
-
-    <!--      <div class="panel-fold-btn" @click="toggleMonitorPanel" >-->
-    <!--            <div :class="[isCollapse? 'btn-stretch':'btn-shrink']" ></div>-->
-    <!--&lt;!&ndash;                <div class="btn-stretch" v-if="isCollapse"  </div>&ndash;&gt;-->
-    <!--&lt;!&ndash;            <div class="btn-shrink" v-else-if="!isCollapse" ></div>&ndash;&gt;-->
-    <!--&lt;!&ndash;        :style = "{width:isCollapse ? '290px' : '0px'}"&ndash;&gt;-->
-    <!--      </div>-->
-    <!--    <div class="right-control" v-if="!isCollapse"  >-->
-    <div class="right-control" :class="[{ 'unfold': !isCollapse },{ 'shrink': isCollapse }] " >
-      <div class="panel-fold-btn" @click="toggleMonitorPanel">
-        <!--        <div class="btn-stretch" v-if="isCollapse"></div>-->
-        <!--        <div class="btn-shrink" v-else-if="!isCollapse"></div>-->
-        <div :class="[isCollapse? 'btn-stretch':'btn-shrink']" ></div>
-      </div>
-
-      <div :class="'search-container map-background'">
-        <div class="el-message-box__content" style="padding:6px;font-size: 13px;">
-          <component :title="title" :is="gcComp"></component>
+    <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"> -->
+                  <i class="icon iconfont" :class="item.icon"></i>
+                </li>
+              </el-tooltip>
+            </ul>
+          </div>
+        </div>
+        <div class="right-control" :class="[{ 'unfold': !isCollapse },{ 'shrink': isCollapse }] " v-if="gcComp!=''">
+          <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>
       </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>
 
@@ -54,9 +58,22 @@
 import SolidWasteSearch from '@components/panel/topicSearch/SolidWasteSearch'
 import SewersSearch from '@components/panel/topicSearch/SewersSearch'
 import SoilGroundWaterSearch from '@components/panel/topicSearch/SoilGroundWaterSearch.vue'
+import PipeChangesSearch from '@components/panel/topicSearch/pipeChangesSearch.vue'
+import PipeInformationSearch from '@components/panel/topicSearch/pipeInformationSearch.vue'
+import EnterpriseEmergencySearch from './topicSearch/EnterpriseEmergencySearch'
+
+import bus from '@/eventBus'
+
 export default {
   name: 'MonitorPanel',
-  components: { GasWasteSearch, WaterWasteSearch, SolidWasteSearch, EnvRiskSearch, DischargeSearch },
+  components: {
+    GasWasteSearch,
+    WaterWasteSearch,
+    SolidWasteSearch,
+    EnvRiskSearch,
+    DischargeSearch,
+    EnterpriseEmergencySearch
+  },
   data () {
     return {
       isShow: true,
@@ -65,14 +82,13 @@
       topicCheckedList: [],
       isPanelVisible: false,
       gcComp: SewersSearch,
-
       gdVisible: true,
       hbVisible: false,
       pkVisible: false,
       toggleMonitorStyle: 'right:0px',
-
       title: '姹¢洦姘寸缃�',
-      isCollapse: true
+      isCollapse: true,
+      selectGroup: false
     }
   },
   computed: {},
@@ -95,9 +111,18 @@
     handleClose (done) {
       console.log(done)
     },
+    setSearchPanelChange () {
+      this.selectGroup = !this.selectGroup
+      if (!this.selectGroup) {
+        this.topicList.forEach((itm) => {
+          itm.checked = false
+        })
+      }
+    },
     selected (val) {
       // console.log(val)
-      this.title = val.name + '锛堟绱級'
+      this.title = val.name
+      this.selectGroup = true
       this.topicList.forEach((itm) => {
         itm.checked = val.name === itm.name
       })
@@ -105,13 +130,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 '鐜椋庨櫓':
@@ -120,8 +145,17 @@
         case '鍦熷¥鍙婂湴涓嬫按':
           this.gcComp = SoilGroundWaterSearch
           break
-        case '姹¢洦姘寸缃�':
+        case '绠$嚎':
           this.gcComp = SewersSearch
+          break
+        case '绠¢亾鍙樻洿':
+          this.gcComp = PipeChangesSearch
+          break
+        case '绠¢亾淇℃伅':
+          this.gcComp = PipeInformationSearch
+          break
+        case '浼佷笟搴旀��':
+          this.gcComp = EnterpriseEmergencySearch
           break
       }
     },
@@ -169,35 +203,70 @@
       //       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) {
+      that.gcComp = ''
+      that.topicList.forEach((item) => {
+        if (item.name === obj.name) {
+          if (obj.type > 0) {
+            item.isShow = true
+          } else {
+            item.isShow = false
+          }
+          // item.isShow = obj.checked
+          if (item.isShow) {
+            that.selected(item)
+          } else {
+            that.defaultLastOne()
+          }
+        }
+      })
+    })
+  //  console.log(that.topicList)
   }
 }
 </script>
 
 <style lang="less">
-.search-title{
-  color: rgb(255, 255, 255);
-  font-size: 16px;
-  margin: 5px;
+.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;*/
-  min-height: 80vh;
-  max-height: 90vh;
+  //width: 1.79167rem;
+  //width: 2.39167rem;
+  width: 2.3rem;
+  /*  height: 5.6475rem;*/
   overflow: hidden;
 }
-.module-wrap{
+
+.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;
@@ -205,16 +274,19 @@
   cursor: pointer;
   position: relative;
   line-height: 0.15rem;
-  li{
+  li {
     margin: 0.00521rem 0;
     text-align: center;
-    img{
+    font-size: 20px;
+
+    img {
       width: 0.1rem;
       height: 0.1rem;
 
     }
   }
 }
+
 .panel-right {
   display: inline-flex;
   //width: 322px;
@@ -224,8 +296,8 @@
   //top: 10px;
   height: 0;
   position: absolute;
-  top: .4rem;
-  right: .08333rem;
+  top: 0.73979rem;
+  right: 0.14583rem;
   z-index: 501;
   display: -webkit-box;
   display: -ms-flexbox;
@@ -250,6 +322,29 @@
   //  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: 20px;
+    left: 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);
@@ -344,18 +439,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;
@@ -367,6 +464,7 @@
       transition: transform 1s linear;
       /*transition: 3s linear;*/
     }
+
     .btn-shrink {
       width: 20px;
       height: 40px;
@@ -386,14 +484,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;
@@ -413,10 +514,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;
@@ -448,79 +551,91 @@
     display: grid;
     font-size: 18px;
   }
+
   /*input 鐐瑰嚮鎼滅储鏍峰紡*/
-  .rightButtonSearch{
+
+  .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: 26px;
-      text-align: center;
-      line-height: 26px;
-      color:#fff;
-      border-radius: 2px;
-      cursor:pointer;
-      background: rgba(0,16,30,.5);
+
+    .el-input {
+      margin-right: 10px
     }
-    .el-button {
+
+    .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{
+  /*鍗曢�夋寜閽牱寮�*/
+
+  .levelOfRisk {
+    padding-left: 20px
+  }
+
+  .levelOfRisk .el-radio {
+    padding-bottom: 6px
+  }
+
+  .levelOfRisk-type {
     display: inline-block;
     position: relative;
     padding-right: 5px;
-    color:#f5f5f5;
-    i{
+    color: @color-shadow;
+
+    i {
       display: block;
       width: 15px;
       height: 10px;
       position: absolute;
-      top:50%;
+      top: 50%;
       right: -15px;
       margin-top: -5px;
     }
   }
-  .el-radio.is-checked .levelOfRisk-type{color:#409EFF}
 
-  .environmental-risk-list{
-    border:1px solid @color;
-    margin-right: 10px;
-    margin-bottom: 15px;
+  .el-radio.is-checked .levelOfRisk-type {
+    color: #409EFF
+  }
+
+  .environmental-risk-list {
     position: relative;
-    padding-left:50px;
-    padding-top:3px;
-    padding-bottom:3px;
-    color: #f5f5f5;
-    .state{
+    padding-left: 50px;
+    padding-top: 5px;
+    padding-bottom: 5px;
+    color: @color-shadow;
+    border-bottom: 1px solid @background-color-split;
+    h3{ cursor: pointer;}
+    .state {
       width: 30px;
       height: 30px;
       position: absolute;
-      top:50%;
-      left:10px;
+      top: 50%;
+      left: 10px;
       margin-top: -15px;
       border-radius: 50%;
       box-shadow: 0 0 3px #000;
       background: #0B3B6D;
     }
   }
-  //.search-panel {
-  //  border: #07325B;
-  //  background-color: #07325B !important;
-  //  margin-top: 0px;
-  //
-  //  .el-input__inner {
-  //    border-radius: 0px !important;
-  //    background-color: #061e51 !important;
-  //  }
-  //}
+  .environmental-risk-list.hover,
+  .environmental-risk-list:hover{
+    background: @background-color;
+  }
+  .environmental-risk-list.hover h3,
+  .environmental-risk-list h3:hover {
+    color: @color-highlight;
+  }
 
   input::-webkit-input-placeholder {
     color: #569ee1;
@@ -577,12 +692,16 @@
   }
 
   .footer-page {
-    position: absolute;
+   // position: absolute;
     background-color: transparent !important;
-    bottom: 10px !important;
-    margin-left: 0px;
+  //  bottom: 10px !important;
+   // margin-left: 0px;
     border: none;
-
+    margin: 0;
+    border-top: 1px solid rgba(0, 255, 246, 0.14);
+   .el-card__body{
+     padding: 5px;
+   }
     .warnPagination {
       .btn-quicknext, .btn-quickprev {
         color: #e4e8f1 !important;
@@ -647,7 +766,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;
   }
@@ -676,43 +795,62 @@
       background-color: #061e51 !important;
     }
   }
+
   .unfold {
     transform: translateX(332px);
     transition: transform 0.5s linear;
   }
+
   .shrink {
     transform: translateX(0px);
     transition: transform 0.5s linear;
   }
+
   /******************浠ヤ笅鍏叡閮ㄥ垎**********/
-  .query-search{
+
+  .sewers-search {
     position: relative;
     overflow: hidden;
-    .search-panel{
+
+    .panel-title {
+    }
+
+    .search-panel {
       background-color: transparent;
-      border: 1px solid @background-color-split;
-      padding: 10px 0;
+      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 ;
+        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{
+        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);}
+
+      .el-input__inner {
+        background: none;
+        color: #fff;
+        font-size: 14px;
+        border-radius: 0;
+        border-color: @color;
+        background: rgba(0, 16, 30, .5);
+      }
     }
-    .search-btn{
+
+    .search-btn {
 
     }
+
     //location-btn{
     //
     //}
-    .location-btn:hover,.el-input__icon:hover{
+    .location-btn:hover, .el-input__icon:hover {
       color: @color;
       cursor: pointer;
     }

--
Gitblit v1.8.0