From 20edbbb796f386465c0e703be0f1b602c02a5470 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@iotlink.com>
Date: 星期二, 04 八月 2020 16:25:52 +0800
Subject: [PATCH] dekstop: add reset min frame on desktop icon repeatedly click

---
 src/pages/desktop/index/store/modules/desktop.js  |   10 ++++++++--
 src/pages/desktop/index/components/ToolsEntry.vue |   14 ++++++++------
 2 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/src/pages/desktop/index/components/ToolsEntry.vue b/src/pages/desktop/index/components/ToolsEntry.vue
index cc44556..164f9c4 100644
--- a/src/pages/desktop/index/components/ToolsEntry.vue
+++ b/src/pages/desktop/index/components/ToolsEntry.vue
@@ -29,21 +29,23 @@
     }
   },
   methods: {
-
     dockClick(dock) {
       if (dock.type === '1') {
         window.open(dock.url);
       } else if (dock.type === '2') {
-        debugger
-        this.$store.dispatch('desktop/addFrame', {
+        let ids = this.$store.getters["desktop/frames"].map(item => item.id);
+        if (ids.indexOf(dock.id) > -1) {
+          this.$store.commit('desktop/resetMinFrame', dock.id);
+          this.resetDockItem();
+          return;
+        }
+
+        let ret = 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() {
diff --git a/src/pages/desktop/index/store/modules/desktop.js b/src/pages/desktop/index/store/modules/desktop.js
index 1949bcb..9b29087 100644
--- a/src/pages/desktop/index/store/modules/desktop.js
+++ b/src/pages/desktop/index/store/modules/desktop.js
@@ -25,7 +25,11 @@
 };
 
 // getters
-const getters = {};
+const getters = {
+  frames(state) {
+    return state.frames;
+  }
+};
 
 // actions
 const actions = {
@@ -73,7 +77,7 @@
   addFrame: (state, dframe) => {
     let ids = state.frames.map(item => item.id);
     if (ids.indexOf(dframe.id) > -1) {
-      return;
+      return false;
     }
 
     let order = state.framesOrder + 1;
@@ -95,6 +99,8 @@
     state.framesOrder = order;
     state.framesOffset = offset;
     state.frames.push(dframe);
+
+    return true;
   },
   addMinDock: (state, dock) => {
     let ids = state.minDocks.map(item => item.id);

--
Gitblit v1.8.0