From 2db319325990d81bf30142abf61a18c8ed159a2a Mon Sep 17 00:00:00 2001 From: marvzhang Date: Sat, 7 Mar 2020 11:54:26 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=AE=89=E8=A3=85=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E4=B8=8D=E6=9B=B4=E6=96=B0=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Node/NodeInstallationMatrix.vue | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/frontend/src/components/Node/NodeInstallationMatrix.vue b/frontend/src/components/Node/NodeInstallationMatrix.vue index 0fe959d3..0d3f1080 100644 --- a/frontend/src/components/Node/NodeInstallationMatrix.vue +++ b/frontend/src/components/Node/NodeInstallationMatrix.vue @@ -66,7 +66,7 @@ {{$t('Not Installed')}} - + {{$t('Install')}} @@ -117,7 +117,7 @@ export default { const res = await this.$request.get(`/nodes/${n._id}/langs`) res.data.data.forEach(l => { const key = n._id + '|' + l.executable_name - this.dataDict[key] = l + this.$set(this.dataDict, key, l) }) })) }, @@ -130,10 +130,21 @@ export default { if (!lang || !lang.install_status) return 'na' return lang.install_status }, - async onInstall (nodeId, langName) { + getLangFromLabel (label) { + for (let i = 0; i < this.langs.length; i++) { + const lang = this.langs[i] + if (lang.label === label) { + return lang + } + } + }, + async onInstall (nodeId, langLabel) { + const lang = this.getLangFromLabel(langLabel) this.$request.post(`/nodes/${nodeId}/langs/install`, { - lang: langName + lang: lang.name }) + const key = nodeId + '|' + lang.name + this.$set(this.dataDict[key], 'install_status', 'installing') setTimeout(() => { this.getData() }, 1000) @@ -152,7 +163,7 @@ export default { this.handle = setInterval(() => { this.getData() - }, 15000) + }, 10000) }, destroyed () { clearInterval(this.handle)