From 041aef6ee488898c7f4f1839f6cb8aa3187277ca Mon Sep 17 00:00:00 2001
From: YANGDL <114714267@qq.com>
Date: 星期五, 26 二月 2021 15:49:40 +0800
Subject: [PATCH] 修改专题菜单样式

---
 src/components/panel/MenuSpecial.vue |  164 +++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 123 insertions(+), 41 deletions(-)

diff --git a/src/components/panel/MenuSpecial.vue b/src/components/panel/MenuSpecial.vue
index a250e3a..4b42915 100644
--- a/src/components/panel/MenuSpecial.vue
+++ b/src/components/panel/MenuSpecial.vue
@@ -1,25 +1,47 @@
 <!--涓婚鑿滃崟閫夐」-->
 <template>
-<div class="menu-special">
-  <div style="color: white;z-index: 1000;">
-      <img src="/assets/images/menu/earth.png" style="width: 2rem;height: 2rem;background-size: 100% 100%;padding-right: 1rem;display: inline; " @click="toggle()"  >
-    <div id="menu-special-context" class="menu-special-context">
-      <div class="menu-special-item"   v-for="item in SpecialList" :key="item.id">
-        <img :src="item.icon" style="width: 1.2rem;height: 1.2rem;" >
-        {{item.name}}
+  <div class="menu-special">
+    <div style="color: white;z-index: 1000;display:inline-flex;">
+      <img class="menu-special-toggle" src="/assets/images/menu/earth.png"
+           style=""
+           @click="toggle()">
+      <div id="menu-special-context" class="menu-special-context">
+          <el-checkbox-button  v-show="isShow" class="menu-special-item" v-model="specialAll.check" :checked="specialAll.checked" @change="checkedSpecialChangeAll(specialAll)">
+            <div style="height: 1rem;width: 1rem;display: inline-flex;">     <img :src="specialAll.icon" ></div>
+            {{ specialAll.name }}</el-checkbox-button>
+
+        <el-checkbox-group indeterminate="true" v-show="isShow" v-model="checkedList" size="medium">
+          <el-checkbox-button class="menu-special-item"  v-for="item in specialList" :label="item.name" :key="item.id" :checked="item.checked" @change="checkedSpecialChange(item)">
+            <div style="height: 1rem;width: 1rem;display: inline-flex;">     <img :src="item.icon" ></div>
+            {{item.name}}</el-checkbox-button>
+        </el-checkbox-group>
+<!--        <ul class="menu-special-item" v-for="item in SpecialList" :key="item.id">-->
+<!--          <li style="display: inline-flex;vertical-align: middle">-->
+<!--            <div style="height: 1rem;width: 1rem;">     <img :src="item.icon" ></div>-->
+
+<!--            <a>{{ item.name }}</a>-->
+<!--          </li>-->
+<!--        </ul>-->
       </div>
     </div>
-
   </div>
-</div>
 </template>
 
 <script>
+
 export default {
   name: 'MenuSpecial',
   data () {
     return {
-      SpecialList: [{
+      isShow: false,
+      // checkedList: ['姹℃煋婧�', '搴熸按鐩戞祴'],
+      checkedList: [],
+      specialAll: {
+        name: '鍏ㄩ��',
+        check: false,
+        icon: '/assets/images/menu/special.png'
+      },
+      specialList: [{
         name: '姹℃煋婧�',
         id: 1,
         check: false,
@@ -27,92 +49,152 @@
       }, {
         name: '搴熸按鐩戞祴',
         id: 2,
-        check: false,
+        checked: false,
         icon: '/assets/images/menu/special.png'
       }, {
         name: '搴熸皵鐩戞祴',
         id: 3,
-        check: false,
+        checked: false,
         icon: '/assets/images/menu/special.png'
       }, {
         name: '鍥哄簾绠$悊',
         id: 4,
-        check: false,
+        checked: false,
         icon: '/assets/images/menu/special.png'
       }, {
         name: '鐜椋庨櫓',
         id: 5,
-        check: false,
+        checked: false,
         icon: '/assets/images/menu/special.png'
       }, {
         name: '鍦熷¥鍙婂湴涓嬫按',
         id: 6,
-        check: false,
+        checked: false,
         icon: '/assets/images/menu/special.png'
       }, {
         name: '姹¢洦姘寸缃�',
         id: 7,
-        check: false,
+        checked: false,
         icon: '/assets/images/menu/special.png'
       }, {
         name: '棰勮鎶ヨ',
         id: 8,
-        check: false,
+        checked: false,
         icon: '/assets/images/menu/special.png'
       }, {
         name: '鎸囨爣缁熻',
         id: 9,
-        check: false,
+        checked: false,
         icon: '/assets/images/menu/special.png'
       }, {
         name: '搴旀�ュ湴鍥�',
         id: 10,
-        check: false,
+        checked: false,
         icon: '/assets/images/menu/special.png'
       }]
     }
   },
+  computed: {
+  },
   methods: {
     toggle () {
-      console.log('toggle')
-      const el = document.getElementById('menu-special-context')
-      console.log(el.clientWidth + ':' + el.offsetHeight)
-      if (el.clientWidth > 0) {
-        el.style.width = '0'
-      } else {
-        el.style.width = 'auto'
-      }
+      this.isShow = !this.isShow
+      // console.log('toggle')
+      // const el = document.getElementById('menu-special-context')
+      // console.log(el.clientWidth + ':' + el.offsetHeight)
+      // if (el.clientWidth > 0) {
+      //   el.style.width = '0'
+      // } else {
+      //   el.style.width = 'auto'
+      // }
+    },
+    checkedSpecialChangeAll (val) {
+      // this.checkedCities = val ? this.cities.map(item => item.id) : []
+      // this.isIndeterminate = false
+      // let list = []
+      // if (val === true) {
+      //   list = this.specialList.map(item => item.name)
+      // }
+
+      this.checkedList = val.check ? this.specialList.map(item => item.name) : []
+    },
+    checkedSpecialChange (item) {
+      console.log(item)
     }
   }
 
 }
 </script>
 
-<style lang="less" scoped>
-.menu-special{
+<style lang="less" >
+@import '@assets/css/map/_map-variable';
+.menu-special {
   position: absolute;
   left: 1rem;
-  bottom:10rem;
-  height: 2rem;
-  font-size: 1rem;
+  bottom: 1rem;
+
   z-index: 1000;
   font-family: 'Arial Normal', 'Arial';
   font-weight: 400;
   font-style: normal;
-  .menu-special-context{
+.menu-special-toggle{
+  width: 2rem;height: 2rem;background-size: 100% 100%;padding-right: 1rem;display: inline;
+}
+  .menu-special-context {
 
-    display: inline;
+    display: inline-flex;
     transition: height 1s;
-    .menu-special-item{
-      display: inline;background: url('/assets/images/menu/menu-background.svg') no-repeat;
+
+    li {
+      //display: inline-flex;
+
+      line-height: 2rem;
+      height: 2rem;
+      img {
+        font-size: 0;
+        height: 100%;
+        width: 100%;
+      }
+    }
+    .menu-special-item {
+      background: url('/assets/images/menu/menu-background.svg') no-repeat;
       background-size: 100% 100%;
       padding: 0 1rem 0 1rem;
-      font-size: 1rem;
-      vertical-align: top;
-      /*line-height: 2rem;*/
-      /*height: 2rem;*/
+      line-height: 2rem;
+      height: 2rem;
+    }
+    .menu-special-item :hover {
+      text-decoration: underline;
+      cursor: pointer;
+    }
+    .menu-special-item:active{
+      color: @color-highlight;
     }
   }
-
+  .el-checkbox-button__inner{
+ padding: 0;
+ background: transparent;
+//border: 1px solid @color;
+    color: @color;
+    line-height: 1rem;
+    box-shadow: none;
+    border:none;
+}
+  .el-checkbox-button.is-checked .el-checkbox-button__inner {
+    color: @color-highlight;
+    background-color: transparent;
+    //border-color: transparent;
+    box-shadow: none;
+    border:none;
+  }
+  .el-checkbox-button:first-child .el-checkbox-button__inner{
+    border-left: none;
+  }
+  .el-checkbox-button--medium .el-checkbox-button__inner{
+    padding:0;
+  }
+  .el-checkbox-button__inner:hover{
+    color: @color-highlight;
+  }
 }
 </style>

--
Gitblit v1.8.0