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