From 3e4b4e749cce446f3d122ab62012d1c659e1788a Mon Sep 17 00:00:00 2001
From: chenzeping <ChenZeping02609@163.com>
Date: 星期二, 16 三月 2021 18:07:35 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master

---
 src/components/table/enterprise.vue                |   26 +++
 src/components/table/summarySheets.vue             |   31 +++-
 src/conf/TDT.js                                    |   39 +++++
 src/components/panel/ToolBoxPanel.vue              |   34 +---
 src/components/icon-btn/IconBtn.vue                |  221 +++++++++++++++++++++++++++++++
 src/components/LayerController/LayerController.vue |   64 --------
 src/assets/images/map-pages/icon/toolbox/table.png |    0 
 7 files changed, 315 insertions(+), 100 deletions(-)

diff --git a/src/assets/images/map-pages/icon/toolbox/table.png b/src/assets/images/map-pages/icon/toolbox/table.png
new file mode 100644
index 0000000..5195131
--- /dev/null
+++ b/src/assets/images/map-pages/icon/toolbox/table.png
Binary files differ
diff --git a/src/components/LayerController/LayerController.vue b/src/components/LayerController/LayerController.vue
index 9a60145..0d010eb 100644
--- a/src/components/LayerController/LayerController.vue
+++ b/src/components/LayerController/LayerController.vue
@@ -1,6 +1,6 @@
 <template>
   <div class="float-panel">
-    <div :class='["btn",layerControllerVisible ? "active" : ""]' @click="showPanel"><span><img src="@assets/images/map-pages/icon/layer.png" alt="" width="26px" style="display: block;margin: auto"><span class="icon-name">鍥惧眰</span></span></div>
+    <div :class='["iconBtn",layerControllerVisible ? "active" : ""]' @click="showPanel"><span><img src="@assets/images/map-pages/icon/layer.png" alt="" width="26px" style="display: block;margin: auto"><span class="icon-name">鍥惧眰</span></span></div>
     <transition name="fade">
       <div :class="'legend-content map-background'" style="position: absolute;left: 50px;top: 0" v-show="layerControllerVisible">
         <lc-service-layer></lc-service-layer>
@@ -16,7 +16,6 @@
 import iconSetting from '@/assets/images/map-pages/icon/setting.png'
 import LcServiceLayer from './modules/LcServiceLayer'
 
-const cityOptions = ['涓婃捣', '鍖椾含', '骞垮窞', '娣卞湷']
 export default {
   name: 'LayerController',
   components: { LcServiceLayer },
@@ -44,10 +43,6 @@
       icons: {
         setting: iconSetting
       },
-      checkAll: false,
-      checkedCities: ['涓婃捣', '鍖椾含'],
-      cities: cityOptions,
-      isIndeterminate: true,
       layerControllerVisible: false,
       panelSwitch: {
         main: true // 涓荤獥鍙�
@@ -62,15 +57,6 @@
   methods: {
     showPanel () {
       this.layerControllerVisible = !this.layerControllerVisible
-    },
-    handleCheckAllChange (val) {
-      this.checkedCities = val ? cityOptions : []
-      this.isIndeterminate = false
-    },
-    handleCheckedCitiesChange (value) {
-      const checkedCount = value.length
-      this.checkAll = checkedCount === this.cities.length
-      this.isIndeterminate = checkedCount > 0 && checkedCount < this.cities.length
     },
     init () {
       this.initPreset()
@@ -112,7 +98,7 @@
   div {
     color: #00fff6;
   }
-  .btn {
+  .iconBtn {
     width:45px;
     text-align: center;
     background: rgba(0, 16, 30, 0.5);
@@ -227,20 +213,6 @@
     margin-left: 30px;
     height: auto;
   }
-
-  .switch-head-up {
-    width: 22px;
-    height: 16px;
-    float: right;
-    margin-top: 10px;
-    margin-right: 10px;
-    cursor: pointer;
-    background-image: url(../../assets/images/map-pages/icon/xljt1.png);
-    transform: rotateX(0deg);
-    transform-origin: 50% 50%;
-    transition: transform 0.5s linear 0s;
-  }
-
   .switch-head-down {
     transform: rotateX(180deg);
     transform-origin: 50% 50%;
@@ -255,38 +227,6 @@
     color: #569EB7;
     padding: 0 16px;
   }
-
-  .horn {
-    width: 6px;
-    height: 6px;
-    float: left;
-    position: absolute;
-  }
-
-  .horn-tl {
-    background-image: url(../../assets/images/map-pages/cosmetics/horn_tl.png);
-    left: -1px;
-    top: -1px;
-  }
-
-  .horn-tr {
-    background-image: url(../../assets/images/map-pages/cosmetics/horn_tr.png);
-    right: -1px;
-    top: -1px;
-  }
-
-  .horn-bl {
-    background-image: url(../../assets/images/map-pages/cosmetics/horn_bl.png);
-    left: -1px;
-    bottom: -1px;
-  }
-
-  .horn-br {
-    background-image: url(../../assets/images/map-pages/cosmetics/horn_br.png);
-    right: -1px;
-    bottom: -1px;
-  }
-
   ::-webkit-scrollbar {
     width: 7px;
     height: 5px !important;
diff --git a/src/components/icon-btn/IconBtn.vue b/src/components/icon-btn/IconBtn.vue
new file mode 100644
index 0000000..4c618b8
--- /dev/null
+++ b/src/components/icon-btn/IconBtn.vue
@@ -0,0 +1,221 @@
+<template>
+    <div class="float-panel">
+        <div :class='["btn",active ? "active" : ""]' @click="onClick">
+            <span>
+                <img :src="src" alt="" width="26px" style="display: block;margin: auto">
+                <span class="icon-name">{{label}}</span>
+            </span>
+        </div>
+    </div>
+</template>
+
+<script>
+import '@assets/css/map/magic.min.css'
+
+import iconSetting from '@/assets/images/map-pages/icon/setting.png'
+
+export default {
+  name: 'LayerController',
+  props: {
+    src: String,
+    label: String,
+    active: Object,
+    onClick: Function
+  },
+  computed: {
+    map () {
+      return this.$store.state.map.map
+    },
+    L () {
+      return this.$store.state.map.L
+    },
+    layerHelper () {
+      return this.$store.state.map.layerHelper
+    }
+  },
+  data () {
+    return {
+      width: '250px',
+      isShow: true,
+      icons: {
+        setting: iconSetting
+      },
+      layerControllerVisible: false,
+      panelSwitch: {
+        main: true // 涓荤獥鍙�
+      }
+    }
+  },
+  mounted () {
+    this.$nextTick(function () {
+      this.init()
+    })
+  },
+  methods: {
+  }
+}
+</script>
+
+<style lang="less">
+    .float-panel {
+        position: absolute;
+        left: 2px;
+        top: 120px;
+        height: auto;
+        font-size: 11px;
+        z-index: 1000;
+
+        div {
+            color: #00fff6;
+        }
+        .btn {
+            width:45px;
+            text-align: center;
+            background: rgba(0, 16, 30, 0.5);
+            cursor: pointer;
+            color: #00fff6;
+            border: 0.00521rem solid #00fff6;
+            box-shadow: 0 0 0.03rem #00fff6;
+        }
+        .active {
+            border: 0.00521rem solid #fff700;
+            box-shadow: 0 0 0.03rem #fff700;
+        }
+        .title-border {
+            width: 100%;
+            height: 28px;
+            background: #10488c;
+            -webkit-clip-path: polygon(0px 0px, 0px 28px, 230px 28px, 230px 9px, 95px 9px, 86px 0px);
+            clip-path: polygon(0px 0px, 0px 28px, 230px 28px, 230px 9px, 95px 9px, 86px 0px);
+            position: relative;
+        }
+
+        .title-border:before {
+            content: "";
+            display: block;
+            position: absolute;
+            width: 6px;
+            height: 6px;
+            top: 0;
+            left: 0;
+            background-color: #38c8ef;
+        }
+
+        .title-border:after {
+            content: "";
+            display: block;
+            position: absolute;
+            width: 6px;
+            height: 6px;
+            top: 9px;
+            right: 0;
+            background-color: #38c8ef;
+            -webkit-clip-path: polygon(0px 0px, 0px 1px, 5px 1px, 5px 6px, 6px 6px, 6px 0px);
+            clip-path: polygon(0px 0px, 0px 1px, 5px 1px, 5px 6px, 6px 6px, 6px 0px);
+        }
+
+        .title-text-border {
+            width: 30px;
+            height: 120px;
+            float: left;
+            background: #091331;
+            // -webkit-clip-path: polygon(1px 1px, 1px 27px, 229px 27px, 229px 10px, 94px 10px, 85px 1px);
+            // clip-path: polygon(1px 1px, 1px 27px, 229px 27px, 229px 10px, 94px 10px, 85px 1px);
+        }
+
+        .title-icon {
+            float: left;
+            width: 22px;
+            height: 22px;
+            margin-top: 4px;
+            margin-left: 2px;
+            background-image: url(../../assets/images/map-pages/icon/setting.png);
+        }
+
+        .title-text {
+            width: 25px;
+            color: #00d0f9;
+            font-weight: bold;
+            margin-top: 6px;
+            text-align: center;
+            font-size: 14px;
+            filter: brightness(100%);
+            text-shadow: 0 0 5px #00d0f9, 0 0 0 #00d0f9, 0 0 0 #00d0f9, 0 0 0 #0258c5, 0 0 0 #0258c5, 0 0 2px #0258c5, 0 0 5px #0258c5, 0 0 15px #0258c5;
+        }
+
+        .title-line {
+            display: inline-block;
+            width: 120px;
+            height: 1px;
+            // margin-top: 14px;
+            margin-left: 4px;
+            background-color: #04527f;
+            line-height: 5px;
+            vertical-align: middle;
+        }
+
+        .title-point {
+            display: inline-block;
+            width: 5px;
+            height: 5px;
+            // margin-top: 12px;
+            background-color: #04527f;
+            line-height: 5px;
+            vertical-align: middle;
+        }
+
+        .title-button {
+            float: right;
+            width: 28px;
+            height: 28px;
+            cursor: pointer;
+
+            :hover {
+                font-weight: bold;
+                color: white;
+            }
+        }
+
+        .body-box {
+            background-color: rgba(44, 62, 80, 0.6);
+            border: 1px solid #10488c;
+            margin-top: -1px;
+            margin-left: 30px;
+            height: auto;
+        }
+        .switch-head-down {
+            transform: rotateX(180deg);
+            transform-origin: 50% 50%;
+            transition: transform 0.5s linear 0s;
+        }
+
+        select {
+            background: transparent;
+            margin: 6px;
+            border: .5px solid #569EB7;
+            width: 150px;
+            color: #569EB7;
+            padding: 0 16px;
+        }
+        ::-webkit-scrollbar {
+            width: 7px;
+            height: 5px !important;
+        }
+
+        ::-webkit-scrollbar-thumb {
+            /*婊氬姩鏉¢噷闈㈠皬鏂瑰潡*/
+            border-radius: 10px;
+            box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
+            background: #0661AE;
+            border: 1px solid transparent;
+        }
+
+        ::-webkit-scrollbar-track {
+            /*婊氬姩鏉¢噷闈㈣建閬�*/
+            // box-shadow   : inset 0 0 5px rgba(0, 0, 0, 0.2);
+            border-radius: 0px;
+            background: #0E3565;
+        }
+    }
+
+</style>
diff --git a/src/components/panel/ToolBoxPanel.vue b/src/components/panel/ToolBoxPanel.vue
index e3d5d7d..b1b862e 100644
--- a/src/components/panel/ToolBoxPanel.vue
+++ b/src/components/panel/ToolBoxPanel.vue
@@ -233,9 +233,6 @@
   methods: {
     changeChoose (index) {
       this.active = index
-      if (this.drawLayer == null) {
-        this.drawLayer = this.L.layerGroup().addTo(this.map)
-      }
     },
     changeSelect () {
       this.selectGroup = !this.selectGroup
@@ -250,30 +247,20 @@
             iconAnchor: [13, 16],
             popupAnchor: [26, -32]
           })
-          var drawLayer = this.map.editTools.startMarker()
-          drawLayer.setIcon(myIcon)
-          this.drawLayer.addLayer(drawLayer)
-          this.setLogic(drawLayer)
+          this.drawLayer = this.map.editTools.startMarker()
+          this.drawLayer.setIcon(myIcon)
           break
         case '绾挎爣缁�':
-          var drawLayerLine = this.map.editTools.startPolyline()
-          this.drawLayer.addLayer(drawLayerLine)
-          this.setLogic(drawLayerLine)
+          this.drawLayer = this.map.editTools.startPolyline()
           break
         case '澶氳竟褰�':
-          var drawLayerPolygonD = this.map.editTools.startPolygon()
-          this.drawLayer.addLayer(drawLayerPolygonD)
-          this.setLogic(drawLayerPolygonD)
+          this.drawLayer = this.map.editTools.startPolygon()
           break
         case '鐭╁舰':
-          var drawLayerPolygonJ = this.map.editTools.startRectangle()
-          this.drawLayer.addLayer(drawLayerPolygonJ)
-          this.setLogic(drawLayerPolygonJ)
+          this.drawLayer = this.map.editTools.startRectangle()
           break
         case '鍦嗗舰':
-          var drawLayerPolygonY = this.map.editTools.startCircle()
-          this.drawLayer.addLayer(drawLayerPolygonY)
-          this.setLogic(drawLayerPolygonY)
+          this.drawLayer = this.map.editTools.startCircle()
           break
         case '璺濈':
           Measure.startMeasureLen(this.map, this.L)
@@ -310,14 +297,11 @@
           printerY.printMap('A4Portrait page', 'MyManualPrint')
           break
         case '鍒犻櫎':
-          // this.map.removeLayer(this.drawLayer)
-          this.drawLayer.clearLayers()
+          this.map.removeLayer(this.drawLayer)
           break
       }
-    },
-    setLogic (layer) {
-      layer.on('dblclick', this.L.DomEvent.stop).on('dblclick', layer.toggleEdit)
-      layer.setStyle({
+      this.drawLayer.on('dblclick', this.L.DomEvent.stop).on('dblclick', this.drawLayer.toggleEdit)
+      this.drawLayer.setStyle({
         color: 'red',
         fillColor: '#ffffff',
         fillOpacity: 0.1,
diff --git a/src/components/table/enterprise.vue b/src/components/table/enterprise.vue
index f024ad2..4a38d1f 100644
--- a/src/components/table/enterprise.vue
+++ b/src/components/table/enterprise.vue
@@ -1,10 +1,11 @@
 <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 :class='["iconBtn",warnVisible ? "active" : ""]'><span><img src="@/assets/images/map-pages/icon/map/warn.png" alt="" width="26px" style="display: block;margin: auto"><span class="icon-name">棰勬姤璀�</span></span></div>
+
         </div>
         <div class="enterprise-function" @click="showStatisDialog()">
-            <img src="@/assets/images/map-pages/icon/map/company.png" alt="" width="32px">
+            <div :class='["iconBtn",companyVisible ? "active" : ""]'><span><img src="@/assets/images/map-pages/icon/map/company.png" alt="" width="26px" style="display: block;margin: auto"><span class="icon-name">鎸囨爣</span></span></div>
         </div>
         <Dialog ref="warnDialog" title="浼佷笟棰勮鎶ヨ鍒嗙被缁熻">
             <warn></warn>
@@ -28,7 +29,9 @@
   },
   data () {
     return {
-      comp: Warn
+      comp: Warn,
+      warnVisible: false,
+      companyVisible: false
     }
   },
   methods: {
@@ -38,9 +41,11 @@
     },
     showWarnDialog () {
       this.$refs.warnDialog.show()
+      this.warnVisible = true
     },
     showStatisDialog () {
       this.$refs.indexStatisticsDialog.show()
+      this.companyVisible = true
     }
   }
 }
@@ -54,9 +59,22 @@
     z-index: 9999;
 
     .enterprise-function{
-        width: 40px;
+        width: 50px;
         float: left;
         cursor: pointer;
     }
+    .iconBtn {
+        width:45px;
+        text-align: center;
+        background: rgba(0, 16, 30, 0.5);
+        cursor: pointer;
+        color: #00fff6;
+        border: 0.00521rem solid #00fff6;
+        box-shadow: 0 0 0.03rem #00fff6;
+    }
+    .active {
+        // border: 0.00521rem solid #fff700;
+        // box-shadow: 0 0 0.03rem #fff700;
+    }
 }
 </style>
diff --git a/src/components/table/summarySheets.vue b/src/components/table/summarySheets.vue
index a66a556..8e04c11 100644
--- a/src/components/table/summarySheets.vue
+++ b/src/components/table/summarySheets.vue
@@ -1,11 +1,9 @@
 <template>
     <div class="summary-sheets">
-            <div>
-              <i class="el-icon-c-scale-to-original" @click="closeBtn"></i>
-            </div>
-            <Dialog ref="summarySheets" title="浼佷笟鎸囨爣鍒嗙被缁熻">
-              <tab-handover></tab-handover>
-            </Dialog >
+        <div :class='["iconBtn",summaryVisible ? "active" : ""]' @click="closeBtn"><span><img src="@assets/images/map-pages/icon/toolbox/table.png" alt="" width="26px" style="display: block;margin: auto"><span class="icon-name">缁熻琛�</span></span></div>
+        <Dialog ref="summarySheets" title="浼佷笟鎸囨爣鍒嗙被缁熻">
+          <tab-handover></tab-handover>
+        </Dialog >
     </div>
 </template>
 
@@ -18,7 +16,11 @@
     tabHandover,
     Dialog
   },
-
+  data () {
+    return {
+      summaryVisible: false
+    }
+  },
   methods: {
     closeBtn () {
       // const summary = document.getElementById('summary')
@@ -36,14 +38,25 @@
         left: 1px;
         /*width: 850px;*/
         /*height: 265px;*/
-        border: #90c8e0 1px solid;
         z-index:2000;
-        background-color: rgba(26, 73, 81, 0.901960784313726);
         /*color: #fff;*/
        .el-icon-c-scale-to-original {
          width: 30px;
          height: 30px;
          font-size: 30px;
        }
+        .iconBtn {
+            width:45px;
+            text-align: center;
+            background: rgba(0, 16, 30, 0.5);
+            cursor: pointer;
+            color: #00fff6;
+            border: 0.00521rem solid #00fff6;
+            box-shadow: 0 0 0.03rem #00fff6;
+        }
+        .active {
+            border: 0.00521rem solid #fff700;
+            box-shadow: 0 0 0.03rem #fff700;
+        }
     }
 </style>
diff --git a/src/conf/TDT.js b/src/conf/TDT.js
index 0c5b418..6f0597f 100644
--- a/src/conf/TDT.js
+++ b/src/conf/TDT.js
@@ -153,6 +153,45 @@
         zoomOffset: 1
       }
     }
+  },
+  {
+    code: 'tianditu_ter',
+    name: '澶╁湴鍥惧湴褰�',
+    icon_actived: '/assets/images/map-pages/icon/terrain.png',
+    icon_deactived: '/assets/images/map-pages/icon/terrain.png',
+    isAddToMap: false,
+    annotationCheck: true,
+    map: {
+      layerName: '澶╁湴鍥惧湴褰㈠湴鍥�',
+      type: 'wmts',
+      visible: false,
+      layerType: 'ter_c',
+      isLoadMapByToken: true,
+      annotationCheck: true,
+      url: TIANDITU_GIS_HOST + '/ter_c/wmts?layer=ter&style=default&tilematrixset=c' +
+        '&Service=WMTS&Request=GetTile&Version=1.0.0&Format=tiles&TileMatrix={z}&TileCol={x}&TileRow={y}' +
+        '&tk=' + TIANDITU_GIS_TOKEN,
+      option: {
+        maxZoom: 18,
+        minZoom: 1,
+        zoomOffset: 1
+      }
+    },
+    annotation: {
+      layerName: '澶╁湴鍥惧湴褰㈡爣璁�',
+      type: 'wmts',
+      visible: false,
+      layerType: 'cta_c',
+      isLoadMapByToken: true,
+      url: TIANDITU_GIS_HOST + '/cta_c/wmts?layer=cva&style=default&tilematrixset=c' +
+        '&Service=WMTS&Request=GetTile&Version=1.0.0&Format=tiles&TileMatrix={z}&TileCol={x}&TileRow={y}' +
+        '&tk=' + TIANDITU_GIS_TOKEN,
+      option: {
+        maxZoom: 18,
+        minZoom: 1,
+        zoomOffset: 1
+      }
+    }
   }
 ]
 export default

--
Gitblit v1.8.0