From 0d3db253cad1fb49c4fae9b9a537c8c318c7172f Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期三, 29 十一月 2023 10:23:59 +0800
Subject: [PATCH] 优化应用中心卸载

---
 src/pages/desktop/index/components/ToolsEntry.vue |  193 ++++++++++++++++++++++++------------------------
 1 files changed, 97 insertions(+), 96 deletions(-)

diff --git a/src/pages/desktop/index/components/ToolsEntry.vue b/src/pages/desktop/index/components/ToolsEntry.vue
index 266c4b7..5076ecf 100644
--- a/src/pages/desktop/index/components/ToolsEntry.vue
+++ b/src/pages/desktop/index/components/ToolsEntry.vue
@@ -11,13 +11,10 @@
           <div class="app-list clearFix sdk-list">
             <!-- <draggable v-model="carousel" @start="drag=true" @end="drag=false"> -->
             <div v-for="item in carousel" :key="item.id">
-              <div class="app" v-if="item.url" @click="dockClick(item)">
+              <div class="app" v-if="item.url && !item.sdk_name" @click="dockClick(item)">
                 <div class="wrap">
                   <div class="app-icon">
-                    <div
-                      class="badge"
-                      v-if="item.name == 'algorithmManage' && badgeNum > 0"
-                    >
+                    <div class="badge" v-if="item.name == 'algorithmManage' && badgeNum > 0">
                       {{ badgeNum }}
                     </div>
                     <img :src="item.src" :alt="item.alt" />
@@ -29,11 +26,7 @@
                 <div class="wrap">
                   <div class="app-icon">
                     <img
-                      :src="
-                        item.iconBlob.indexOf(',') > 0
-                          ? item.iconBlob
-                          : `data:image/png;base64,${item.iconBlob}`
-                      "
+                      :src="item.iconBlob.indexOf(',') > 0 ? item.iconBlob : `data:image/png;base64,${item.iconBlob}`"
                     />
                   </div>
                   <div class="app-name">{{ item.sdk_name }}</div>
@@ -52,16 +45,16 @@
 </template>
 
 <script>
-import draggable from "vuedraggable";
-import { findAllSdk } from "@/api/taskMange";
-import bus from "@/plugin/bus";
+import draggable from "vuedraggable"
+import { findAllSdk } from "@/api/taskMange"
+import bus from "@/plugin/bus"
 export default {
   name: "toolsEntry",
   data() {
     return {
       publicPath: process.env.BASE_URL,
       loading: true,
-      installedSdk: [],
+      installedSdk: []
       // sdkList: [
       //   {
       //     src: 'data:image/png;base64,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',
@@ -74,128 +67,133 @@
       // ],
       //rowSize: 3,
       // badgeNum: 0,
-    };
+    }
   },
   computed: {
     stateDocks() {
-      return this.$store.state.desktop.docks;
+      // console.log("carousels", this.$store.state.desktop.docks)
+      return this.$store.state.desktop.docks
     },
     carousels() {
-      let pages = 0;
-      let tempArr = this.stateDocks.concat(this.installedSdk);
-      let upgradeArr = tempArr.filter((item) => item.isUpgrade);
-      let arr = null;
+      let pages = 0
+      let tempArr = this.stateDocks.concat(this.installedSdk)
+      let upgradeArr = tempArr.filter((item) => item.isUpgrade)
+      let arr = null
       //鏍规嵁灞忓箷楂樺害鏉ュ垽鏂槸灞曠ず3鎺掕繕鏄�4鎺� 闃堝��:970
       if (window.innerHeight >= 930) {
         //this.rowSize = 4;
-        arr = this.chunk(tempArr, 24);
+        arr = this.chunk(tempArr, 24)
       } else {
         //this.rowSize = 3;
-        arr = this.chunk(tempArr, 18);
+        arr = this.chunk(tempArr, 18)
       }
-      return arr;
+
+      return arr
     },
     badgeNum() {
-      let tempArr = this.stateDocks.concat(this.installedSdk);
-      return tempArr.filter((item) => item.isUpgrade).length;
+      let tempArr = this.stateDocks.concat(this.installedSdk)
+      return tempArr.filter((item) => item.isUpgrade).length
     },
     rowSize() {
       if (window.innerHeight >= 930) {
-        return 4;
+        return 4
       } else {
-        return 3;
+        return 3
       }
-    },
+    }
   },
   mounted() {
-    this.getAllSdk();
-    let _this = this;
+    this.getAllSdk()
+    let _this = this
     window.addEventListener("message", (e) => {
       if (e.data && e.data.msg) {
-        let msg = e.data.msg;
+        let msg = e.data.msg
         if (msg === "logout") {
-          location.assign("/");
-          return;
+          location.assign("/")
+          return
         }
         if (msg.indexOf("toSearch") >= 0) {
-          let params = msg.substring(7);
-          this.addFrameByName("search", params);
+          let params = msg.substring(7)
+          this.addFrameByName("search", params)
         }
         if (msg.indexOf("toCluster") >= 0) {
-          let params = msg.substring(8);
-          this.addFrameByName("searchForCluster", params);
+          let params = msg.substring(8)
+          this.addFrameByName("searchForCluster", params)
         }
         if (msg.indexOf("toSetting") > -1) {
-          const str = msg.split("?")[1];
-          this.addFrameByName("settings", str);
+          const str = msg.split("?")[1]
+          this.addFrameByName("settings", str)
         }
         if (msg.indexOf("toVindicate") > -1) {
-          const str = msg.split("?")[1];
-          this.addFrameByName("vindicate", str);
+          const str = msg.split("?")[1]
+          this.addFrameByName("vindicate", str)
         }
         if (msg.indexOf("toAI") > -1) {
-          const str = msg.split("?")[1];
-          this.addFrameByName("algorithmManage", str);
+          const str = msg.split("?")[1]
+          this.addFrameByName("algorithmManage", str)
         }
         if (msg.indexOf("toOpenApp") >= 0) {
-          let id = msg.substring(10);
-          this.addFrameByID(id);
+          let id = msg.substring(10)
+          this.addFrameByID(id)
         }
         if (msg.indexOf("changeBackground") > -1) {
-          const name = e.data.msg.split("?")[1];
-          _this.$emit("changeBackground", `/images/desktop/${name}.png`);
+          const name = e.data.msg.split("?")[1]
+          _this.$emit("changeBackground", `/images/desktop/${name}.png`)
         }
         if (msg == "AppUpdate") {
-          this.getAllSdk();
+          this.getAllSdk()
         }
       }
-    });
+    })
   },
   methods: {
     chunk(arr, size) {
-      size = Math.max(size, 0);
-      const len = arr == null ? 0 : arr.length;
+      size = Math.max(size, 0)
+      const len = arr == null ? 0 : arr.length
       if (!len || size < 1) {
-        return [];
+        return []
       }
-      let index = 0;
-      let resIndex = 0;
-      const result = new Array(Math.ceil(len / size));
+      let index = 0
+      let resIndex = 0
+      const result = new Array(Math.ceil(len / size))
       while (index < len) {
-        result[resIndex++] = arr.slice(index, (index += size));
+        result[resIndex++] = arr.slice(index, (index += size))
       }
-      return result;
+      return result
     },
     onJumpToDock(name) {
-      let togo;
+      let togo
       this.carousels.forEach((arr) => {
         arr.forEach((x) => {
           if (x.title == name) {
-            togo = x;
+            togo = x
           }
-        });
-      });
-      this.dockClick(togo);
+        })
+      })
+      this.dockClick(togo)
     },
     getAllSdk() {
       findAllSdk()
         .then((res) => {
-          this.installedSdk = res.data.filter((item) => item.installed);
+          this.installedSdk = res.data.filter((item) => item.installed)
         })
         .catch((e) => {
-          console.log(e);
-        });
+          console.log(e)
+        })
     },
     dockClick(dock) {
       if (dock.type === "1") {
-        window.open(dock.url);
+        window.open(dock.url)
       } else if (dock.type === "2" && !dock.isOpen) {
+        if (dock.url.indexOf("/view/knowledge") >= 0) {
+          return true
+        }
         this.$store.dispatch("desktop/addFrame", {
           id: dock.id,
           icon: dock.src,
           title: dock.title,
-          url: dock.url,
-        });
+          url: dock.url
+        })
         this.$store.commit("desktop/addMinDock", {
           id: dock.id,
           src: dock.src,
@@ -203,45 +201,45 @@
           type: "3",
           highlight: true,
           url: dock.url,
-          screenshot: "",
-        });
+          screenshot: ""
+        })
         //鎵撳紑搴旂敤鍚庡紓姝ユ姄鎷�,涔嬪悗鐨勬姄鎷嶉噰鐢ㄨ繖寮犲浐瀹氱殑
         //if(dock.name=='cameraVideo'||dock.name=='search'||dock.name=='library'||dock.name=='cameraAccess'||dock.name=='dataStack'){
         setTimeout(() => {
-          this.$parent.screenShot(dock);
-        }, 1500);
+          this.$parent.screenShot(dock)
+        }, 1500)
         //}
       } else if (dock.type === "2" && dock.isOpen) {
-        this.$store.commit("desktop/resetMinFrame", dock.id);
+        this.$store.commit("desktop/resetMinFrame", dock.id)
       }
     },
     resetDockItem() {
-      const dockItems = document.getElementsByClassName("dock-item");
-      const dockMask = document.getElementsByClassName("dock-mask")[0];
+      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;
+        dockItems[i].width = 60
         if (dockItems[i].parentNode.nextElementSibling) {
-          dockItems[i].parentNode.nextElementSibling.style.marginLeft = "-35px";
+          dockItems[i].parentNode.nextElementSibling.style.marginLeft = "-35px"
         }
       }
-      dockMask.style.width = dockItems.length * 60 + 40 + "px";
+      dockMask.style.width = dockItems.length * 60 + 40 + "px"
     },
     addFrameByName(name, params) {
-      let dock = null;
+      let dock = null
       this.$store.state.desktop.docks.forEach((app) => {
         if (app.name === name) {
-          dock = app;
+          dock = app
         }
-      });
+      })
       if (dock.isOpen) {
-        this.$store.dispatch("desktop/closeFrame", dock);
+        this.$store.dispatch("desktop/closeFrame", dock)
       }
       this.$store.dispatch("desktop/addFrame", {
         id: dock.id,
         icon: dock.src,
         title: dock.title,
-        url: dock.url + "?" + params,
-      });
+        url: dock.url + "?" + params
+      })
       this.$store.commit("desktop/addMinDock", {
         id: dock.id,
         src: dock.src,
@@ -249,24 +247,24 @@
         type: "3",
         highlight: true,
         url: dock.url,
-        screenshot: "",
-      });
+        screenshot: ""
+      })
     },
     addFrameByID(id, params) {
-      let dock = null;
-      let toClose = null;
+      let dock = null
+      let toClose = null
       this.$store.state.desktop.docks.forEach((app) => {
         if (app.id == id) {
-          dock = app;
+          dock = app
         }
         if (app.name == "algorithmManage") {
-          toClose = app;
+          toClose = app
         }
-      });
-      this.dockClick(dock);
-    },
-  },
-};
+      })
+      this.dockClick(dock)
+    }
+  }
+}
 </script>
 
 <style lang="scss">
@@ -291,6 +289,9 @@
     width: 1180px;
     padding: 0 60px;
     margin: 0 auto;
+    .el-carousel__indicator--horizontal {
+      padding: 0px 4px;
+    }
     .app-list {
       .app {
         width: 16.6%;
@@ -366,4 +367,4 @@
     }
   }
 }
-</style>
\ No newline at end of file
+</style>

--
Gitblit v1.8.0