src/pages/desktop/index/components/ToolsEntry.vue
@@ -2,12 +2,12 @@
  <div class="tools-entry">
    <div class="entry-wrap">
      <div class="app-list clearFix">
          <div class="app" v-for="(item,index) in applist" :key="index">
          <div class="app" v-for="dock in this.$store.state.desktop.docks" :key="dock.id" @click="dockClick(dock)">
            <div class="wrap">
              <div class="app-icon">
                <img :src="item.src" alt="">
                <img :src="dock.src" :alt="dock.alt">
              </div>
              <div class="app-name">{{item.name}}</div>
              <div class="app-name">{{dock.name}}</div>
            </div> 
          </div>
      </div>
@@ -42,6 +42,35 @@
        {src: `/images/app-mid/vindicate.png`, name:'系统维护'}
      ]
    }
  },
  methods:{
    dockClick(dock) {
      if (dock.type === '1') {
        window.open(dock.url);
      } else if (dock.type === '2') {
        this.$store.dispatch('desktop/addFrame', {
          id: dock.id,
          icon: dock.src,
          title: dock.name,
          url: dock.url
        });
      } else if (dock.type === '3') {
        this.$store.commit('desktop/resetMinFrame', dock.id);
        this.resetDockItem();
      }
    },
    resetDockItem() {
      const dockItems = document.getElementsByClassName('dock-item');
      const dockMask = document.getElementsByClassName('dock-mask')[0];
      for (let i = 0; i < dockItems.length; i++) {
        dockItems[i].width = 60;
        if (dockItems[i].parentNode.nextElementSibling) {
          dockItems[i].parentNode.nextElementSibling.style.marginLeft = "-35px";
        }
      }
      dockMask.style.width = dockItems.length * 60 + 40 + 'px';
    },
  }
};
</script>