From 45faaf27722588e92050e2e3eace9b3704377048 Mon Sep 17 00:00:00 2001
From: ZZJ <zzjdsg2300@163.com>
Date: 星期六, 02 四月 2022 18:44:30 +0800
Subject: [PATCH] 首页接口

---
 src/views/hashrate/AlgManage/index.vue |  242 +++++++++++++++--------------------------------
 1 files changed, 78 insertions(+), 164 deletions(-)

diff --git a/src/views/hashrate/AlgManage/index.vue b/src/views/hashrate/AlgManage/index.vue
index 784f699..c09b0d0 100644
--- a/src/views/hashrate/AlgManage/index.vue
+++ b/src/views/hashrate/AlgManage/index.vue
@@ -6,7 +6,7 @@
 
       <!-- 鏀惰垂绠楁硶鍒楄〃 -->
       <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>
@@ -15,7 +15,7 @@
       </div>
 
       <!-- 鍏嶈垂绠楁硶鍒楄〃 -->
-      <div class="label">
+      <div class="label freeLabel">
         鍏嶈垂绠楁硶 <span class="des">浠庢澶勬嫋鎷界畻娉曞浘鏍囧畨瑁呭埌璁惧</span>
       </div>
       <div class="freeList">
@@ -40,30 +40,35 @@
     <!-- 鍙充晶绠楁硶绠$悊 -->
     <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.sdkList"
             :key="index"
             :alg="alg"
+            :devId="item.devId"
+            @unInstall="item.sdkList.splice(index, 1)"
           ></Card>
           <!-- 鎷栨嫿瀛樻斁box -->
           <div
             class="dropBox"
             v-if="dragAlg"
             @dragover="dragover($event)"
-            @drop="drop(item.algs)"
+            @drop="drop(item.sdkList, item.devId)"
           >
             璇锋嫋鍔ㄥ埌姝ゅ
           </div>
           <!-- 绌虹畻娉曟儏鍐� -->
-          <div class="empty" v-if="item.algs.length === 0 && !dragAlg">
+          <div
+            class="empty"
+            v-if="item.sdkList && item.sdkList.length === 0 && !dragAlg"
+          >
             <img src="/images/hashrate/绠楁硶绠$悊绌洪〉闈�.png" alt="" />
             <div class="des">
               鏆傛湭瀹夎绠楁硶锛屼粠宸︿晶绠楁硶涓績鎷栧埌绠楁硶鍒版澶勶紝鍗冲彲瀹夎
@@ -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,16 +152,18 @@
     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) => {
+          if (item.productName == "瓒翠紡") {
+            console.log(item);
+          }
+
           item.logoUrl = "/httpImage/" + item.logoUrl;
           if (item.priceBase === 0) {
             this.freeAlg.push(item);
@@ -310,6 +177,9 @@
     //鑾峰彇鍙充晶璁惧鍒楄〃
     async getEquipment() {
       const res = await findAllSdk();
+      if (res && res.success) {
+        this.equipmentArr = res.data;
+      }
     },
     //鎷栨嫿寮�濮�
     dragStart(alg) {
@@ -320,14 +190,24 @@
     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,
       });
+
+      const res = await downloadOrUpgrade({
+        nodeId: devId,
+        path: this.dragAlg.productBaseId,
+        userId: JSON.parse(sessionStorage.getItem("userInfo")).id,
+      });
+      if (res && res.success) {
+        this.$notify({
+          type: "success",
+          message: "鎿嶄綔鎴愬姛,璇风◢鍚�",
+        });
+      }
+
       this.dragAlg = null;
     },
     async closeSettingBox() {
@@ -345,7 +225,35 @@
         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.sdkList.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: "鎿嶄綔鎴愬姛",
+        });
       }
     },
   },
@@ -401,8 +309,14 @@
       }
     }
 
+    .freeLabel {
+      margin-top: 20px;
+    }
+
     .payList,
     .freeList {
+      max-height: 320px;
+      overflow: auto;
       display: flex;
       flex-wrap: wrap;
 
@@ -410,7 +324,7 @@
         box-sizing: border-box;
         margin-right: 10px;
         margin-bottom: 16px;
-        width: 95px;
+        width: 90px;
         height: 144px;
         border: 1px solid #e9ebee;
         border-radius: 5px;
@@ -621,7 +535,7 @@
 
   .mask {
     position: absolute;
-    top: 0;
+    top: 62px;
     left: 0;
     right: 0;
     bottom: 0;

--
Gitblit v1.8.0