From ece5b7b7d24f85a3253cf722291e69ca7a406192 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期二, 16 八月 2022 13:05:18 +0800
Subject: [PATCH] 完善大屏
---
src/views/hashrate/AlgManage/index.vue | 287 +++++++++++++++++++++++----------------------------------
1 files changed, 116 insertions(+), 171 deletions(-)
diff --git a/src/views/hashrate/AlgManage/index.vue b/src/views/hashrate/AlgManage/index.vue
index 784f699..5562c88 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;
@@ -621,7 +566,7 @@
.mask {
position: absolute;
- top: 0;
+ top: 62px;
left: 0;
right: 0;
bottom: 0;
--
Gitblit v1.8.0