From 663ffd8f7449fd33865327467531ef3f70480479 Mon Sep 17 00:00:00 2001 From: zyh Date: Wed, 15 Feb 2023 17:46:15 +0800 Subject: [PATCH] =?UTF-8?q?NEZ-2563=20fix=EF=BC=9Adashboard=20=E5=9B=BE?= =?UTF-8?q?=E8=A1=A8=E4=BD=8D=E7=BD=AE=E8=B0=83=E6=95=B4=E4=B8=8D=E8=83=BD?= =?UTF-8?q?=E6=AD=A3=E7=A1=AE=E4=BF=9D=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/chart/chartList.vue | 18 ++++++++++-------- .../common/bottomBox/tabs/panelTabNew.vue | 4 +++- .../src/components/page/dashboard/panel.vue | 4 +++- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/nezha-fronted/src/components/chart/chartList.vue b/nezha-fronted/src/components/chart/chartList.vue index 2fc400d61..56f013136 100644 --- a/nezha-fronted/src/components/chart/chartList.vue +++ b/nezha-fronted/src/components/chart/chartList.vue @@ -346,6 +346,9 @@ export default { } }, onScroll (scrollTop = 0, groupTop = 0) { + if (!this.variablesInit) { // 变量未加载完成 不请求数据 + return + } const self = this if (this.scrollTopTimer) { clearTimeout(this.scrollTopTimer) @@ -557,7 +560,6 @@ export default { if (!this.panelLock) { return false } - this.copyDataList = JSON.parse(JSON.stringify(this.tempList)) for (let i = 0; i < this.copyDataList.length; i++) { const item = this.copyDataList[i] if ((this.$loadsh.get(this.showHidden[item.id], 'visibility') && this.$loadsh.get(this.showHidden[item.id], 'visibility') === 'hidden') && item.id !== -2) { @@ -565,11 +567,11 @@ export default { i-- } } - // this.tempList.forEach(item => { - // if ((!this.$loadsh.get(this.showHidden[item.id], 'visibility') || this.$loadsh.get(this.showHidden[item.id], 'visibility') === 'show') && item.id !== -2 && !this.copyDataList.find(chart => chart.id === item.id)) { - // this.copyDataList.push(item) - // } - // }) + this.tempList.forEach(item => { + if ((!this.$loadsh.get(this.showHidden[item.id], 'visibility') || this.$loadsh.get(this.showHidden[item.id], 'visibility') === 'show') && item.id !== -2 && !this.copyDataList.find(chart => chart.id === item.id)) { + this.copyDataList.push(item) + } + }) this.onScroll(this.scrollTop) }, @@ -716,6 +718,7 @@ export default { if (!flag) { this.tempList.forEach(item => { if (!this.copyDataList.find(chart => chart.id === item.id)) { + item.y -= 0.03 this.copyDataList.push(item) } }) @@ -746,7 +749,7 @@ export default { const position = getLayoutPosition(n) this.$store.commit('setChartLastPosition', position) } - let tempList = n.map(item => { + const tempList = n.map(item => { let param = '' let height = '' if (this.isPhone && item.type !== 'group') { @@ -809,7 +812,6 @@ export default { this.compareVariables() this.repeatVariableFn() - tempList = null setTimeout(() => { this.gridLayoutShow = true if (!this.isGroup) { diff --git a/nezha-fronted/src/components/common/bottomBox/tabs/panelTabNew.vue b/nezha-fronted/src/components/common/bottomBox/tabs/panelTabNew.vue index 227c7ec10..8844eb012 100644 --- a/nezha-fronted/src/components/common/bottomBox/tabs/panelTabNew.vue +++ b/nezha-fronted/src/components/common/bottomBox/tabs/panelTabNew.vue @@ -860,7 +860,9 @@ export default { }, getPanelData () { this.variablesInit = true - this.$refs.chartList.onScroll(this.scrollbarWrap.scrollTop) + this.$nextTick(() => { + this.$refs.chartList.onScroll(this.scrollbarWrap.scrollTop) + }) } }, mounted () { diff --git a/nezha-fronted/src/components/page/dashboard/panel.vue b/nezha-fronted/src/components/page/dashboard/panel.vue index 36fd40f74..0f068db51 100644 --- a/nezha-fronted/src/components/page/dashboard/panel.vue +++ b/nezha-fronted/src/components/page/dashboard/panel.vue @@ -1118,7 +1118,9 @@ export default { }, getPanelData () { this.variablesInit = true - this.$refs.chartList.onScroll(this.scrollbarWrap.scrollTop) + this.$nextTick(() => { + this.$refs.chartList.onScroll(this.scrollbarWrap.scrollTop) + }) } }, created () {