From 4a800a8fc83c6bd1f86a8e847b079a51a7532c09 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期三, 20 七月 2022 15:05:58 +0800
Subject: [PATCH] 修复国标配置的bug

---
 src/pages/ai/index/App.vue |  273 +++++++++++++++++++++++-------------------------------
 1 files changed, 118 insertions(+), 155 deletions(-)

diff --git a/src/pages/ai/index/App.vue b/src/pages/ai/index/App.vue
index a4ea71c..e466408 100644
--- a/src/pages/ai/index/App.vue
+++ b/src/pages/ai/index/App.vue
@@ -26,7 +26,8 @@
                 <span class="icon iconfont all-scene">&#xe703;</span>
                 <el-input
                   placeholder="鎼滅储"
-                  v-model="input3"
+                  v-model="inputText"
+                  @change="searchAll"
                   class="input-with-select"
                 >
                   <i class="el-icon-search" slot="prepend"></i>
@@ -66,11 +67,11 @@
                   class="quick-item"
                   v-for="(item, index) in recomandUpdateList"
                   :key="index"
-                  @click="checkDetail(item, 'inactive')"
+                  @click="checkDetail(item, 'inactive', item.sdk_name)"
                 >
                   <div class="icon-img">
                     <span class="icon iconfont" v-if="item.isUpgrade"
-                      >&#xe719;</span
+                      >&#xe72a;</span
                     >
                     <img
                       v-if="item.iconBlob"
@@ -84,11 +85,18 @@
                     <img v-else :src="item.icon" alt />
                   </div>
                   <div class="desc">
-                    <div class="desc-1">{{ item.sdk_name || item.name }}</div>
+                    <el-tooltip
+                      :content="item.sdk_name || item.name"
+                      effect="light"
+                    >
+                      <div class="desc-1">{{ item.sdk_name || item.name }}</div>
+                    </el-tooltip>
                     <div class="desc-2">鐗堟湰 {{ item.version }}</div>
                   </div>
                   <div class="right-icon">
-                    <span class="icon iconfont">&#xe71a;</span>
+                    <el-tooltip effect="dark" content="涓嬭浇" placement="bottom">
+                      <span class="icon iconfont">&#xe71a;</span>
+                    </el-tooltip>
                   </div>
                 </div>
               </div>
@@ -141,11 +149,14 @@
                   class="front-page-item"
                   v-for="(item, index) in tempList"
                   :key="index"
-                  @click="checkDetail(item)"
+                  @click="checkDetail(item, null, item.sdk_name)"
+                  :class="{
+                    disabled: activeName == '搴旂敤涓績' && !item.canUpOrIns,
+                  }"
                 >
                   <div class="icon-img">
                     <span class="icon iconfont" v-if="item.isUpgrade"
-                      >&#xe719;</span
+                      >&#xe72a;</span
                     >
                     <img
                       v-if="item.iconBlob"
@@ -159,7 +170,12 @@
                     <img v-else :src="item.icon" alt />
                   </div>
                   <div class="desc">
-                    <div class="desc-1">{{ item.sdk_name || item.name }}</div>
+                    <el-tooltip
+                      :content="item.sdk_name || item.name"
+                      effect="light"
+                    >
+                      <div class="desc-1">{{ item.sdk_name || item.name }}</div>
+                    </el-tooltip>
                     <div class="desc-2">鐗堟湰 {{ item.version }}</div>
                   </div>
                   <div class="right-btn">
@@ -168,9 +184,18 @@
                       type="primary"
                       class="other-btn"
                       round
-                      @click="checkDetail(item)"
-                      v-if="activeName == '搴旂敤涓績'"
+                      @click="checkDetail(item, null, item.sdk_name)"
+                      v-if="activeName == '搴旂敤涓績' && item.price > 0"
                       >婵�娲�</el-button
+                    >
+                    <el-button
+                      size="small"
+                      type="primary"
+                      class="update-btn"
+                      round
+                      @click.stop="actived(item)"
+                      v-if="activeName == '搴旂敤涓績' && item.price == 0"
+                      >瀹夎</el-button
                     >
                     <el-button
                       size="small"
@@ -186,8 +211,6 @@
                       "
                       >鏌ョ湅</el-button
                     >
-                    <!-- @click.stop="unLoadSdkOrApp(item)" -->
-
                     <el-button
                       size="small"
                       type="primary"
@@ -273,7 +296,7 @@
                   class="front-page-item item-dimmed"
                   v-for="(item, index) in tempDarkList"
                   :key="index"
-                  @click="checkDetail(item, 'activeNotInstall')"
+                  @click="checkDetail(item, 'activeNotInstall', item.sdk_name)"
                 >
                   <div class="icon-img">
                     <img
@@ -288,7 +311,12 @@
                     <img v-else :src="item.icon" alt />
                   </div>
                   <div class="desc">
-                    <div class="desc-1">{{ item.sdk_name || item.name }}</div>
+                    <el-tooltip
+                      :content="item.sdk_name || item.name"
+                      effect="light"
+                    >
+                      <div class="desc-1">{{ item.sdk_name || item.name }}</div>
+                    </el-tooltip>
                     <div class="desc-2">鐗堟湰 {{ item.version }}</div>
                   </div>
                   <div class="right-btn">
@@ -336,7 +364,9 @@
                   class="upload-demo"
                   single
                   tip
+                  :sourceType="3"
                   :isDrag="true"
+                  :attrs="{ accept: '.zip,.tar,.gz,.tar.gz' }"
                   tipWords="鐐瑰嚮涓婁紶"
                   uploadPlaceholder="绠楁硶杞欢"
                   url="/data/api-v/sdk/upload"
@@ -350,7 +380,11 @@
           <detailPage
             :detailProductID="detailProductID"
             :detailType="detailType"
+            :detailPrice="detailPrice"
+            :isSdk="isSdk"
             v-if="inDetail"
+            @flushSdk="getAllSdk"
+            @flushApp="getAllApps"
             @goback="goback"
           ></detailPage>
         </div>
@@ -460,6 +494,7 @@
       showUpload: false,
       detailType: "",
       detailProductID: "",
+      detailPrice: "",
       buttonAuthority: sessionStorage.getItem("buttonAuthoritys") || [],
       activeName: "搴旂敤涓績",
       patchUpdateStatus: "",
@@ -481,7 +516,7 @@
       isSDKDialog: true,
       actType: "",
       actId: "",
-      input3: "",
+      inputText: "",
       tempList: [],
       select: "",
       activedSdkOrApp: {
@@ -495,8 +530,8 @@
       installedApps: [],
       storeApps: [],
       installFile: {},
-      appUpgreading: true,
-      sdkUpgreading: true,
+      appUpgreading: false,
+      sdkUpgreading: false,
       autoRefresh: true,
       productDetailVisible: false,
       isUpgrading: false,
@@ -534,13 +569,14 @@
     this.autoRefresh = false;
   },
   methods: {
+    searchAll() {
+      this.getAllApps();
+      this.getAllSdk();
+      this.getUnActivedList(1);
+      this.getUnActivedAppList();
+    },
     goback() {
       this.inDetail = false;
-    },
-    isShow(authority) {
-      return (
-        this.isAdmin || this.buttonAuthority.indexOf("," + authority + ",") > -1
-      );
     },
     batchUpdate(s) {
       if (s == "both") {
@@ -575,7 +611,6 @@
           this.tempList = this.installedList;
           this.tempDarkList = this.notInstalledList;
           break;
-
         case "鏇存柊":
           this.showQuickPath = false;
           this.tempList = this.hasNewVersionSdk;
@@ -588,7 +623,9 @@
       }
     },
     pickTab(val) {
-      this.activeTab = val;
+      if (val) {
+        this.activeTab = val;
+      }
       if (this.activeName == "搴旂敤涓績") {
         this.tempList =
           this.activeTab == "sdk"
@@ -609,68 +646,22 @@
         this.tempDarkList = [];
       }
     },
-    closeDial() {
-      this.productDetailVisible = false;
-      this.productDetail = {};
-      this.otherProducts = [];
-    },
-    checkDetail(item, typ) {
+    checkDetail(item, typ, sdkName) {
+      /* if (!item.canUpOrIns && typ == "Appcenter") {
+        return false;
+      } */
+      this.isSdk = Boolean(sdkName);
       this.inDetail = true;
       this.detailProductID = item.id;
+      this.detailPrice = item.price;
       if (typ) {
         this.detailType = typ;
       } else {
         this.detailType = this.activeName == "搴旂敤涓績" ? "inactive" : "active";
       }
     },
-    checkInWindow(item) {
-      this.backStack.push([this.productDetail, this.otherProducts]);
-      this.backDisable = false;
-      this.checkIsDefOrNot(item.id);
-
-      let _this = this;
-      getAppDetail({ id: item.id }).then((res) => {
-        _this.productDetail = res.data.detail;
-        _this.productDetail.iconBlob = item.iconBlob;
-        this.actId = _this.productDetail.productBaseId;
-        let flag = false;
-        const allNeedToNew = [
-          ...this.hasNewVersionSdk,
-          ...this.hasNewVersionApp,
-        ];
-        for (let i = 0; i < allNeedToNew.length; i++) {
-          const item = allNeedToNew[i];
-          if (item.id == _this.productDetail.productBaseId) {
-            flag = true;
-          }
-        }
-        this.needToUpgradeInWin = flag;
-        _this.productDetail.isUpgrade = flag;
-
-        _this.otherProducts = res.data.randoms;
-      });
-    },
     checkIsDefOrNot(id) {
-      if (id.length > 10) {
-        this.isDefaultApp = false;
-      } else {
-        this.isDefaultApp = true;
-      }
-    },
-    backwards() {
-      if (this.backStack.length == 0) {
-        this.backDisable = true;
-        return;
-      }
-      this.forwardStack.push([this.productDetail, this.otherProducts]);
-      let item = this.backStack.pop();
-      this.productDetail = item[0];
-      this.checkIsDefOrNot(this.productDetail.productBaseId);
-      this.otherProducts = item[1];
-      this.forwardDisable = false;
-      if (this.backStack.length == 0) {
-        this.backDisable = true;
-      }
+      this.isDefaultApp = id.length <= 10;
     },
     forwards() {
       if (this.forwardStack.length == 0) {
@@ -705,7 +696,7 @@
         })
         .catch((e) => {
           this.isInstall = false;
-          this.$message.error(e.data);
+          this.$message.error(e.msg);
         });
     },
     downloadApp(app, action) {
@@ -729,7 +720,7 @@
           }
         })
         .catch((e) => {
-          _this.$notify.warning(e.data);
+          _this.$notify.warning(e.msg);
           clearInterval(timer);
           app.upgradeLoading = false;
         });
@@ -740,7 +731,7 @@
       let iArry = [];
       let sArry = [];
       let nArry = [];
-      let rsp = await getApps();
+      let rsp = await getApps({ appName: this.inputText });
       if (rsp && rsp.success) {
         // 閬嶅巻app鐨勮繃绋嬮噸缃�
         this.appUpgreading = false;
@@ -793,18 +784,6 @@
         })
         .catch((e) => {});
     },
-    toActivatePage(item) {
-      this.checkDetail(item, "inactive");
-      this.actType = this.activeTab;
-      this.actId = item.id;
-      this.actStep = 0;
-      this.activeCode = "";
-      this.activedSdkOrApp = this.newActInfo();
-    },
-    cancelActivate() {
-      this.showInputCode = false;
-      this.activeCode = "";
-    },
     newActInfo() {
       return {
         activateCode: "",
@@ -816,7 +795,7 @@
       };
     },
     getUnActivedList(v) {
-      getUnActivedSdk().then((res) => {
+      getUnActivedSdk({ sdkName: this.inputText }).then((res) => {
         if (res.code == 200) {
           this.unActivedSDKList = res.data;
           const len = this.unActivedSDKList.length;
@@ -839,39 +818,37 @@
       });
     },
     getUnActivedAppList() {
-      getUnActivedApp().then((res) => {
+      getUnActivedApp({ appName: this.inputText }).then((res) => {
         if (res.code == 200) {
           this.unActivedAppList = res.data;
+          this.pickTab();
         }
       });
     },
-    actived() {
-      let _this = this;
-      if (this.activeCode.trim() == "") {
-        this.$notify.error("婵�娲荤爜涓嶈兘涓虹┖");
-        return;
+    actived(item) {
+      if (!item.canUpOrIns) {
+        return false;
       }
-      if (this.actType == "sdk") {
-        //婵�娲荤畻娉�
-        actPageAlg(this.actId, this.activeCode)
+
+      let _this = this;
+      if (this.activeTab == "sdk") {
+        actPageAlg(item.id, "")
           .then((res) => {
             if (res.data.isSuccess) {
               this.productDetailVisible = false;
               _this.activedSdkOrApp = res.data.successMsg;
               this.showActivateSuccess = true;
               _this.actStep++;
-              _this.getUnActivedList();
+              _this.getUnActivedList(1);
               _this.getAllSdk();
             } else {
               _this.$notify.error(res.data.failMsg.failMsg);
             }
           })
-          .catch((e) => {
-            console.log(e);
-          });
-      } else if (this.actType == "app") {
+          .catch((e) => {});
+      } else if (this.activeTab == "app") {
         //婵�娲诲簲鐢�
-        actApp(this.actId, this.activeCode)
+        actApp(item.id, "")
           .then((res) => {
             if (res.data.isSuccess) {
               this.productDetailVisible = false;
@@ -884,14 +861,8 @@
               _this.$notify.error(res.data.failMsg.failMsg);
             }
           })
-          .catch((e) => {
-            console.log(e);
-          });
+          .catch((e) => {});
       }
-    },
-    checkMyAlgorith() {
-      this.showActivateSuccess = false;
-      this.activeName = "宸叉縺娲�";
     },
     onFileUpload(file) {
       this.patchFile = { ...file };
@@ -928,12 +899,6 @@
           this.$message.error(e.msg);
         });
     },
-    openApp() {
-      window.parent.postMessage(
-        { msg: "toOpenApp?" + this.productDetail.productBaseId },
-        "*"
-      );
-    },
     onFileAdded(f) {
       this.patchUpdateStatus = "";
     },
@@ -941,7 +906,7 @@
       let installedList = [];
       let unInstalledList = [];
       let hasNewVersionList = [];
-      let res = await findAllSdk();
+      let res = await findAllSdk({ sdkName: this.inputText });
       if (res && res.success) {
         this.sdkUpgreading = false;
 
@@ -968,24 +933,7 @@
       this.notInstalledList = unInstalledList;
       this.toUpdateArr1 = this.installedList.slice(0, 10);
       this.hasNewVersionSdk = hasNewVersionList;
-    },
-    unloadSDKinWin() {
-      let appToUnload;
-      let sdkToUnload;
-      if (this.productDetail.productTypeName == "搴旂敤") {
-        appToUnload = this.installedApps.find((item) => {
-          return item.id == this.productDetail.productBaseId;
-        });
-        this.unloadApp(appToUnload);
-      } else {
-        sdkToUnload = this.installedList.find((item) => {
-          return item.id == this.productDetail.productBaseId;
-        });
-        this.unloadSdk(sdkToUnload);
-      }
-    },
-    unLoadSdkOrApp(item) {
-      this.activeTab == "sdk" ? this.unloadSdk(item) : this.unloadApp(item);
+      this.pickTab();
     },
     unloadSdk(sdk) {
       let _this = this;
@@ -1008,7 +956,6 @@
         })
         .catch((e) => {});
     },
-
     donwloadSDK(item) {
       let timer = null;
       item.upgradeLoading = true;
@@ -1021,6 +968,7 @@
           clearInterval(timer);
           item.upgradeLoading = false;
           this.downloadItem = "";
+
           window.parent.postMessage({ msg: "AppUpdate" }, "*");
         })
         .catch((err) => {
@@ -1032,20 +980,19 @@
       this.sdkUpgreading = true;
     },
     autoRefreshAppAndSdkState() {
-      // 鍏抽棴鍚庨��鍑�
+      this.getAllApps();
+      this.getAllSdk();
       if (!this.autoRefresh) {
         return;
       }
-      if (this.appUpgreading) {
-        this.getAllApps();
-      }
-      if (this.sdkUpgreading) {
-        this.getAllSdk();
-      }
-      let _this = this;
       setTimeout(() => {
-        _this.autoRefreshAppAndSdkState();
-      }, 500);
+        if (this.appUpgreading) {
+          this.getAllApps();
+        }
+        if (this.sdkUpgreading) {
+          this.getAllSdk();
+        }
+      }, 1000);
     },
   },
 };
@@ -1053,9 +1000,11 @@
 <style lang="scss">
 .s-task-manage {
   width: 100% !important;
+  min-width: 754px !important;
   height: 100%;
   box-sizing: border-box;
   text-align: left;
+  background-color: #fff;
 }
 
 .task-manage {
@@ -1408,6 +1357,10 @@
             height: 76px;
             border-radius: 4px;
 
+            /*  &.disabled {
+              cursor: default;
+            } */
+
             .icon-img {
               width: 58px;
               height: 58px;
@@ -1451,9 +1404,9 @@
               text-align: center;
               position: relative;
               .check-btn {
-                background-color: #f2f2f7 !important;
-                border-color: #f2f2f7 !important;
-                color: #4f4f4f;
+                background-color: #ffffff !important;
+                border-color: #bdbdbd !important;
+                color: #333333;
               }
               .update-btn {
                 border-color: #23d7ee !important;
@@ -1491,6 +1444,7 @@
                 text-align: end;
                 position: absolute;
                 right: 0;
+                width: 120px;
                 margin-top: 2px;
               }
               .rocket-icon {
@@ -1505,7 +1459,7 @@
             }
           }
           .front-page-item:hover {
-            // background-color: #f2f2f7;
+            background-color: #f2f2f7;
           }
           .item-dimmed {
             color: gray;
@@ -1623,5 +1577,14 @@
     }
   }
 }
+
+@media screen and (max-width: 800px) {
+  .quick-path .left-items .quick-item:last-child {
+    display: none !important;
+  }
+  .quick-path .left-items .quick-item:nth-child(2) {
+    border: none !important;
+  }
+}
 </style>
 

--
Gitblit v1.8.0