From 0175cda6150656bc74b34c6f6c71edd1e1fc653c Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@iotlink.com> Date: 星期四, 04 二月 2021 18:22:54 +0800 Subject: [PATCH] treee, 修复tab切换时树的选中状态.添加区域 --- src/pages/ai/index/App.vue | 207 +++++++++++++++++++++++++++------------------------ 1 files changed, 108 insertions(+), 99 deletions(-) diff --git a/src/pages/ai/index/App.vue b/src/pages/ai/index/App.vue index 960ee9c..faed1b4 100644 --- a/src/pages/ai/index/App.vue +++ b/src/pages/ai/index/App.vue @@ -19,7 +19,7 @@ @tab-click="handleTabClick" style="height: calc(100% - 20px);" > - <el-tab-pane label="宸插畨瑁�" name="myAlgorithm"> + <el-tab-pane label="宸叉縺娲�" name="myAlgorithm"> <div class="width-new-line task-list" v-show="activeName === 'myAlgorithm'"> <p class="src-title">绠楁硶杞欢</p> <div class="flex-list"> @@ -86,13 +86,12 @@ <div v-if="item.remoteVersion">鏈�鏂扮増鏈�:{{item.remoteVersion}}</div> </div> <div class="mask-btn"> - <!-- <el-button - v-if="!item.isDefault" - @click="unLoad(item)" + <el-button + @click="unLoadSdk(item)" type="primary" size="small" class="bot-btn" - >鍗歌浇</el-button>--> + >鍗歌浇</el-button> <el-button v-if="item.isUpgrade" @click="donwload(item)" @@ -176,7 +175,7 @@ element-loading-background="rgba(0,0,0,.8)" > <i class="iconfont iconupdate" v-if="item.isUpgrade"></i> - <div class="mask" v-if="!item.isDefault || item.isUpgrade"> + <div class="mask" > <div class="info-onmask"> <div>褰撳墠鐗堟湰:{{item.version}}</div> <div v-if="item.remoteVersion">鏈�鏂扮増鏈�:{{item.remoteVersion}}</div> @@ -233,6 +232,7 @@ > <div class="mask"> <el-button + size="small" type="primary" class="bot-btn" @click="downloadApp(item)" @@ -474,7 +474,7 @@ </template> <script> -import { findAllSdk, downloadSdk, installSdk, getInstallInfo } from "./api"; +import { findAllSdk, downloadSdk, installSdk, getInstallInfo, removeSdk} from "./api"; import { getApps, installApp, removeApp, getUnActivedSdk, actPageAlg, getUnActivedApp, actApp } from "@/api/app"; import FileUploader from "@/components/subComponents/FileUpload/index"; @@ -505,7 +505,7 @@ // }); // return arr; // }, - isAdmin () { + isAdmin() { if ( sessionStorage.getItem("userInfo") && sessionStorage.getItem("userInfo") !== "" @@ -517,7 +517,7 @@ return false; }, }, - data () { + data() { return { sdkList: [], installedList: [], @@ -557,8 +557,9 @@ storeApps: [], installFile: {}, freshTimer: null, - appUpgreading: false, - sdkUpgreading: false + appUpgreading: true, + sdkUpgreading: true, + autoRefresh: true, } }, directives: { @@ -568,20 +569,22 @@ } } }, - mounted () { + mounted() { // 鑾峰彇鎵�鏈夊簲鐢� - this.getAllSdk(); - this.getAllApps(); + this.autoRefreshAppAndSdkState(); this.getUnActivedList(); this.getUnActivedAppList(); }, + beforeDestroy() { + this.autoRefresh = false; + }, methods: { - isShow (authority) { + isShow(authority) { return this.isAdmin || this.buttonAuthority.indexOf("," + authority + ",") > -1 }, //绂荤嚎瀹夎 - offlineInstall () { + offlineInstall() { this.installDialogVisible = false; this.isInstall = true; //瀹夎 @@ -590,11 +593,10 @@ this.isInstall = false; this.$message({ type: 'success', - message: '瀹夎鎴愬姛,灏嗚烦杞嚦鎴戠殑绠楁硶涓煡鐪�' + message: '瀹夎鎴愬姛,灏嗚烦杞嚦"宸叉縺娲�"涓煡鐪�' }); setTimeout(() => { this.getAllSdk(); - this.getAllApps(); window.parent.postMessage({ msg: "AppUpdate" }, '*') @@ -611,7 +613,7 @@ }); }) }, - downloadApp (app, action) { + downloadApp(app, action) { if (action == 'upgrade') { app.upgradeLoading = true; } else { @@ -624,18 +626,18 @@ setTimeout(() => { if (action == 'upgrade') { app.upgradeLoading = false; - _this.$notify({ - type: 'success', - message: '鍗囩骇鎴愬姛' - }); + // _this.$notify({ + // type: 'success', + // message: '鍗囩骇鎴愬姛' + // }); } else { app.installLoading = false; - _this.$notify({ - type: 'success', - message: '瀹夎鎴愬姛' - }); + // _this.$notify({ + // type: 'success', + // message: '瀹夎鎴愬姛' + // }); } - _this.getAllApps(); + // _this.getAllApps(); window.parent.postMessage({ msg: "AppUpdate" }, '*') @@ -652,9 +654,8 @@ // 寮�鍚嚜鍔ㄥ埛鏂� this.appUpgreading = true; - this.startAutoFresh(); }, - async getAllApps () { + async getAllApps() { let iArry = [] let sArry = [] @@ -669,7 +670,6 @@ obj.upgradeLoading = true; this.appUpgreading = true; - this.startAutoFresh(); } item.installed ? iArry.push(obj) : sArry.push(obj) @@ -679,26 +679,47 @@ this.installedApps = iArry; this.storeApps = sArry; }, - //鍗歌浇搴旂敤 - unLoad (app) { - app.unloadLoading = true; + //鍗歌浇绠楁硶 + unLoadSdk(sdk){ let _this = this; - removeApp({ appId: app.id }).then(res => { - - if (res && res.success) { - //setTimeout(() => { - app.unloadLoading = false; - _this.getAllApps(); - window.parent.postMessage({ - msg: "AppUpdate" - }, '*') - //}, 3000); - } - }).catch(e => { - console.log(e); - app.unloadLoading = false; + this.$confirm('纭畾瑕佸嵏杞借绠楁硶鍚�?','鎻愮ず').then(()=>{ + sdk.unloadLoading = true; + removeSdk({ sdkId: sdk.id }).then(res => { + if (res && res.success) { + sdk.unloadLoading = false; + _this.getAllSdk(); + window.parent.postMessage({ + msg: "AppUpdate" + }, '*') + } + }).catch(e => { + console.log(e); + sdk.unloadLoading = false; + }) + }).catch( e => { + console.log(e) }) - + }, + //鍗歌浇搴旂敤 + unLoad(app) { + let _this = this; + this.$confirm('纭畾瑕佸嵏杞借搴旂敤鍚�?','鎻愮ず').then(()=>{ + app.unloadLoading = true; + removeApp({ appId: app.id }).then(res => { + if (res && res.success) { + app.unloadLoading = false; + _this.getAllApps(); + window.parent.postMessage({ + msg: "AppUpdate" + }, '*') + } + }).catch(e => { + console.log(e); + app.unloadLoading = false; + }) + }).catch( e => { + console.log(e) + }) }, // actSdk (id) { // this.actSdkId = id; @@ -707,7 +728,7 @@ // this.activeCode = ''; // this.activedSdkOrApp = this.newActInfo() // }, - actSdkOrApp (id, type = 'sdk') { + actSdkOrApp(id, type = 'sdk') { this.actType = type; this.actId = id; this.actDrawerShow = true; @@ -715,7 +736,7 @@ this.activeCode = ''; this.activedSdkOrApp = this.newActInfo() }, - newActInfo () { + newActInfo() { return { activateCode: '', productName: '', @@ -725,7 +746,7 @@ devIds: '' } }, - getUnActivedList () { + getUnActivedList() { getUnActivedSdk().then(res => { if (res.code == 200) { this.unActivedSDKList = res.data; @@ -733,14 +754,14 @@ }) }, - getUnActivedAppList () { + getUnActivedAppList() { getUnActivedApp().then(res => { if (res.code == 200) { this.unActivedAppList = res.data; } }); }, - actived () { + actived() { let _this = this; if (this.actType == 'sdk') { //婵�娲荤畻娉� @@ -778,12 +799,12 @@ }); } }, - getCodeDetail () { }, - checkMyAlgorith () { + getCodeDetail() { }, + checkMyAlgorith() { this.actDrawerShow = false; this.activeName = "myAlgorithm"; }, - onFileUpload (file) { + onFileUpload(file) { //this.patchUpdateStatus = `<span style="color:green">涓婁紶鎴愬姛, 鐐瑰嚮鍗囩骇鎸夐挳寮�濮嬪畨瑁�</span>`; this.patchFile = { ...file }; this.fileAdded = true; @@ -794,7 +815,6 @@ _this.installFile = file; if (res.success) { _this.installDialogVisible = true; - debugger if (res.data.apps.length > 0) { _this.installAppPackage = { appId: res.data.apps[0].appId, @@ -821,62 +841,48 @@ }, - onFileAdded (f) { + onFileAdded(f) { this.patchUpdateStatus = ""; }, - async getAllSdk () { + async getAllSdk() { let installedList = []; let unInstalledList = []; let res = await findAllSdk(); if (res && res.success) { + this.sdkUpgreading = false; res.data.forEach(item => { let obj = Object.assign({ unloadLoading: false, upgradeLoading: false }, item) if (obj.progressMsg !== "" && obj.progressMsg !== "宸插畨瑁�") { obj.upgradeLoading = true; - this.appUpgreading = true; - this.startAutoFresh(); + this.sdkUpgreading = true; } //绠楁硶杞欢 宸插畨瑁呭叾涓寘鍚緟鍗囩骇 鏈畨瑁� item.installed ? installedList.push(obj) : unInstalledList.push(obj) }); - - - // this.sdkList = res.data.map((i, index) => { - // if (i.progressMsg !== "" && i.progressMsg !== "宸插畨瑁�") { - // i.upgradeLoading = true; - - // this.appUpgreading = true; - // this.startAutoFresh(); - // } - // this.$set(i, "isEdit", false); - // return i; - // }); } this.installedList = installedList; this.notInstalledList = unInstalledList; }, - donwload (item) { - debugger + donwload(item) { item.upgradeLoading = true; //this.downloading = true; this.downloadItem = item.id; downloadSdk({ path: item.id }) .then(rsp => { - this.$notify({ - type: "success", - message: "绠楁硶宸插畨瑁�" - }); + // this.$notify({ + // type: "success", + // message: "绠楁硶宸插畨瑁�" + // }); item.upgradeLoading = false; //this.downloading = false; this.downloadItem = ""; - this.getAllSdk(); }) .catch(err => { this.$notify({ @@ -888,30 +894,33 @@ this.downloadItem = ""; }); // 寮�鍚嚜鍔ㄥ埛鏂� - this.appUpgreading = true; - this.startAutoFresh(); + this.sdkUpgreading = true; }, - inputBlur (item) { + inputBlur(item) { // console.log(item, '淇敼鍚嶇О') this.$set(item, "isEdit", false); }, - handleTabClick () { + handleTabClick() { }, - startAutoFresh () { - if (this.freshTimer) { - clearTimeout(this.freshTimer) + autoRefreshAppAndSdkState() { + // 鍏抽棴鍚庨��鍑� + if (!this.autoRefresh) { + return; } - if (!this.appUpgreading && !this.sdkUpgreading) { - this.freshTimer = -1 - return + if (this.appUpgreading) { + this.getAllApps(); } - this.getAllSdk() - this.getAllApps() + if (this.sdkUpgreading) { + this.getAllSdk(); + } - this.freshTimer = setTimeout(this.startAutoFresh, 5 * 1000) + let _this = this + setTimeout(() => { + _this.autoRefreshAppAndSdkState(); + }, 500) } } }; @@ -981,7 +990,7 @@ .src-title { //color: #bfbfbf; color: #bbcee8; - font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC'; + font-family: "PingFangSC-Semibold", "PingFang SC Semibold", "PingFang SC"; font-weight: 650; font-style: normal; height: 36px; @@ -1006,7 +1015,7 @@ position: absolute; top: 50%; left: 50%; - background: url('/images/algo/green.gif'); + background: url("/images/algo/green.gif"); overflow: hidden; transform: translate(-50%, -50%); .inner-bar { @@ -1168,16 +1177,16 @@ } } .drawer-content { - font-family: 'PingFangSC-Regular'; + font-family: "PingFangSC-Regular"; .el-step__title.is-process { border-color: #3d68e1 !important; color: #3d68e1 !important; - font-family: Tahoma, Helvetica, Arial, '\5B8B\4F53', sans-serif; + font-family: Tahoma, Helvetica, Arial, "\5B8B\4F53", sans-serif; } .el-step__head.is-process { border-color: #3d68e1 !important; color: #3d68e1 !important; - font-family: Tahoma, Helvetica, Arial, '\5B8B\4F53', sans-serif; + font-family: Tahoma, Helvetica, Arial, "\5B8B\4F53", sans-serif; } .el-input { width: 100%; -- Gitblit v1.8.0