From 0187673aed8ba72058ee74fbb7538cf040a43606 Mon Sep 17 00:00:00 2001
From: hanbaoshan <hanbaoshan@aiotlink.com>
Date: 星期四, 23 七月 2020 20:09:07 +0800
Subject: [PATCH] 桌面添加交互(打开/最小化应用,显示桌面最小化已打开的应用,显示隐藏通知)

---
 src/pages/desktop/index/components/ToolsEntry.vue |   35 ++++++++++++++++++++++++++++++++---
 1 files changed, 32 insertions(+), 3 deletions(-)

diff --git a/src/pages/desktop/index/components/ToolsEntry.vue b/src/pages/desktop/index/components/ToolsEntry.vue
index adbba7c..ea7b7cd 100644
--- a/src/pages/desktop/index/components/ToolsEntry.vue
+++ b/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>

--
Gitblit v1.8.0