From ce658042246b6425bbb015c2d271e2b3f9c9d83e Mon Sep 17 00:00:00 2001
From: chenzeping <ChenZeping02609@163.com>
Date: 星期一, 15 三月 2021 09:14:01 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master

---
 src/components/panel/RightSearchPanel.vue           |  173 ++++--
 src/components/panel/MenuTopic.vue                  |    1 
 src/components/table/enterprise.vue                 |   62 ++
 src/conf/Topic.js                                   |   18 
 vue.config.js                                       |   10 
 public/index.html                                   |   14 
 src/assets/css/map/map-panel-style.less             |   92 +++
 src/assets/images/map-pages/icon/map/warn.png       |    0 
 src/components/table/components/IndexStatistics.vue |  263 ++++++++++
 src/utils/dialogDrag.js                             |   80 +++
 src/assets/css/map/map-popup.less                   |   13 
 src/views/MapTemplate.vue                           |   19 
 src/components/panel/LegendPanel.vue                |  216 +++-----
 src/views/popup/Dialog.vue                          |   37 +
 src/assets/images/map-pages/icon/map/company.png    |    0 
 src/assets/css/map/_map-variable.less               |    5 
 /dev/null                                           |   62 --
 src/components/plugin/DialogDrag.js                 |   49 ++
 src/components/table/summarySheets.vue              |   21 
 src/main.js                                         |    3 
 package.json                                        |    2 
 src/components/panel/topicSearch/SewersSearch.vue   |   49 +
 src/App.vue                                         |    5 
 src/components/table/components/Warn.vue            |  232 +++++++++
 24 files changed, 1,129 insertions(+), 297 deletions(-)

diff --git a/package.json b/package.json
index 1e6e4b7..1004223 100644
--- a/package.json
+++ b/package.json
@@ -30,7 +30,9 @@
     "nprogress": "^0.2.0",
     "rbush": "^3.0.1",
     "screenfull": "^3.3.3",
+    "style-resources-loader": "^1.4.1",
     "vue": "^2.6.11",
+    "vue-cli-plugin-style-resources-loader": "^0.1.4",
     "vue-count-to": "^1.0.13",
     "vue-focus": "^2.1.0",
     "vue-fullscreen": "^2.2.0",
diff --git a/public/index.html b/public/index.html
index 6c18cb7..396d79c 100644
--- a/public/index.html
+++ b/public/index.html
@@ -15,5 +15,19 @@
     </noscript>
     <div id="app"></div>
     <!-- built files will be auto injected -->
+    <script type="text/javascript">
+        /* 杩欓噷鎴戜滑鍒╃敤浜嗕竴涓嚜鎵ц鍑芥暟 */
+        (function(){
+            change();
+            function change(){
+              console.log( document.documentElement.clientWidth*12/640 +'px')
+                //html鐨� font-size 鐨勫ぇ灏忓昂瀵�
+                //杩欓噷鐨刪tml瀛椾綋澶у皬鍒╃敤浜嗕竴涓畝鍗曠殑鏁板鍏紡锛屽綋鎴戜滑榛樿璁剧疆浠ュ睆骞�320px浣嶅熀鍑嗘鏃剁殑瀛椾綋澶у皬涓�20px(320    20px),閭d箞娴忚鍣ㄧ獥鍙eぇ灏忔敼鍙樼殑鏃跺�欐柊鐨刪tml鐨刦ontSize锛坈lientWidth  鏂扮殑鍊硷級灏辨槸clientWidth*20/320
+                document.documentElement.style.fontSize = document.documentElement.clientWidth/12 +'px';
+            }
+            /* 鐩戝惉绐楀彛澶у皬鍙戠敓鏀瑰彉鏃�*/
+            window.addEventListener('resize',change,false);
+        })();
+    </script>
   </body>
 </html>
diff --git a/src/App.vue b/src/App.vue
index 6cd8911..89338ed 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -13,9 +13,9 @@
 }
 </script>
 
-<style>
+<style lang="less">
 html, body, #app{
-  color: #2c3e50;
+  color: @color;
   height: 100vh;
   width: 100vw;
   margin: 0;
@@ -27,6 +27,7 @@
 }
 body{
   -ms-overflow-style: none;
+  font-size: 12px;
 }
 
 </style>
diff --git a/src/assets/css/map/_map-variable.less b/src/assets/css/map/_map-variable.less
index aad5b7b..caba7bb 100644
--- a/src/assets/css/map/_map-variable.less
+++ b/src/assets/css/map/_map-variable.less
@@ -1,4 +1,9 @@
 @color:#00fff6;
 @color-highlight:#fff700;
+@color-gray:#C0C4CC;
+@color-title:white;
+@color-over:white;
 @background-color:rgba(0,16,30,.8);
 @background-color-light:rgba(40,50,100,.4);
+@background-color-split:rgba(0,255,246,.14);
+@border-radius: .03rem;
diff --git a/src/assets/css/map/map-elem-ui.less b/src/assets/css/map/map-elem-ui.less
deleted file mode 100644
index 1f6fd20..0000000
--- a/src/assets/css/map/map-elem-ui.less
+++ /dev/null
@@ -1,62 +0,0 @@
-@import "_map-variable";
-.el-button--primary{
-    color: @color;
-    background-color: @background-color;
-    border-color: @color;
-}
-
-.el-tabs{
-  .el-tabs__item{
-      padding: 0 10px;
-      text-align: center;
-      height: 20px;
-      line-height: 20px;
-  }
-}
-.select-down {
-    border: none !important;
-    background-color: @background-color !important;
-
-   //.el-scrollbar{
-   //
-   //     background-color: @background-color !important;
-   // }
-   //  .el-scrollbar__view .el-select-dropdown__list{
-   //     background-color: @background-color !important;
-   // }
-     .el-select-dropdown__item.hover{
-        background-color: @background-color-light;
-    }
-     .el-select-dropdown__item {
-        color: @color;
-        //background-color: @background-color;
-    }
-   //  .el-select-dropdown{
-   //     border: none !important;
-   //     background-color: @background-color !important;
-   // }
-   // .el-select-dropdown__empty{
-   //     color: @color;
-   //     background-color: @background-color;
-   // }
-    .popper__arrow::after{
-        border-bottom-color: @color !important;
-    }
-}
-.sewers-search{
-  display: block;
-  //width: calc(100% - 10px);
-  height:512px;
-  .search-btn{
-
-
-  }
-  //location-btn{
-  //
-  //}
-
-  .location-btn:hover,.el-input__icon:hover{
-    color: @color;
-    cursor: pointer;
-  }
-}
diff --git a/src/assets/css/map/map-panel-style.less b/src/assets/css/map/map-panel-style.less
new file mode 100644
index 0000000..94824fb
--- /dev/null
+++ b/src/assets/css/map/map-panel-style.less
@@ -0,0 +1,92 @@
+@import "_map-variable";
+.el-button--primary{
+    color: @color;
+    background-color: @background-color;
+    border-color: @color;
+}
+
+.el-tabs{
+  .el-tabs__item{
+      padding: 0 10px;
+      text-align: center;
+      height: 20px;
+      line-height: 20px;
+  }
+}
+.select-down {
+    border: none !important;
+    background-color: @background-color ;
+
+   //.el-scrollbar{
+   //
+   //     background-color: @background-color !important;
+   // }
+   //  .el-scrollbar__view .el-select-dropdown__list{
+   //     background-color: @background-color !important;
+   // }
+     .el-select-dropdown__item.hover{
+        background-color: @background-color-light;
+    }
+     .el-select-dropdown__item {
+        color: @color;
+        //background-color: @background-color;
+    }
+   //  .el-select-dropdown{
+   //     border: none !important;
+   //     background-color: @background-color !important;
+   // }
+   // .el-select-dropdown__empty{
+   //     color: @color;
+   //     background-color: @background-color;
+   // }
+    .popper__arrow::after{
+        border-bottom-color: @color ;
+    }
+
+
+}
+.map-input{
+  input{
+    border-radius: 0;
+    background-color: @background-color-light ;
+    border: solid 1px @color ;
+  }
+}
+
+.map-tooltip.is-dark{
+  font-size: .08333rem ;
+  color: @color-highlight ;
+  background: @background-color ;
+  border-radius: .03rem;
+  padding: .05rem ;
+}
+.map-btn-unactive{
+  color: @color ;
+  border: .00521rem solid @color ;
+  box-shadow: 0 0 .03rem @color ;
+}
+.map-btn-active{
+  color: @color-highlight ;
+  border: .00521rem solid @color-highlight ;
+  box-shadow: 0 0 .03rem @color-highlight ;
+}
+.map-btn-background{
+  background: @background-color;
+  //border: .00521rem solid @color;
+  //box-shadow: 0 0 .03rem @color;
+  //border-radius: .05208rem;
+}
+.map-background{
+  //color: @color;
+  border: .00521rem solid @color;
+  box-shadow: 0 0 .03rem @color;
+  background: @background-color;
+  //padding: .05rem !important;
+  border-radius: .05208rem;
+}
+.map-under-line {
+  height: 1px;
+  background: @background-color-split;
+  margin-block-start: 0;
+  margin-block-end: 0;
+}
diff --git a/src/assets/css/map/map-popup.less b/src/assets/css/map/map-popup.less
index 9384d92..d451294 100644
--- a/src/assets/css/map/map-popup.less
+++ b/src/assets/css/map/map-popup.less
@@ -6,12 +6,13 @@
         background-color: @background-color;
         /*background-color: transparent;*/
         border: .00521rem solid @color;
-        padding: .10417rem;
+        padding: .05rem;
         //-webkit-box-shadow: 0 0 0.03125rem 0 @color;
         //box-shadow: 0 0 0.03125rem 0 @color;
         -webkit-box-shadow: 0 0 10px 0 @color;
-        box-shadow: 0 0 10px @color;
-        border-radius: 1rem;
+        box-shadow: 0 0 .03rem @color;
+        //border-radius: .03rem;
+        border-radius: 10px;
     }
 
     .leaflet-popup-tip-container {
@@ -22,15 +23,15 @@
         content: "";
         position: absolute;
         left: 50%;
-        bottom: -.3rem;
+        bottom: -.03rem;
         -webkit-transform: translateX(-50%) rotate(
                         45deg
         );
         transform: translateX(-50%) rotate(
                         45deg
         );
-        width: .6rem;
-        height: .6rem;
+        width: .06rem;
+        height: .06rem;
         background-color: @background-color;
         border-right: .00521rem solid @color;
         border-bottom: .00521rem solid @color;
diff --git a/src/assets/images/map-pages/icon/map/company.png b/src/assets/images/map-pages/icon/map/company.png
new file mode 100644
index 0000000..28a279a
--- /dev/null
+++ b/src/assets/images/map-pages/icon/map/company.png
Binary files differ
diff --git a/src/assets/images/map-pages/icon/map/warn.png b/src/assets/images/map-pages/icon/map/warn.png
new file mode 100644
index 0000000..3533b7c
--- /dev/null
+++ b/src/assets/images/map-pages/icon/map/warn.png
Binary files differ
diff --git a/src/components/panel/LegendPanel.vue b/src/components/panel/LegendPanel.vue
index a70ef75..383aea2 100644
--- a/src/components/panel/LegendPanel.vue
+++ b/src/components/panel/LegendPanel.vue
@@ -1,28 +1,27 @@
 <template>
   <div class="legend-panel">
-    <div class="legend-icon unactive" @click="legendChange()">
-      <i class="el-icon-more-outline"></i>
-      <span>鍥句緥</span>
-    </div>
     <transition name="fade">
-      <div class="legend-content" v-show="legendControl">
+      <div :class="'legend-content map-background'" v-show="legendControl">
         <div class="legend-content-box" v-for="(item,index) in legendContents" :key="index">
-          <p>{{ item.title }}</p>
+          <p><span>{{ item.title }}</span></p>
+          <div :class="index === 5 ? '':'map-under-line'"></div>
           <ul>
-            <div v-for="(ite,inde) in item.items" :key="inde">
-              <li>
-                <img :src='ite.legendImage' alt=''>
-                <span>{{ ite.legendContent }}</span>
-              </li>
-            </div>
+            <li v-for="(ite,inde) in item.items" :key="inde">
+              <img :src='ite.legendImage' alt=''>
+              <span>{{ ite.legendContent }}</span>
+            </li>
           </ul>
-          <div :class="index === 5 ? '':'under-line'"></div>
         </div>
       </div>
     </transition>
+    <el-tooltip :popper-class="'map-tooltip'" effect="dark" content="鍥句緥" placement="left">
+      <div :class="this.legendControl?'legend-btn map-btn-active':'legend-btn map-btn-unactive'"
+           @click="legendChange()">
+        <i class="el-icon-more-outline"></i>
+      </div>
+    </el-tooltip>
   </div>
 </template>
-
 <script>
 export default {
   name: 'LegendPanel',
@@ -32,75 +31,6 @@
       legendControl: false,
       // 鍥鹃噷瀛樺偍鏁版嵁
       legendContents: [
-        {
-          title: '棰勮',
-          items: [
-            {
-              legendImage: '../.././assets/images/map-pages/setting.png',
-              legendContent: '鏆撮洦绾㈣壊棰勮'
-            },
-            {
-              legendImage: '../.././assets/images/map-pages/setting.png',
-              legendContent: '鏆撮洦姗欒壊棰勮'
-            },
-            {
-              legendImage: '../.././assets/images/map-pages/setting.png',
-              legendContent: '鏆撮洦榛勮壊棰勮'
-            },
-            {
-              legendImage: '../.././assets/images/map-pages/setting.png',
-              legendContent: '鏆撮洦钃濊壊棰勮'
-            },
-            {
-              legendImage: '../.././assets/images/map-pages/setting.png',
-              legendContent: '鏆撮绾㈣壊棰勮'
-            },
-            {
-              legendImage: '../.././assets/images/map-pages/setting.png',
-              legendContent: '鏆撮绾㈣壊棰勮'
-            },
-            {
-              legendImage: '../.././assets/images/map-pages/setting.png',
-              legendContent: '鏆撮绾㈣壊棰勮'
-            },
-            {
-              legendImage: '../.././assets/images/map-pages/setting.png',
-              legendContent: '鏆撮绾㈣壊棰勮'
-            },
-            {
-              legendImage: '../.././assets/images/map-pages/setting.png',
-              legendContent: '鏆撮绾㈣壊棰勮'
-            },
-            {
-              legendImage: '../.././assets/images/map-pages/setting.png',
-              legendContent: '鏆撮绾㈣壊棰勮'
-            },
-            {
-              legendImage: '../.././assets/images/map-pages/setting.png',
-              legendContent: '鏆撮绾㈣壊棰勮'
-            },
-            {
-              legendImage: '../.././assets/images/map-pages/setting.png',
-              legendContent: '鏆撮绾㈣壊棰勮'
-            },
-            {
-              legendImage: '../.././assets/images/map-pages/setting.png',
-              legendContent: '鏆撮绾㈣壊棰勮'
-            },
-            {
-              legendImage: '../.././assets/images/map-pages/setting.png',
-              legendContent: '鏆撮绾㈣壊棰勮'
-            },
-            {
-              legendImage: '../.././assets/images/map-pages/setting.png',
-              legendContent: '鏆撮绾㈣壊棰勮'
-            },
-            {
-              legendImage: '../.././assets/images/map-pages/setting.png',
-              legendContent: '鏆撮绾㈣壊棰勮'
-            }
-          ]
-        },
         {
           title: '浼佷笟',
           items: [
@@ -214,7 +144,7 @@
 }
 </script>
 
-<style lang="less" scoped>
+<style lang="less">
 .legend-panel {
   position: absolute;
   z-index: 502;
@@ -225,14 +155,35 @@
   flex-direction: column;
   -webkit-box-align: end;
   -ms-flex-align: end;
-  align-items: flex-end;
+  //align-items: flex-end;
+  transition: all .5s;
 
-  .legend-icon {
-    width: 3.4rem;
-    height: 1.6rem;
-    border-radius: 0.3rem;
-    background: white;
+  .legend-btn {
+    width: .2rem;
+    height: .2rem;
+    //font-size: .08333rem;
+    border: .00521rem solid @background-color-light;
+    border-radius: @border-radius;
     text-align: center;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    background: @background-color;
+    margin-top: .04167rem;
+    cursor: pointer;
+    //color: @color;
+    margin-left: auto;
+    font-size: 0.08333rem;
   }
 
   @keyframes bounce-in {
@@ -248,72 +199,81 @@
 
   .fade-enter-active {
     transform-origin: right bottom;
-    animation: bounce-in .5s;
+    animation: bounce-in .2s;
   }
 
   .fade-leave-active {
     transform-origin: right bottom;
-    animation: bounce-in .5s reverse;
+    animation: bounce-in .2s reverse;
   }
 
   .legend-content {
-    position: absolute;
-    right: 0.3rem;
-    bottom: 3rem;
-    width: 30rem;
-    border-radius: 1rem;
-    background: #3c7699;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: horizontal;
+    -webkit-box-direction: reverse;
+    -ms-flex-direction: row-reverse;
+    flex-direction: row-reverse;
+
+    width: -webkit-max-content;
+    width: -moz-max-content;
+    width: max-content;
+
+    overflow: hidden;
+    min-height: 1.28646rem;
 
     .legend-content-box {
+      font-size: 0.07292rem;
+      padding: .10417rem;
+      border-left: .00521rem solid @background-color-split;
+
       p {
         text-align: center;
-        color: #ffffff;
-        font-size: 14px;
+        margin: 0 !important;
+        //padding: 0;
+        //color: @color-title;
+        -webkit-margin-before: 0.3rem;
         margin-block-start: 0.3rem;
+        -webkit-margin-after: 0.2rem;
         margin-block-end: 0.2rem;
+        margin-bottom: 0.05208rem !important;
+
+        span {
+          color: @color-title;
+          font-size: .08333rem;
+          font-weight: 600;
+        }
       }
 
       ul {
         list-style: none;
-        display: flex;
         flex-wrap: wrap;
-        padding: 0;
+        margin: 0 !important;
+        padding: 0 !important;;
         padding-inline: 0;
+        font-size: .08333rem;
 
-        div {
-          width: 25%;
+        li {
+          list-style: none;
           display: flex;
-          justify-content: center;
-          margin: 0.1rem 0;
+          -webkit-box-align: center;
+          align-items: center;
+          margin: 0.05208rem 0;
 
-          li {
-            width: 100%;
-            display: flex;
-            justify-content: space-around;
-            margin-left: 15px;
-            margin-right: 15px;
+          img {
+            width: .08333rem;
+            height: .08333rem;
+            margin-right: .01042rem;
+          }
 
-            img {
-              height: 18px;
-              width: 18px;
-            }
-
-            span {
-              width: 80px;
-              font-size: 12px;
-              color: white;
-            }
+          span {
+            color: @color;
           }
         }
       }
     }
 
-    .under-line {
-      height: 2px;
-      background: #7bc5ef;
-      margin-block-start: 0;
-      margin-block-end: 0;
-    }
   }
 }
 </style>
diff --git a/src/components/panel/MenuTopic.vue b/src/components/panel/MenuTopic.vue
index 5b2018b..bf13eeb 100644
--- a/src/components/panel/MenuTopic.vue
+++ b/src/components/panel/MenuTopic.vue
@@ -66,7 +66,6 @@
 </script>
 
 <style lang="less" >
-@import '@assets/css/map/_map-variable';
 .menu-special {
   position: absolute;
   left: 1rem;
diff --git a/src/components/panel/RightSearchPanel.vue b/src/components/panel/RightSearchPanel.vue
index 650c599..ea52369 100644
--- a/src/components/panel/RightSearchPanel.vue
+++ b/src/components/panel/RightSearchPanel.vue
@@ -1,10 +1,22 @@
 <template>
-  <div id="right-panel">
+  <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="tab-item" @click="handleHb" :class="{'B-TMT-tab-route-isActive': isRouteHover}"></div>-->
-<!--      <div class="tab-item" @click="handlePk" :class="{'B-TMT-tab-route-isActive': isRouteHover}"></div>-->
+<!--      <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>-->
@@ -29,7 +41,6 @@
 </template>
 
 <script>
-// import $ from 'jquery'
 import EnvProtectSearch from './topicSearch/EnvProtectSearch'
 import DischargeSearch from './topicSearch/DischargeSearch'
 import { TopicList } from '../../conf/Topic'
@@ -40,6 +51,7 @@
   components: { EnvProtectSearch, DischargeSearch },
   data () {
     return {
+      isShow: true,
       topicMenu: [],
       topicList: TopicList,
       topicCheckedList: [],
@@ -52,8 +64,7 @@
       toggleMonitorStyle: 'right:0px',
 
       title: '姹¢洦姘寸缃�',
-
-      isCollapse: false
+      isCollapse: true
     }
   },
   computed: {},
@@ -66,7 +77,6 @@
       this.topicList.forEach((item) => {
         this.topicCheckedList.forEach((itm) => {
           if (item.name === itm) {
-            // item.checked = tr
             this.topicMenu.push(item)
           }
         })
@@ -77,7 +87,12 @@
     handleClose (done) {
       console.log(done)
     },
-
+    selected (val) {
+      console.log(val)
+      this.topicList.forEach((itm) => {
+        itm.checked = val.name === itm.name
+      })
+    },
     handlePage (page) {
     },
     handleGd () {
@@ -90,8 +105,8 @@
       // const el = document.getElementsByClassName('.btn-stretch')
       // const el2 = document.getElementsByClassName('.panel-fold-btn')
       // let  = 'btn-stretch-active'
-      // var rightControl = $('#right-panel')
-      // var rightControl = document.getElementById('#right-panel')
+      // var rightControl = $('#panel-right')
+      // var rightControl = document.getElementById('#panel-right')
       // const right = rightControl.css('right')
       // const rightit = rightControl.ownerDocument.defaultView
       // const right = rightit.getComputedStyle(rightit, null).right
@@ -130,31 +145,66 @@
 </script>
 
 <style lang="less">
-@import '@assets/css/map/_map-variable';
-#right-panel {
-  width: 322px;
-  //height: 573px;
-  height: 100%;
+.module-wrap{
+  width: 0.15rem;
+  height: 0.15rem;
+  padding: .04167rem;
+  //padding: .00521rem;
+  background: rgba(0,16,30,.5);
+  border-radius: .03125rem;
+  border: .00521rem solid rgba(255,247,0,.5);
+  margin: .04167rem 0;
+  font-size: .08333rem;
+  -webkit-transition: all .2s linear;
+  transition: all .2s linear;
+  cursor: pointer;
+  position: relative;
+  line-height: 0.15rem;
+  li{
+    margin: 0.00521rem 0;
+    text-align: center;
+    img{
+      width: 0.1rem;
+      height: 0.1rem;
+
+    }
+  }
+}
+.panel-right {
+  display: inline-flex;
+  //width: 322px;
+  //height: 100%;
+  //position: absolute;
+  //right: 10px;
+  //top: 10px;
+  height: 0;
   position: absolute;
-  right: 10px;
-  top: 10px;
+  top: .4rem;
+  right: .08333rem;
+  z-index: 501;
+  display: -webkit-box;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-align: start;
+  -ms-flex-align: start;
+  align-items: flex-start;
 
-  .el-card__body {
-    padding: 7px;
-  }
-  .el-form-item__content {
-    color: rgb(52, 224, 255);
-  }
-
-  .el-picker-panel {
-    background-color: #061e51 !important;
-  }
-
-  .el-input__inner {
-    border-radius: 0 !important;
-    background-color: #061e51 !important;
-    border: solid 1px #0e639e !important;
-  }
+  //.el-card__body {
+  //  padding: 7px;
+  //}
+  //.el-form-item__content {
+  //  color: rgb(52, 224, 255);
+  //}
+  //
+  //.el-picker-panel {
+  //  background-color: #061e51 !important;
+  //}
+  //
+  //.el-input__inner {
+  //  border-radius: 0 !important;
+  //  background-color: #061e51 !important;
+  //  border: solid 1px #0e639e !important;
+  //}
 
   .el-form-item__label {
     color: rgb(52, 224, 255);
@@ -262,8 +312,8 @@
     background-color: rgba(5,24,66,.8);
     border-radius: 10px 0 0 10px;
     .btn-stretch {
-      width: 20px;
-      height: 40px;
+      //width: 20px;
+      //height: 40px;
       background: url('../../assets/images/map-pages/icon/icon.png') no-repeat -408px 5px;
       cursor: pointer;
       /*margin-left: -20px;*/
@@ -285,8 +335,8 @@
   }
 
   .tab-item {
-    width: 32px;
-    height: 30px;
+    //width: .2rem;
+    //height: .2rem;
     color: @color;
     font-size: 12px;
     background-color: #0B3B6D;
@@ -295,13 +345,16 @@
     cursor: pointer;
   }
   .panel-tab {
-    position: absolute;
-    left: 0;
-    //height: 120px;
-    top: 0;
-    width: 32px;
+    position: relative;
     z-index: 500;
-    background: url('../../assets/images/map-pages/icon/caidan.png') no-repeat;
+    margin-right: .025rem;
+    .container{
+      max-height: 3.125rem;
+      overflow: hidden;
+      position: relative;
+      position: relative;
+    }
+
   }
 
   .right-control {
@@ -309,11 +362,11 @@
     //height: 573px;
     height: 100%;
     position: relative;
-    top: 0;
-    right: 0;
-    z-index: 999;
-    background: url('../../assets/images/map-pages/icon/bgc.png') no-repeat;
-    background-size: 100% 98%;
+    //top: 0;
+    //right: 0;
+    z-index: 500;
+    //background: url('../../assets/images/map-pages/icon/bgc.png') no-repeat;
+    //background-size: 100% 98%;
   }
   .a{
     transform: translateX(328px);
@@ -352,16 +405,16 @@
     font-size: 18px;
   }
 
-  .search-panel {
-    border: #07325B;
-    background-color: #07325B !important;
-    margin-top: 0px;
-
-    .el-input__inner {
-      border-radius: 0px !important;
-      background-color: #061e51 !important;
-    }
-  }
+  //.search-panel {
+  //  border: #07325B;
+  //  background-color: #07325B !important;
+  //  margin-top: 0px;
+  //
+  //  .el-input__inner {
+  //    border-radius: 0px !important;
+  //    background-color: #061e51 !important;
+  //  }
+  //}
 
   input::-webkit-input-placeholder {
     color: #569ee1;
diff --git a/src/components/panel/topicSearch/SewersSearch.vue b/src/components/panel/topicSearch/SewersSearch.vue
index 9a67eea..b9d023e 100644
--- a/src/components/panel/topicSearch/SewersSearch.vue
+++ b/src/components/panel/topicSearch/SewersSearch.vue
@@ -1,12 +1,12 @@
 <template>
- <div class="sewers-search">
+ <div :class="'sewers-search map-background'">
     <div class="el-message-box__content" style="padding:6px;font-size: 13px;">
       <div class="box__content" v-if="gdVisible">
         <div>
-          <el-card class="search-panel">
+          <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 v-model="form.pipelineType" @change="handlePipelineType"  popper-class="select-down">
+                <el-select style="width: 100%" :popper-append-to-body="false" v-model="form.pipelineType" @change="handlePipelineType"  :popper-class="'select-down'">
                   <el-option
                       v-for="item in pipelineTypeOptions"
                       :key="item.value"
@@ -16,7 +16,7 @@
                 </el-select>
               </el-form-item>
               <el-form-item :label="form.pipelineType+'锛�'" size="mini">
-                <el-select v-model="form.dataType"  @change="handleDataType" popper-class="select-down">
+                <el-select style="width: 100%" :popper-append-to-body="false" v-model="form.dataType"  @change="handleDataType" :popper-class="'select-down'">
                   <el-option
                       v-for="item in dataTypeOptions"
                       :key="item.value"
@@ -38,7 +38,7 @@
               <!--                <input type="button" class="btn-reset" @click="handleSearch" value="閲嶇疆">-->
               <!--              </el-form-item>-->
             </el-form>
-          </el-card>
+          </div>
           <el-scrollbar style="height:100%">
           <el-card class="search-result" >
             <div class="B-TMD-table-list" v-for="(item,index) in list" :key="index">
@@ -187,6 +187,41 @@
 }
 </script>
 
-<style lang="less">
-@import '@assets/css/map/map-elem-ui';
+<style lang="less" scoped>
+.sewers-search{
+  position: relative;
+  width: 1.79167rem;
+  height: 3.4375rem;
+  overflow: hidden;
+  .search-panel{
+   background-color: transparent;
+    border: 1px solid @background-color-split;
+    padding: 10px;
+
+    /deep/ input {
+      border-radius: 0;
+      background-color: @background-color-split ;
+      border: solid 1px @color ;
+      color: @color-gray;
+      font-size: 0.01rem;
+      .el-select .el-input.is-focus .el-input__inner{
+        border-color: @color;
+      }
+    }
+    /deep/ input:focus{
+      border-color: @color;
+    }
+  }
+  .search-btn{
+
+  }
+  //location-btn{
+  //
+  //}
+
+  .location-btn:hover,.el-input__icon:hover{
+    color: @color;
+    cursor: pointer;
+  }
+}
 </style>
diff --git a/src/components/plugin/DialogDrag.js b/src/components/plugin/DialogDrag.js
new file mode 100644
index 0000000..2972234
--- /dev/null
+++ b/src/components/plugin/DialogDrag.js
@@ -0,0 +1,49 @@
+import Vue from 'vue'
+
+// v-dialogDrag: 寮圭獥鎷栨嫿
+Vue.directive('dialogDrag', {
+  bind (el, binding, vnode, oldVnode) {
+    const dialogHeaderEl = el.querySelector('.el-dialog__header')
+    const dragDom = el.querySelector('.el-dialog')
+    dialogHeaderEl.style.cursor = 'move'
+
+    // 鑾峰彇鍘熸湁灞炴�� ie dom鍏冪礌.currentStyle 鐏嫄璋锋瓕 window.getComputedStyle(dom鍏冪礌, null);
+    const sty = dragDom.currentStyle || window.getComputedStyle(dragDom, null)
+
+    dialogHeaderEl.onmousedown = (e) => {
+      // 榧犳爣鎸変笅锛岃绠楀綋鍓嶅厓绱犺窛绂诲彲瑙嗗尯鐨勮窛绂�
+      const disX = e.clientX - dialogHeaderEl.offsetLeft
+      const disY = e.clientY - dialogHeaderEl.offsetTop
+
+      // 鑾峰彇鍒扮殑鍊煎甫px 姝e垯鍖归厤鏇挎崲
+      let styL, styT
+
+      // 娉ㄦ剰鍦╥e涓� 绗竴娆¤幏鍙栧埌鐨勫�间负缁勪欢鑷甫50% 绉诲姩涔嬪悗璧嬪�间负px
+      if (sty.left.includes('%')) {
+        styL = +document.body.clientWidth * (+sty.left.replace(/\%/g, '') / 100)
+        styT = +document.body.clientHeight * (+sty.top.replace(/\%/g, '') / 100)
+      } else {
+        styL = +sty.left.replace(/\px/g, '')
+        styT = +sty.top.replace(/\px/g, '')
+      }
+
+      document.onmousemove = function (e) {
+        // 閫氳繃浜嬩欢濮旀墭锛岃绠楃Щ鍔ㄧ殑璺濈
+        const l = e.clientX - disX
+        const t = e.clientY - disY
+
+        // 绉诲姩褰撳墠鍏冪礌
+        dragDom.style.left = `${l + styL}px`
+        dragDom.style.top = `${t + styT}px`
+
+        // 灏嗘鏃剁殑浣嶇疆浼犲嚭鍘�
+        // binding.value({x:e.pageX,y:e.pageY})
+      }
+
+      document.onmouseup = function (e) {
+        document.onmousemove = null
+        document.onmouseup = null
+      }
+    }
+  }
+})
diff --git a/src/components/table/components/IndexStatistics.vue b/src/components/table/components/IndexStatistics.vue
new file mode 100644
index 0000000..f38b288
--- /dev/null
+++ b/src/components/table/components/IndexStatistics.vue
@@ -0,0 +1,263 @@
+<template>
+    <el-tabs v-model="activeName">
+        <el-tab-pane label="鎸囨爣缁熻" name="first"><el-table
+                :data="tableData"
+                style="width: 100%">
+            <el-table-column
+                    prop="date"
+                    label="搴忓彿"
+                    width="150">
+            </el-table-column>
+            <el-table-column
+                    prop="date"
+                    label="鍗曚綅鍚嶇О"
+                    width="150">
+            </el-table-column>
+            <el-table-column
+                    prop="date"
+                    label="宸ヤ笟鍙栨按閲�(m3)"
+                    width="150">
+            </el-table-column>
+            <el-table-column
+                    prop="date"
+                    label="澶栨帓搴熸按閲�(m3)"
+                    width="150">
+            </el-table-column>
+            <el-table-column
+                    prop="date"
+                    label="宸ヤ笟搴熸皵鎺掓斁閲�(m3)"
+                    width="150">
+            </el-table-column>
+            <el-table-column label="COD(t)">
+                    <el-table-column
+                            prop="province"
+                            label="绱浜х敓閲�"
+                            width="120">
+                    </el-table-column>
+                    <el-table-column
+                            prop="city"
+                            label="褰撴湀浜х敓閲�"
+                            width="120">
+                    </el-table-column>
+            </el-table-column>
+            <el-table-column label="姘ㄦ爱(t)">
+                <el-table-column
+                        prop="province"
+                        label="绱浜х敓閲�"
+                        width="120">
+                </el-table-column>
+                <el-table-column
+                        prop="city"
+                        label="褰撴湀浜х敓閲�"
+                        width="120">
+                </el-table-column>
+            </el-table-column>
+            <el-table-column label="浜屾哀鍖栫~(t)">
+                <el-table-column
+                        prop="province"
+                        label="绱浜х敓閲�"
+                        width="120">
+                </el-table-column>
+                <el-table-column
+                        prop="city"
+                        label="褰撴湀浜х敓閲�"
+                        width="120">
+                </el-table-column>
+            </el-table-column>
+            <el-table-column label="姘哀鍖栫墿(t)">
+                <el-table-column
+                        prop="province"
+                        label="绱浜х敓閲�"
+                        width="120">
+                </el-table-column>
+                <el-table-column
+                        prop="city"
+                        label="褰撴湀浜х敓閲�"
+                        width="120">
+                </el-table-column>
+            </el-table-column>
+            <el-table-column label="VOCs(t)">
+                <el-table-column
+                        prop="province"
+                        label="绱浜х敓閲�"
+                        width="120">
+                </el-table-column>
+                <el-table-column
+                        prop="city"
+                        label="褰撴湀浜х敓閲�"
+                        width="120">
+                </el-table-column>
+            </el-table-column>
+            <el-table-column label="鍥哄簾(t)">
+                <el-table-column
+                        prop="province"
+                        label="绱浜х敓閲�"
+                        width="120">
+                </el-table-column>
+                <el-table-column
+                        prop="city"
+                        label="褰撴湀浜х敓閲�"
+                        width="120">
+                </el-table-column>
+            </el-table-column>
+        </el-table></el-tab-pane>
+        <el-tab-pane label="浼佷笟鎺掑悕" name="second"><el-table
+                :data="tableData"
+                style="width: 100%"
+                max-height="250">
+            <el-table-column
+                    fixed
+                    prop="date"
+                    label="浼佷笟鍚嶇О"
+                    width="150">
+            </el-table-column>
+            <el-table-column
+                    prop="name"
+                    label="搴熸按杈炬爣鐜�"
+                    width="120">
+            </el-table-column>
+            <el-table-column
+                    prop="province"
+                    label="鍚嶆"
+                    width="120">
+            </el-table-column>
+            <el-table-column
+                    prop="city"
+                    label="搴熸皵杈炬爣鐜�"
+                    width="120">
+            </el-table-column>
+            <el-table-column
+                    prop="address"
+                    label="鍚嶆"
+                    width="300">
+            </el-table-column>
+            <el-table-column
+                    prop="zip"
+                    label="浼犺緭鐜�"
+                    width="120">
+            </el-table-column>
+            <el-table-column
+                    prop="zip"
+                    label="鍚嶆"
+                    width="120">
+            </el-table-column>
+            <el-table-column
+                    prop="zip"
+                    label="璁惧瀹屽ソ鐜�"
+                    width="120">
+            </el-table-column>
+            <el-table-column
+                    prop="zip"
+                    label="鎺掑悕"
+                    width="120">
+            </el-table-column>
+        </el-table></el-tab-pane>
+        <el-tab-pane label="鎺掓斁鐐规帓鍚�" name="third"><el-table
+                :data="tableData"
+                style="width: 100%"
+                max-height="250">
+            <el-table-column
+                    fixed
+                    prop="date"
+                    label="鎺掓斁鐐瑰悕绉�"
+                    width="150">
+            </el-table-column>
+            <el-table-column
+                    prop="name"
+                    label="鎺掓斁绫诲瀷"
+                    width="120">
+            </el-table-column>
+            <el-table-column
+                    prop="province"
+                    label="杈炬爣鐜�"
+                    width="120">
+            </el-table-column>
+            <el-table-column
+                    prop="city"
+                    label="鍚嶆"
+                    width="120">
+            </el-table-column>
+            <el-table-column
+                    prop="address"
+                    label="浼犺緭鐜�"
+                    width="300">
+            </el-table-column>
+            <el-table-column
+                    prop="zip"
+                    label="鍚嶆"
+                    width="120">
+            </el-table-column>
+            <el-table-column
+                    prop="zip"
+                    label="璁惧瀹屽ソ鐜�"
+                    width="120">
+            </el-table-column>
+            <el-table-column
+                    prop="zip"
+                    label="鍚嶆"
+                    width="120">
+            </el-table-column>
+        </el-table></el-tab-pane>
+    </el-tabs>
+
+</template>
+
+<script>
+export default {
+  data () {
+    return {
+      activeName: 'first',
+      tableData: [{
+        date: '2016-05-03',
+        name: '鐜嬪皬铏�',
+        province: '涓婃捣',
+        city: '鏅檧鍖�',
+        address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�',
+        zip: 200333
+      }, {
+        date: '2016-05-02',
+        name: '鐜嬪皬铏�',
+        province: '涓婃捣',
+        city: '鏅檧鍖�',
+        address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�',
+        zip: 200333
+      }, {
+        date: '2016-05-04',
+        name: '鐜嬪皬铏�',
+        province: '涓婃捣',
+        city: '鏅檧鍖�',
+        address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�',
+        zip: 200333
+      }, {
+        date: '2016-05-01',
+        name: '鐜嬪皬铏�',
+        province: '涓婃捣',
+        city: '鏅檧鍖�',
+        address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�',
+        zip: 200333
+      }, {
+        date: '2016-05-08',
+        name: '鐜嬪皬铏�',
+        province: '涓婃捣',
+        city: '鏅檧鍖�',
+        address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�',
+        zip: 200333
+      }, {
+        date: '2016-05-06',
+        name: '鐜嬪皬铏�',
+        province: '涓婃捣',
+        city: '鏅檧鍖�',
+        address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�',
+        zip: 200333
+      }, {
+        date: '2016-05-07',
+        name: '鐜嬪皬铏�',
+        province: '涓婃捣',
+        city: '鏅檧鍖�',
+        address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�',
+        zip: 200333
+      }]
+    }
+  }
+}
+</script>
diff --git a/src/components/table/components/Warn.vue b/src/components/table/components/Warn.vue
new file mode 100644
index 0000000..efc2577
--- /dev/null
+++ b/src/components/table/components/Warn.vue
@@ -0,0 +1,232 @@
+<template>
+    <el-tabs v-model="activeName">
+        <el-tab-pane label="瀹炴椂缁熻" name="first">
+            <el-table
+                    :data="tableData"
+                    style="width: 100%">
+                <el-table-column
+                        prop="date"
+                        label="浼佷笟鍚嶇О"
+                        width="150">
+                </el-table-column>
+                <el-table-column label="搴熸按(涓�)">
+                    <el-table-column
+                            prop="name"
+                            label="棰勮"
+                            width="120">
+                    </el-table-column>
+                    <el-table-column
+                            prop="name"
+                            label="鎶ヨ"
+                            width="120">
+                    </el-table-column>
+                </el-table-column>
+                <el-table-column label="搴熸皵(涓�)">
+                    <el-table-column
+                            prop="name"
+                            label="棰勮"
+                            width="120">
+                    </el-table-column>
+                    <el-table-column
+                            prop="name"
+                            label="鎶ヨ"
+                            width="120">
+                    </el-table-column>
+                </el-table-column>
+                <el-table-column label="鍥哄簾(涓�)">
+                    <el-table-column
+                            prop="name"
+                            label="棰勮"
+                            width="120">
+                    </el-table-column>
+                </el-table-column>
+                <el-table-column label="纭寲姘�(涓�)">
+                    <el-table-column
+                            prop="name"
+                            label="棰勮"
+                            width="120">
+                    </el-table-column>
+                </el-table-column>
+                <el-table-column label="鍙噧姘斾綋(涓�)">
+                    <el-table-column
+                            prop="name"
+                            label="棰勮"
+                            width="120">
+                    </el-table-column>
+                </el-table-column>
+            </el-table>
+        </el-tab-pane>
+        <el-tab-pane label="褰撴湀缁熻" name="second">
+            <el-table
+                    :data="tableData"
+                    style="width: 100%">
+                <el-table-column
+                        prop="date"
+                        label="浼佷笟鍚嶇О"
+                        width="150">
+                </el-table-column>
+                <el-table-column label="搴熸按(涓�)">
+                    <el-table-column
+                            prop="name"
+                            label="棰勮"
+                            width="120">
+                    </el-table-column>
+                    <el-table-column
+                            prop="name"
+                            label="鎶ヨ"
+                            width="120">
+                    </el-table-column>
+                </el-table-column>
+                <el-table-column label="搴熸皵(涓�)">
+                    <el-table-column
+                            prop="name"
+                            label="棰勮"
+                            width="120">
+                    </el-table-column>
+                    <el-table-column
+                            prop="name"
+                            label="鎶ヨ"
+                            width="120">
+                    </el-table-column>
+                </el-table-column>
+                <el-table-column label="鍥哄簾(涓�)">
+                    <el-table-column
+                            prop="name"
+                            label="棰勮"
+                            width="120">
+                    </el-table-column>
+                </el-table-column>
+                <el-table-column label="纭寲姘�(涓�)">
+                    <el-table-column
+                            prop="name"
+                            label="棰勮"
+                            width="120">
+                    </el-table-column>
+                </el-table-column>
+                <el-table-column label="鍙噧姘斾綋(涓�)">
+                    <el-table-column
+                            prop="name"
+                            label="棰勮"
+                            width="120">
+                    </el-table-column>
+                </el-table-column>
+            </el-table>
+        </el-tab-pane>
+        <el-tab-pane label="涓婃湀缁熻" name="third">
+            <el-table
+                    :data="tableData"
+                    style="width: 100%">
+                <el-table-column
+                        prop="date"
+                        label="浼佷笟鍚嶇О"
+                        width="150">
+                </el-table-column>
+                <el-table-column label="搴熸按(涓�)">
+                    <el-table-column
+                            prop="name"
+                            label="棰勮"
+                            width="120">
+                    </el-table-column>
+                    <el-table-column
+                            prop="name"
+                            label="鎶ヨ"
+                            width="120">
+                    </el-table-column>
+                </el-table-column>
+                <el-table-column label="搴熸皵(涓�)">
+                    <el-table-column
+                            prop="name"
+                            label="棰勮"
+                            width="120">
+                    </el-table-column>
+                    <el-table-column
+                            prop="name"
+                            label="鎶ヨ"
+                            width="120">
+                    </el-table-column>
+                </el-table-column>
+                <el-table-column label="鍥哄簾(涓�)">
+                    <el-table-column
+                            prop="name"
+                            label="棰勮"
+                            width="120">
+                    </el-table-column>
+                </el-table-column>
+                <el-table-column label="纭寲姘�(涓�)">
+                    <el-table-column
+                            prop="name"
+                            label="棰勮"
+                            width="120">
+                    </el-table-column>
+                </el-table-column>
+                <el-table-column label="鍙噧姘斾綋(涓�)">
+                    <el-table-column
+                            prop="name"
+                            label="棰勮"
+                            width="120">
+                    </el-table-column>
+                </el-table-column>
+            </el-table>
+        </el-tab-pane>
+    </el-tabs>
+</template>
+
+<script>
+export default {
+  data () {
+    return {
+      activeName: 'first',
+      tableData: [{
+        date: '2016-05-03',
+        name: '鐜嬪皬铏�',
+        province: '涓婃捣',
+        city: '鏅檧鍖�',
+        address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�',
+        zip: 200333
+      }, {
+        date: '2016-05-02',
+        name: '鐜嬪皬铏�',
+        province: '涓婃捣',
+        city: '鏅檧鍖�',
+        address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�',
+        zip: 200333
+      }, {
+        date: '2016-05-04',
+        name: '鐜嬪皬铏�',
+        province: '涓婃捣',
+        city: '鏅檧鍖�',
+        address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�',
+        zip: 200333
+      }, {
+        date: '2016-05-01',
+        name: '鐜嬪皬铏�',
+        province: '涓婃捣',
+        city: '鏅檧鍖�',
+        address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�',
+        zip: 200333
+      }, {
+        date: '2016-05-08',
+        name: '鐜嬪皬铏�',
+        province: '涓婃捣',
+        city: '鏅檧鍖�',
+        address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�',
+        zip: 200333
+      }, {
+        date: '2016-05-06',
+        name: '鐜嬪皬铏�',
+        province: '涓婃捣',
+        city: '鏅檧鍖�',
+        address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�',
+        zip: 200333
+      }, {
+        date: '2016-05-07',
+        name: '鐜嬪皬铏�',
+        province: '涓婃捣',
+        city: '鏅檧鍖�',
+        address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�',
+        zip: 200333
+      }]
+    }
+  }
+}
+</script>
diff --git a/src/components/table/enterprise.vue b/src/components/table/enterprise.vue
new file mode 100644
index 0000000..f024ad2
--- /dev/null
+++ b/src/components/table/enterprise.vue
@@ -0,0 +1,62 @@
+<template>
+    <div class="enterprise-panel">
+        <div class="enterprise-function" @click="showWarnDialog()">
+            <img src="@/assets/images/map-pages/icon/map/warn.png" alt="" width="32px">
+        </div>
+        <div class="enterprise-function" @click="showStatisDialog()">
+            <img src="@/assets/images/map-pages/icon/map/company.png" alt="" width="32px">
+        </div>
+        <Dialog ref="warnDialog" title="浼佷笟棰勮鎶ヨ鍒嗙被缁熻">
+            <warn></warn>
+        </Dialog>
+        <Dialog ref="indexStatisticsDialog" title="浼佷笟鎸囨爣鍒嗙被缁熻">
+            <index-statistics></index-statistics>
+        </Dialog>
+    </div>
+</template>
+
+<script>
+import Dialog from '../../views/popup/Dialog'
+import Warn from './components/Warn'
+import IndexStatistics from './components/IndexStatistics'
+export default {
+  name: 'Enterprise',
+  components: {
+    Dialog,
+    Warn,
+    IndexStatistics
+  },
+  data () {
+    return {
+      comp: Warn
+    }
+  },
+  methods: {
+    // 鍥炬爣 鎺у埗鍐呭鐨勫睍绀轰笌闅愯棌
+    show () {
+      this.legendControl = !this.legendControl
+    },
+    showWarnDialog () {
+      this.$refs.warnDialog.show()
+    },
+    showStatisDialog () {
+      this.$refs.indexStatisticsDialog.show()
+    }
+  }
+}
+</script>
+
+<style lang="less" scoped>
+.enterprise-panel{
+    position: absolute;
+    right: 5px;
+    top:5px;
+    z-index: 9999;
+
+    .enterprise-function{
+        width: 40px;
+        float: left;
+        cursor: pointer;
+    }
+}
+</style>
diff --git a/src/components/table/summarySheets.vue b/src/components/table/summarySheets.vue
index 2a45071..e4bd2ef 100644
--- a/src/components/table/summarySheets.vue
+++ b/src/components/table/summarySheets.vue
@@ -1,17 +1,18 @@
 <template>
     <div class="summary-sheets">
+        <div id="summary">
             <el-row type="flex" class="head-area" align="middle">
                 <el-col>
                     <span>浼佷笟鎸囨爣鍒嗙被缁熻</span>
                 </el-col>
                 <el-col class="head-area-button">
-                    <el-button style="float: right; padding: 3px 0" icon="el-icon-close" type="info"></el-button>
+                    <el-button style="float: right; padding: 3px 0" icon="el-icon-close" type="info" @click="closebtn"></el-button>
                 </el-col>
             </el-row>
 <!--        <el-tabs class="tabs-text">-->
             <el-row :gutter="20" class="el-rowscol">
                 <el-col>
-                        <el-tabs class="tabs-text" v-model="activeName" type="card" @tab-click="handleClick">
+                        <el-tabs class="tabs-text" v-model="activeName" type="border-card" @tab-click="handleClick">
                                 <el-tab-pane label="搴熸按" name="first">
                                     <waste-water></waste-water>
                                 </el-tab-pane>
@@ -27,6 +28,7 @@
                         </el-tabs>
                 </el-col>
             </el-row>
+        </div>
     </div>
 </template>
 
@@ -51,6 +53,11 @@
   methods: {
     handleClick (tab, event) {
       console.log(tab, event)
+    },
+    closebtn () {
+      const summary = document.getElementById('summary')
+      summary.style.display = 'none'
+      console.log(1)
     }
   }
 }
@@ -58,12 +65,11 @@
 
 <style>
     .summary-sheets {
-        /*overflow: hidden;*/
         position: absolute;
         top: 50px;
         left: 50px;
-        width: 850px;
-        height: 265px;
+        /*width: 850px;*/
+        /*height: 265px;*/
         border: #90c8e0 1px solid;
         z-index:9999999;
         background-color: rgba(26, 73, 81, 0.901960784313726);
@@ -82,8 +88,7 @@
     .head-area-button{
         margin-right: 5px;
     }
-    .el-rowscol{
-        width: 100%;
-        height: 100%;
+    .tabs-text{
+        background-color: rgba(26, 73, 81, 0.901960784313726);
     }
 </style>
diff --git a/src/conf/Topic.js b/src/conf/Topic.js
index a8e25e4..07f0f3f 100644
--- a/src/conf/Topic.js
+++ b/src/conf/Topic.js
@@ -52,22 +52,4 @@
   checked: false,
   icon: '/assets/images/menu/special.png',
   comp: 'envProtectSearch'
-}, {
-  name: '棰勮鎶ヨ',
-  id: 8,
-  checked: false,
-  icon: '/assets/images/menu/special.png',
-  comp: 'sewersSearch'
-}, {
-  name: '鎸囨爣缁熻',
-  id: 9,
-  checked: false,
-  icon: '/assets/images/menu/special.png',
-  comp: 'envProtectSearch'
-}, {
-  name: '搴旀�ュ湴鍥�',
-  id: 10,
-  checked: false,
-  icon: '/assets/images/menu/special.png',
-  comp: 'sewersSearch'
 }]
diff --git a/src/main.js b/src/main.js
index b2139c0..8ca4020 100644
--- a/src/main.js
+++ b/src/main.js
@@ -8,8 +8,11 @@
 import echartsDarkTheme from '@/styles/theme-dark/echarts/theme.json'
 import ElementUI from 'element-ui'
 import 'element-ui/lib/theme-chalk/index.css'
+import '@assets/css/map/_map-variable.less'
+import '@assets/css/map/map-panel-style.less'
 import 'leaflet/dist/leaflet.css'
 import L from 'leaflet'
+import '@/utils/dialogDrag.js'
 
 Vue.config.productionTip = false
 
diff --git a/src/utils/dialogDrag.js b/src/utils/dialogDrag.js
new file mode 100644
index 0000000..6f845f5
--- /dev/null
+++ b/src/utils/dialogDrag.js
@@ -0,0 +1,80 @@
+/* eslint-disable */
+import Vue from 'vue'
+
+// v-dialogDrag: 寮圭獥鎷栨嫿灞炴��
+Vue.directive('dialogDrag', {
+  bind (el, binding, vnode, oldVnode) {
+    const dialogHeaderEl = el.querySelector('.el-dialog__header')
+    const dragDom = el.querySelector('.el-dialog')
+    // dialogHeaderEl.style.cursor = 'move';
+    dialogHeaderEl.style.cssText += ';cursor:move;'
+    dragDom.style.cssText += ';top:0px;'
+
+    // 鑾峰彇鍘熸湁灞炴�� ie dom鍏冪礌.currentStyle 鐏嫄璋锋瓕 window.getComputedStyle(dom鍏冪礌, null);
+    const sty = (function () {
+      if (window.document.currentStyle) {
+        return (dom, attr) => dom.currentStyle[attr]
+      } else {
+        return (dom, attr) => getComputedStyle(dom, false)[attr]
+      }
+    })()
+
+    dialogHeaderEl.onmousedown = (e) => {
+      // 榧犳爣鎸変笅锛岃绠楀綋鍓嶅厓绱犺窛绂诲彲瑙嗗尯鐨勮窛绂�
+      const disX = e.clientX - dialogHeaderEl.offsetLeft
+      const disY = e.clientY - dialogHeaderEl.offsetTop
+
+      const screenWidth = document.body.clientWidth // body褰撳墠瀹藉害
+      const screenHeight = document.documentElement.clientHeight // 鍙鍖哄煙楂樺害(搴斾负body楂樺害锛屽彲鏌愪簺鐜涓嬫棤娉曡幏鍙�)
+
+      const dragDomWidth = dragDom.offsetWidth // 瀵硅瘽妗嗗搴�
+      const dragDomheight = dragDom.offsetHeight // 瀵硅瘽妗嗛珮搴�
+
+      const minDragDomLeft = dragDom.offsetLeft
+      const maxDragDomLeft = screenWidth - dragDom.offsetLeft - dragDomWidth
+
+      const minDragDomTop = dragDom.offsetTop
+      const maxDragDomTop = screenHeight - dragDom.offsetTop - dragDomheight
+
+      // 鑾峰彇鍒扮殑鍊煎甫px 姝e垯鍖归厤鏇挎崲
+      let styL = sty(dragDom, 'left')
+      let styT = sty(dragDom, 'top')
+
+      // 娉ㄦ剰鍦╥e涓� 绗竴娆¤幏鍙栧埌鐨勫�间负缁勪欢鑷甫50% 绉诲姩涔嬪悗璧嬪�间负px
+      if (styL.includes('%')) {
+        styL = +document.body.clientWidth * (+styL.replace(/\%/g, '') / 100)
+        styT = +document.body.clientHeight * (+styT.replace(/\%/g, '') / 100)
+      } else {
+        styL = +styL.replace(/\px/g, '')
+        styT = +styT.replace(/\px/g, '')
+      };
+
+      document.onmousemove = function (e) {
+        // 閫氳繃浜嬩欢濮旀墭锛岃绠楃Щ鍔ㄧ殑璺濈
+        let left = e.clientX - disX
+        let top = e.clientY - disY
+
+        // 杈圭晫澶勭悊
+        if (-(left) > minDragDomLeft) {
+          left = -(minDragDomLeft)
+        } else if (left > maxDragDomLeft) {
+          left = maxDragDomLeft
+        }
+
+        if (-(top) > minDragDomTop) {
+          top = -(minDragDomTop)
+        } else if (top > maxDragDomTop) {
+          top = maxDragDomTop
+        }
+
+        // 绉诲姩褰撳墠鍏冪礌
+        dragDom.style.cssText += `;left:${left + styL}px;top:${top + styT}px;`
+      }
+
+      document.onmouseup = function (e) {
+        document.onmousemove = null
+        document.onmouseup = null
+      }
+    }
+  }
+})
diff --git a/src/views/MapTemplate.vue b/src/views/MapTemplate.vue
index ce5e3cc..4d8b9d7 100644
--- a/src/views/MapTemplate.vue
+++ b/src/views/MapTemplate.vue
@@ -11,8 +11,11 @@
     <monitor-panel></monitor-panel>
     <!--        <top-enterprise-panel></top-enterprise-panel>-->
     <tool-box-panel ref="toolBox"></tool-box-panel>
-    <menu-special></menu-special>
+<!--    <menu-special></menu-special>-->
     <legend-panel></legend-panel>
+    <summary-sheets v-show="isShowbtn"></summary-sheets>
+    <enterprise></enterprise>
+    <el-button id="mapbtn" type="primary" icon="el-icon-c-scale-to-original" circle @click="isshowhidden"></el-button>
   </div>
 </template>
 
@@ -25,26 +28,31 @@
 import LcServiceLayer from '@components/LayerController/modules/LcServiceLayer'
 import MonitorPanel from '@components/panel/RightSearchPanel'
 // import TopEnterprisePanel from '@components/panel/TopEnterprisePanel'
+import summarySheets from '@components/table/summarySheets.vue'
 import ToolBoxPanel from '@components/panel/ToolBoxPanel'
 import Popup from '@views/popup/Popup'
-import MenuSpecial from '@components/panel/MenuTopic'
+// import MenuSpecial from '@components/panel/MenuTopic'
 import LegendPanel from '@components/panel/LegendPanel'
+import Enterprise from '../components/table/enterprise'
 
 export default {
   name: 'MapTemplate',
   components: {
+    Enterprise,
     LegendPanel,
-    MenuSpecial,
+    // MenuSpecial,
     ToolBoxPanel,
     // TopEnterprisePanel,
     SgisLayerController,
     MonitorPanel,
     LcBasemap,
     LcServiceLayer,
-    Popup
+    Popup,
+    summarySheets
   },
   data () {
     return {
+      isShowbtn: false,
       map: null,
       lcServiceLayerVisible: false,
       basemapHelper: {},
@@ -63,6 +71,9 @@
     })
   },
   methods: {
+    isshowhidden () {
+      this.isShowbtn = !this.isShowbtn
+    },
     saveMapStatus () {
       window.serviceLayerHelper = this.serviceLayerHelper
       this.$store.commit('setMapObj', this.map)
diff --git a/src/views/popup/Dialog.vue b/src/views/popup/Dialog.vue
new file mode 100644
index 0000000..58e7407
--- /dev/null
+++ b/src/views/popup/Dialog.vue
@@ -0,0 +1,37 @@
+<template>
+    <el-dialog  v-dialogDrag
+            :title="title"
+            :visible.sync="centerDialogVisible"
+            width="30%"
+            :modal="false"
+            :close-on-click-modal="false"
+            center>
+        <slot></slot>
+    </el-dialog>
+</template>
+<script>
+
+export default {
+  name: 'Dialog',
+  props: {
+    title: {
+      type: String,
+      default: '鏍囬'
+    }
+  },
+  data () {
+    return {
+      centerDialogVisible: false
+    }
+  },
+  methods: {
+    show () {
+      this.centerDialogVisible = true
+    }
+  }
+}
+
+</script>
+<style lang="less">
+
+</style>
diff --git a/vue.config.js b/vue.config.js
index be07b5a..07df932 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -1,5 +1,5 @@
 const appConfig = require('./src/app.config')
-
+const path = require('path')
 module.exports = {
   publicPath: process.env.NODE_ENV === 'production' ? `/${appConfig.projectName}/` : '/',
   configureWebpack: config => {
@@ -16,6 +16,14 @@
   },
   parallel: require('os').cpus().length > 1, // 鏋勫缓鏃跺紑鍚杩涚▼澶勭悊babel缂栬瘧
   productionSourceMap: false,
+  pluginOptions: {
+    'style-resources-loader': {
+      preProcessor: 'less',
+      patterns: [
+        path.resolve(__dirname, './src/assets/css/map/_map-variable.less')
+      ]
+    }
+  },
   devServer: {
     // host: 'localhost',
     // open: true,

--
Gitblit v1.8.0