From 0175cda6150656bc74b34c6f6c71edd1e1fc653c Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@iotlink.com>
Date: 星期四, 04 二月 2021 18:22:54 +0800
Subject: [PATCH] treee, 修复tab切换时树的选中状态.添加区域

---
 src/pages/ai/index/App.vue |  207 +++++++++++++++++++++++++++------------------------
 1 files changed, 108 insertions(+), 99 deletions(-)

diff --git a/src/pages/ai/index/App.vue b/src/pages/ai/index/App.vue
index 960ee9c..faed1b4 100644
--- a/src/pages/ai/index/App.vue
+++ b/src/pages/ai/index/App.vue
@@ -19,7 +19,7 @@
               @tab-click="handleTabClick"
               style="height: calc(100% - 20px);"
             >
-              <el-tab-pane label="宸插畨瑁�" name="myAlgorithm">
+              <el-tab-pane label="宸叉縺娲�" name="myAlgorithm">
                 <div class="width-new-line task-list" v-show="activeName === 'myAlgorithm'">
                   <p class="src-title">绠楁硶杞欢</p>
                   <div class="flex-list">
@@ -86,13 +86,12 @@
                                 <div v-if="item.remoteVersion">鏈�鏂扮増鏈�:{{item.remoteVersion}}</div>
                               </div>
                               <div class="mask-btn">
-                                <!-- <el-button
-                                  v-if="!item.isDefault"
-                                  @click="unLoad(item)"
+                                <el-button
+                                  @click="unLoadSdk(item)"
                                   type="primary"
                                   size="small"
                                   class="bot-btn"
-                                >鍗歌浇</el-button>-->
+                                >鍗歌浇</el-button>
                                 <el-button
                                   v-if="item.isUpgrade"
                                   @click="donwload(item)"
@@ -176,7 +175,7 @@
                             element-loading-background="rgba(0,0,0,.8)"
                           >
                             <i class="iconfont iconupdate" v-if="item.isUpgrade"></i>
-                            <div class="mask" v-if="!item.isDefault || item.isUpgrade">
+                            <div class="mask" >
                               <div class="info-onmask">
                                 <div>褰撳墠鐗堟湰:{{item.version}}</div>
                                 <div v-if="item.remoteVersion">鏈�鏂扮増鏈�:{{item.remoteVersion}}</div>
@@ -233,6 +232,7 @@
                           >
                             <div class="mask">
                               <el-button
+                                size="small"
                                 type="primary"
                                 class="bot-btn"
                                 @click="downloadApp(item)"
@@ -474,7 +474,7 @@
 </template>
 <script>
 
-import { findAllSdk, downloadSdk, installSdk, getInstallInfo } from "./api";
+import { findAllSdk, downloadSdk, installSdk, getInstallInfo, removeSdk} from "./api";
 import { getApps, installApp, removeApp, getUnActivedSdk, actPageAlg, getUnActivedApp, actApp } from "@/api/app";
 
 import FileUploader from "@/components/subComponents/FileUpload/index";
@@ -505,7 +505,7 @@
     //   });
     //   return arr;
     // },
-    isAdmin () {
+    isAdmin() {
       if (
         sessionStorage.getItem("userInfo") &&
         sessionStorage.getItem("userInfo") !== ""
@@ -517,7 +517,7 @@
       return false;
     },
   },
-  data () {
+  data() {
     return {
       sdkList: [],
       installedList: [],
@@ -557,8 +557,9 @@
       storeApps: [],
       installFile: {},
       freshTimer: null,
-      appUpgreading: false,
-      sdkUpgreading: false
+      appUpgreading: true,
+      sdkUpgreading: true,
+      autoRefresh: true,
     }
   },
   directives: {
@@ -568,20 +569,22 @@
       }
     }
   },
-  mounted () {
+  mounted() {
     // 鑾峰彇鎵�鏈夊簲鐢�
-    this.getAllSdk();
-    this.getAllApps();
+    this.autoRefreshAppAndSdkState();
 
     this.getUnActivedList();
     this.getUnActivedAppList();
   },
+  beforeDestroy() {
+    this.autoRefresh = false;
+  },
   methods: {
-    isShow (authority) {
+    isShow(authority) {
       return this.isAdmin || this.buttonAuthority.indexOf("," + authority + ",") > -1
     },
     //绂荤嚎瀹夎
-    offlineInstall () {
+    offlineInstall() {
       this.installDialogVisible = false;
       this.isInstall = true;
       //瀹夎
@@ -590,11 +593,10 @@
           this.isInstall = false;
           this.$message({
             type: 'success',
-            message: '瀹夎鎴愬姛,灏嗚烦杞嚦鎴戠殑绠楁硶涓煡鐪�'
+            message: '瀹夎鎴愬姛,灏嗚烦杞嚦"宸叉縺娲�"涓煡鐪�'
           });
           setTimeout(() => {
             this.getAllSdk();
-            this.getAllApps();
             window.parent.postMessage({
               msg: "AppUpdate"
             }, '*')
@@ -611,7 +613,7 @@
         });
       })
     },
-    downloadApp (app, action) {
+    downloadApp(app, action) {
       if (action == 'upgrade') {
         app.upgradeLoading = true;
       } else {
@@ -624,18 +626,18 @@
           setTimeout(() => {
             if (action == 'upgrade') {
               app.upgradeLoading = false;
-              _this.$notify({
-                type: 'success',
-                message: '鍗囩骇鎴愬姛'
-              });
+              // _this.$notify({
+              //   type: 'success',
+              //   message: '鍗囩骇鎴愬姛'
+              // });
             } else {
               app.installLoading = false;
-              _this.$notify({
-                type: 'success',
-                message: '瀹夎鎴愬姛'
-              });
+              // _this.$notify({
+              //   type: 'success',
+              //   message: '瀹夎鎴愬姛'
+              // });
             }
-            _this.getAllApps();
+            // _this.getAllApps();
             window.parent.postMessage({
               msg: "AppUpdate"
             }, '*')
@@ -652,9 +654,8 @@
 
       // 寮�鍚嚜鍔ㄥ埛鏂�
       this.appUpgreading = true;
-      this.startAutoFresh();
     },
-    async getAllApps () {
+    async getAllApps() {
       let iArry = []
       let sArry = []
 
@@ -669,7 +670,6 @@
             obj.upgradeLoading = true;
 
             this.appUpgreading = true;
-            this.startAutoFresh();
           }
 
           item.installed ? iArry.push(obj) : sArry.push(obj)
@@ -679,26 +679,47 @@
       this.installedApps = iArry;
       this.storeApps = sArry;
     },
-    //鍗歌浇搴旂敤
-    unLoad (app) {
-      app.unloadLoading = true;
+    //鍗歌浇绠楁硶
+    unLoadSdk(sdk){
       let _this = this;
-      removeApp({ appId: app.id }).then(res => {
-
-        if (res && res.success) {
-          //setTimeout(() => {
-          app.unloadLoading = false;
-          _this.getAllApps();
-          window.parent.postMessage({
-            msg: "AppUpdate"
-          }, '*')
-          //}, 3000);
-        }
-      }).catch(e => {
-        console.log(e);
-        app.unloadLoading = false;
+      this.$confirm('纭畾瑕佸嵏杞借绠楁硶鍚�?','鎻愮ず').then(()=>{
+        sdk.unloadLoading = true;   
+        removeSdk({ sdkId: sdk.id }).then(res => {
+          if (res && res.success) {
+            sdk.unloadLoading = false;
+            _this.getAllSdk();
+            window.parent.postMessage({
+              msg: "AppUpdate"
+            }, '*')
+          }
+        }).catch(e => {
+          console.log(e);
+          sdk.unloadLoading = false;
+        })
+      }).catch( e => {
+        console.log(e)
       })
-
+    },
+    //鍗歌浇搴旂敤
+    unLoad(app) {
+      let _this = this;
+      this.$confirm('纭畾瑕佸嵏杞借搴旂敤鍚�?','鎻愮ず').then(()=>{
+        app.unloadLoading = true;   
+        removeApp({ appId: app.id }).then(res => {
+          if (res && res.success) {
+            app.unloadLoading = false;
+            _this.getAllApps();
+            window.parent.postMessage({
+              msg: "AppUpdate"
+            }, '*')
+          }
+        }).catch(e => {
+          console.log(e);
+          app.unloadLoading = false;
+        })
+      }).catch( e => {
+        console.log(e)
+      })
     },
     // actSdk (id) {
     //   this.actSdkId = id;
@@ -707,7 +728,7 @@
     //   this.activeCode = '';
     //   this.activedSdkOrApp = this.newActInfo()
     // },
-    actSdkOrApp (id, type = 'sdk') {
+    actSdkOrApp(id, type = 'sdk') {
       this.actType = type;
       this.actId = id;
       this.actDrawerShow = true;
@@ -715,7 +736,7 @@
       this.activeCode = '';
       this.activedSdkOrApp = this.newActInfo()
     },
-    newActInfo () {
+    newActInfo() {
       return {
         activateCode: '',
         productName: '',
@@ -725,7 +746,7 @@
         devIds: ''
       }
     },
-    getUnActivedList () {
+    getUnActivedList() {
       getUnActivedSdk().then(res => {
         if (res.code == 200) {
           this.unActivedSDKList = res.data;
@@ -733,14 +754,14 @@
       })
 
     },
-    getUnActivedAppList () {
+    getUnActivedAppList() {
       getUnActivedApp().then(res => {
         if (res.code == 200) {
           this.unActivedAppList = res.data;
         }
       });
     },
-    actived () {
+    actived() {
       let _this = this;
       if (this.actType == 'sdk') {
         //婵�娲荤畻娉�
@@ -778,12 +799,12 @@
         });
       }
     },
-    getCodeDetail () { },
-    checkMyAlgorith () {
+    getCodeDetail() { },
+    checkMyAlgorith() {
       this.actDrawerShow = false;
       this.activeName = "myAlgorithm";
     },
-    onFileUpload (file) {
+    onFileUpload(file) {
       //this.patchUpdateStatus = `<span style="color:green">涓婁紶鎴愬姛, 鐐瑰嚮鍗囩骇鎸夐挳寮�濮嬪畨瑁�</span>`;
       this.patchFile = { ...file };
       this.fileAdded = true;
@@ -794,7 +815,6 @@
         _this.installFile = file;
         if (res.success) {
           _this.installDialogVisible = true;
-          debugger
           if (res.data.apps.length > 0) {
             _this.installAppPackage = {
               appId: res.data.apps[0].appId,
@@ -821,62 +841,48 @@
 
     },
 
-    onFileAdded (f) {
+    onFileAdded(f) {
       this.patchUpdateStatus = "";
     },
 
-    async getAllSdk () {
+    async getAllSdk() {
       let installedList = [];
       let unInstalledList = [];
       let res = await findAllSdk();
       if (res && res.success) {
+        this.sdkUpgreading = false;
 
         res.data.forEach(item => {
           let obj = Object.assign({ unloadLoading: false, upgradeLoading: false }, item)
           if (obj.progressMsg !== "" && obj.progressMsg !== "宸插畨瑁�") {
             obj.upgradeLoading = true;
 
-            this.appUpgreading = true;
-            this.startAutoFresh();
+            this.sdkUpgreading = true;
           }
 
           //绠楁硶杞欢 宸插畨瑁呭叾涓寘鍚緟鍗囩骇 鏈畨瑁�
           item.installed ? installedList.push(obj) : unInstalledList.push(obj)
 
         });
-
-
-        // this.sdkList = res.data.map((i, index) => {
-        //   if (i.progressMsg !== "" && i.progressMsg !== "宸插畨瑁�") {
-        //     i.upgradeLoading = true;
-
-        //     this.appUpgreading = true;
-        //     this.startAutoFresh();
-        //   }
-        //   this.$set(i, "isEdit", false);
-        //   return i;
-        // });
       }
       this.installedList = installedList;
       this.notInstalledList = unInstalledList;
     },
 
-    donwload (item) {
-      debugger
+    donwload(item) {
       item.upgradeLoading = true;
       //this.downloading = true;
       this.downloadItem = item.id;
 
       downloadSdk({ path: item.id })
         .then(rsp => {
-          this.$notify({
-            type: "success",
-            message: "绠楁硶宸插畨瑁�"
-          });
+          // this.$notify({
+          //   type: "success",
+          //   message: "绠楁硶宸插畨瑁�"
+          // });
           item.upgradeLoading = false;
           //this.downloading = false;
           this.downloadItem = "";
-          this.getAllSdk();
         })
         .catch(err => {
           this.$notify({
@@ -888,30 +894,33 @@
           this.downloadItem = "";
         });
       // 寮�鍚嚜鍔ㄥ埛鏂�
-      this.appUpgreading = true;
-      this.startAutoFresh();
+      this.sdkUpgreading = true;
     },
-    inputBlur (item) {
+    inputBlur(item) {
       // console.log(item, '淇敼鍚嶇О')
       this.$set(item, "isEdit", false);
     },
-    handleTabClick () {
+    handleTabClick() {
 
     },
-    startAutoFresh () {
-      if (this.freshTimer) {
-        clearTimeout(this.freshTimer)
+    autoRefreshAppAndSdkState() {
+      // 鍏抽棴鍚庨��鍑�
+      if (!this.autoRefresh) {
+        return;
       }
 
-      if (!this.appUpgreading && !this.sdkUpgreading) {
-        this.freshTimer = -1
-        return
+      if (this.appUpgreading) {
+        this.getAllApps();
       }
 
-      this.getAllSdk()
-      this.getAllApps()
+      if (this.sdkUpgreading) {
+        this.getAllSdk();
+      }
 
-      this.freshTimer = setTimeout(this.startAutoFresh, 5 * 1000)
+      let _this = this
+      setTimeout(() => {
+        _this.autoRefreshAppAndSdkState();
+      }, 500)
     }
   }
 };
@@ -981,7 +990,7 @@
 .src-title {
   //color: #bfbfbf;
   color: #bbcee8;
-  font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC';
+  font-family: "PingFangSC-Semibold", "PingFang SC Semibold", "PingFang SC";
   font-weight: 650;
   font-style: normal;
   height: 36px;
@@ -1006,7 +1015,7 @@
       position: absolute;
       top: 50%;
       left: 50%;
-      background: url('/images/algo/green.gif');
+      background: url("/images/algo/green.gif");
       overflow: hidden;
       transform: translate(-50%, -50%);
       .inner-bar {
@@ -1168,16 +1177,16 @@
         }
       }
       .drawer-content {
-        font-family: 'PingFangSC-Regular';
+        font-family: "PingFangSC-Regular";
         .el-step__title.is-process {
           border-color: #3d68e1 !important;
           color: #3d68e1 !important;
-          font-family: Tahoma, Helvetica, Arial, '\5B8B\4F53', sans-serif;
+          font-family: Tahoma, Helvetica, Arial, "\5B8B\4F53", sans-serif;
         }
         .el-step__head.is-process {
           border-color: #3d68e1 !important;
           color: #3d68e1 !important;
-          font-family: Tahoma, Helvetica, Arial, '\5B8B\4F53', sans-serif;
+          font-family: Tahoma, Helvetica, Arial, "\5B8B\4F53", sans-serif;
         }
         .el-input {
           width: 100%;

--
Gitblit v1.8.0