From e37e45cfe1123928dba5d9c5a427b0ee497b7ad6 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期二, 23 八月 2022 03:21:32 +0800
Subject: [PATCH] 修复算法配置的字段内容

---
 src/views/hashrate/AlgManage/index.vue |  299 ++++++++++++++++++++++++-----------------------------------
 1 files changed, 122 insertions(+), 177 deletions(-)

diff --git a/src/views/hashrate/AlgManage/index.vue b/src/views/hashrate/AlgManage/index.vue
index 784f699..5b355d5 100644
--- a/src/views/hashrate/AlgManage/index.vue
+++ b/src/views/hashrate/AlgManage/index.vue
@@ -6,19 +6,19 @@
 
       <!-- 鏀惰垂绠楁硶鍒楄〃 -->
       <div class="label">鏀惰垂绠楁硶</div>
-      <div class="payList">
+      <div class="payList scroll">
         <div class="algCard" v-for="(item, index) in payAlg" :key="index">
           <img :src="item.logoUrl" alt="" draggable="false" />
           <div class="name">{{ item.productName }}</div>
-          <span class="button pay">璐拱</span>
+          <span class="button pay" @click="toDetail(item.id)">璐拱</span>
         </div>
       </div>
 
       <!-- 鍏嶈垂绠楁硶鍒楄〃 -->
-      <div class="label">
-        鍏嶈垂绠楁硶 <span class="des">浠庢澶勬嫋鎷界畻娉曞浘鏍囧畨瑁呭埌璁惧</span>
+      <div class="label freeLabel">
+        鏈湴绠楁硶 <span class="des">浠庢澶勬嫋鎷界畻娉曞浘鏍囧畨瑁呭埌璁惧</span>
       </div>
-      <div class="freeList">
+      <div class="freeList scroll">
         <div
           class="algCard"
           v-for="(item, index) in freeAlg"
@@ -32,7 +32,7 @@
             @dragstart="dragStart(item)"
           />
           <div class="name">{{ item.productName }}</div>
-          <span class="button detail">鏌ョ湅璇︽儏</span>
+          <span class="button detail" @click="toDetail(item.id)">鏌ョ湅璇︽儏</span>
         </div>
       </div>
     </div>
@@ -40,33 +40,38 @@
     <!-- 鍙充晶绠楁硶绠$悊 -->
     <div class="rightList">
       <div class="title">绠楁硶绠$悊</div>
-      <div class="button update">鍏ㄩ儴鏇存柊</div>
+      <div class="button update" @click="updateAll">鍏ㄩ儴鏇存柊</div>
 
       <!-- 璁惧 -->
       <div class="equipment" v-for="(item, index) in equipmentArr" :key="index">
-        <div class="name">{{ item.name }}</div>
+        <div class="name">{{ item.devName }}</div>
         <!-- 绠楁硶鍒楄〃 -->
         <div class="algList">
           <!-- 绠楁硶card -->
           <Card
-            v-for="(alg, index) in item.algs"
+            v-for="(alg, index) in item.sdkList1"
             :key="index"
             :alg="alg"
+            :devId="item.devId"
+            @unInstall="item.sdkList1.splice(index, 1)"
           ></Card>
           <!-- 鎷栨嫿瀛樻斁box -->
           <div
             class="dropBox"
             v-if="dragAlg"
             @dragover="dragover($event)"
-            @drop="drop(item.algs)"
+            @drop="drop(item.sdkList1, item.devId)"
           >
             璇锋嫋鍔ㄥ埌姝ゅ
           </div>
           <!-- 绌虹畻娉曟儏鍐� -->
-          <div class="empty" v-if="item.algs.length === 0 && !dragAlg">
-            <img src="/images/hashrate/绠楁硶绠$悊绌洪〉闈�.png" alt="" />
+          <div
+            class="empty"
+            v-if="item.sdkList1 && item.sdkList1.length === 0 && !dragAlg"
+          >
+            <img src="/images/hashrate/sdkEmpty.png" alt="" />
             <div class="des">
-              鏆傛湭瀹夎绠楁硶锛屼粠宸︿晶绠楁硶涓績鎷栧埌绠楁硶鍒版澶勶紝鍗冲彲瀹夎
+              鏆傛湭瀹夎绠楁硶锛屼粠宸︿晶绠楁硶涓績绠楁硶鍒版澶勶紝鍗冲彲瀹夎
             </div>
           </div>
         </div>
@@ -98,13 +103,14 @@
 
 <script>
 import Card from "./components/AlgCard";
+
 import {
   getAllCenterProduct,
   getSdkConfigInfo,
   saveSdkConfig,
   findAllSdk,
   downloadOrUpgrade,
-  unInstall,
+  unInstallAll,
 } from "@/api/algorithm";
 export default {
   components: {
@@ -121,148 +127,7 @@
       setting: false,
       payAlg: [],
       freeAlg: [],
-      equipmentArr: [
-        {
-          name: "璁惧1",
-          algs: [
-            {
-              img: "/images/index/1浠板崸妫�娴�.png",
-              name: "浠板崸妫�娴�",
-              version: "v1.0.0",
-              newVersion: "v1.0.0",
-              hasNewVersion: false,
-            },
-            {
-              img: "/images/index/11婊炵暀.png",
-              name: "婊炵暀",
-              version: "v1.0.0",
-              newVersion: "v1.0.0",
-              hasNewVersion: false,
-            },
-            {
-              img: "/images/index/15鎴村彛缃�.png",
-              name: "鎴村彛缃�",
-              version: "v1.0.0",
-              newVersion: "v1.0.2",
-              hasNewVersion: true,
-            },
-            {
-              img: "/images/index/1浠板崸妫�娴�.png",
-              name: "浠板崸妫�娴�",
-              version: "v1.0.0",
-              newVersion: "v1.0.0",
-              hasNewVersion: false,
-            },
-            {
-              img: "/images/index/11婊炵暀.png",
-              name: "婊炵暀",
-              version: "v1.0.0",
-              newVersion: "v1.0.0",
-              hasNewVersion: false,
-            },
-            {
-              img: "/images/index/15鎴村彛缃�.png",
-              name: "鎴村彛缃�",
-              version: "v1.0.0",
-              newVersion: "v1.0.2",
-              hasNewVersion: true,
-            },
-            {
-              img: "/images/index/1浠板崸妫�娴�.png",
-              name: "浠板崸妫�娴�",
-              version: "v1.0.0",
-              newVersion: "v1.0.0",
-              hasNewVersion: false,
-            },
-            {
-              img: "/images/index/11婊炵暀.png",
-              name: "婊炵暀",
-              version: "v1.0.0",
-              newVersion: "v1.0.0",
-              hasNewVersion: false,
-            },
-            {
-              img: "/images/index/15鎴村彛缃�.png",
-              name: "鎴村彛缃�",
-              version: "v1.0.0",
-              newVersion: "v1.0.2",
-              hasNewVersion: true,
-            },
-            {
-              img: "/images/index/1浠板崸妫�娴�.png",
-              name: "浠板崸妫�娴�",
-              version: "v1.0.0",
-              newVersion: "v1.0.0",
-              hasNewVersion: false,
-            },
-            {
-              img: "/images/index/11婊炵暀.png",
-              name: "婊炵暀",
-              version: "v1.0.0",
-              newVersion: "v1.0.0",
-              hasNewVersion: false,
-            },
-            {
-              img: "/images/index/15鎴村彛缃�.png",
-              name: "鎴村彛缃�",
-              version: "v1.0.0",
-              newVersion: "v1.0.2",
-              hasNewVersion: true,
-            },
-            {
-              img: "/images/index/1浠板崸妫�娴�.png",
-              name: "浠板崸妫�娴�",
-              version: "v1.0.0",
-              newVersion: "v1.0.0",
-              hasNewVersion: false,
-            },
-            {
-              img: "/images/index/11婊炵暀.png",
-              name: "婊炵暀",
-              version: "v1.0.0",
-              newVersion: "v1.0.0",
-              hasNewVersion: false,
-            },
-            {
-              img: "/images/index/15鎴村彛缃�.png",
-              name: "鎴村彛缃�",
-              version: "v1.0.0",
-              newVersion: "v1.0.2",
-              hasNewVersion: true,
-            },
-          ],
-        },
-        {
-          name: "璁惧2",
-          algs: [
-            {
-              img: "/images/index/1浠板崸妫�娴�.png",
-              name: "浠板崸妫�娴�",
-              version: "v1.0.0",
-              newVersion: "v1.0.0",
-              hasNewVersion: false,
-            },
-            {
-              img: "/images/index/11婊炵暀.png",
-              name: "婊炵暀",
-              version: "v1.0.0",
-              newVersion: "v1.0.0",
-              hasNewVersion: false,
-            },
-            {
-              img: "/images/index/15鎴村彛缃�.png",
-              name: "鎴村彛缃�",
-              version: "v1.0.0",
-              newVersion: "v1.0.2",
-              hasNewVersion: true,
-            },
-          ],
-        },
-        {
-          name: "璁惧3",
-          algs: [],
-        },
-      ],
+      equipmentArr: [],
       dragAlg: null,
     };
   },
@@ -275,7 +140,7 @@
         variable: "sdkManageConfig",
       });
       if (res && res.success) {
-        if (res.data.value === "") {
+        if (!res.data.value || res.data.value == "off") {
           this.showSettingBox = true;
         } else {
           this.setting = res.data.value === "on" ? true : false;
@@ -287,17 +152,25 @@
     async getProduct() {
       const res = await getAllCenterProduct({
         page: 1,
-        size: 100000,
+        size: 1000000,
         inputText: "",
-        archType: "",
-        gpuType: "",
+        productType: 3,
         publishStatus: 1,
-        productLabelId: "d0aabaee-8edd-492d-8f43-6b0e0bb6e2dd",
       });
 
       if (res && res.success) {
         res.data.list.forEach((item) => {
-          item.logoUrl = "/httpImage/" + item.logoUrl;
+          if (item.productName == "瓒翠紡") {
+            console.log(item);
+          }
+
+          if (
+            item.logoUrl.indexOf("http://apps.smartai.com/httpImage/") === -1 &&
+            item.logoUrl.indexOf("/files") != 0
+          ) {
+            item.logoUrl = "/httpImage/" + item.logoUrl;
+          }
+
           if (item.priceBase === 0) {
             this.freeAlg.push(item);
           } else {
@@ -310,6 +183,21 @@
     //鑾峰彇鍙充晶璁惧鍒楄〃
     async getEquipment() {
       const res = await findAllSdk();
+      if (res && res.success) {
+        this.equipmentArr = [];
+        res.data.forEach((item, index) => {
+          if (item.sdkList) {
+            let sdkList1 = [];
+            item.sdkList.forEach((sdk) => {
+              if (sdk.installed) {
+                sdkList1.push(sdk);
+              }
+            });
+            item.sdkList1 = sdkList1;
+            this.equipmentArr.push(item);
+          }
+        });
+      }
     },
     //鎷栨嫿寮�濮�
     dragStart(alg) {
@@ -320,14 +208,29 @@
     dragover(e) {
       e.preventDefault();
     },
-    drop(algArr) {
+    async drop(algArr, devId) {
       algArr.push({
-        img: this.dragAlg.img,
-        name: this.dragAlg.name,
-        version: "v1.0.0",
-        newVersion: "v1.0.0",
-        hasNewVersion: false,
+        iconBlob: this.dragAlg.logoUrl,
+        sdk_name: this.dragAlg.productName,
       });
+
+      try {
+        const res = await downloadOrUpgrade({
+          nodeId: devId,
+          path: this.dragAlg.productBaseId,
+          userId: JSON.parse(sessionStorage.getItem("userInfo")).id,
+          inputText: this.dragAlg.productName,
+        });
+        if (res && res.success) {
+          this.$notify({
+            type: "success",
+            message: "鎿嶄綔鎴愬姛,璇风◢鍚�",
+          });
+        }
+      } catch (err) {
+        algArr.pop();
+      }
+
       this.dragAlg = null;
     },
     async closeSettingBox() {
@@ -345,8 +248,44 @@
         this.$notify.success({
           message: "閰嶇疆鎴愬姛",
         });
-        this.showSettingBox = false;
+        if (this.setting) {
+          this.showSettingBox = false;
+        }
       }
+    },
+    async updateAll() {
+      let devArr = [];
+      this.equipmentArr.forEach((dev) => {
+        let devObj = {};
+        let sdkIds = [];
+        devObj.devId = dev.devId;
+        dev.sdkList1.forEach((sdk) => {
+          if (sdk.isUpgrade) {
+            sdkIds.push(sdk.id);
+          }
+        });
+        devObj.sdkIds = sdkIds;
+        devArr.push(devObj);
+      });
+
+      const res = await unInstallAll({
+        userId: JSON.parse(sessionStorage.getItem("userInfo")).id,
+        devSdkIds: devArr,
+      });
+      if (res && res.success) {
+        this.$notify({
+          type: "success",
+          message: res.msg,
+        });
+      }
+    },
+    toDetail(id) {
+      this.$router.push({
+        path: "/productDetail",
+        query: {
+          id: id,
+        },
+      });
     },
   },
 };
@@ -401,8 +340,14 @@
       }
     }
 
+    .freeLabel {
+      margin-top: 20px;
+    }
+
     .payList,
     .freeList {
+      max-height: 320px;
+      overflow: auto;
       display: flex;
       flex-wrap: wrap;
 
@@ -410,7 +355,7 @@
         box-sizing: border-box;
         margin-right: 10px;
         margin-bottom: 16px;
-        width: 95px;
+        width: 90px;
         height: 144px;
         border: 1px solid #e9ebee;
         border-radius: 5px;
@@ -477,15 +422,15 @@
 
     .update {
       position: absolute;
-      top: 20px;
-      right: 20px;
-      width: 140px;
-      height: 40px;
+      top: 6px;
+      right: 165px;
+      width: 112px;
+      height: 32px;
       background: #0065ff;
       color: #fff;
-      font-size: 14px;
+      /* font-size: 15px; */
       font-weight: 700;
-      line-height: 40px;
+      line-height: 33px;
       text-align: center;
     }
 
@@ -621,7 +566,7 @@
 
   .mask {
     position: absolute;
-    top: 0;
+    top: 62px;
     left: 0;
     right: 0;
     bottom: 0;

--
Gitblit v1.8.0