From c10b57c7091b42e0cf10bc799fd7f30ff0fb8576 Mon Sep 17 00:00:00 2001 From: chenjinsong <523037378@qq.com> Date: Wed, 24 Aug 2022 12:28:23 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20npm=20event=20=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E5=88=B7=E6=96=B0=E5=92=8C=E6=94=B9=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../charts2/charts/npm/NpmEventsByType.vue | 79 +++++++++++++------ .../charts2/charts/npm/NpmRecentEvents.vue | 8 ++ 2 files changed, 61 insertions(+), 26 deletions(-) diff --git a/src/views/charts2/charts/npm/NpmEventsByType.vue b/src/views/charts2/charts/npm/NpmEventsByType.vue index 336a1278..76d298aa 100644 --- a/src/views/charts2/charts/npm/NpmEventsByType.vue +++ b/src/views/charts2/charts/npm/NpmEventsByType.vue @@ -58,38 +58,65 @@ export default { isNoData: false } }, + watch: { + timeFilter: { + deep: true, + handler (n) { + this.eventsByTypeData() + } + } + }, methods: { init () { const _this = this const dom = document.getElementById('chart') - this.myChart = echarts.init(dom) - this.chartOption = pieChartOption3 - this.chartOption.series[0].data = this.chartData - this.chartOption.series[0].label = { - show: true, - position: 'center', - fontFamily: 'NotoSansHans-Medium', - fontSize: 20, - fontWeight: 500, - formatter: function () { - let num = 0 - _this.chartData.forEach(t => { - num += t.count - }) - return num + if (!this.myChart) { + this.myChart = echarts.init(dom) + this.chartOption = pieChartOption3 + this.chartOption.series[0].data = this.chartData + this.chartOption.series[0].label = { + show: true, + position: 'center', + fontFamily: 'NotoSansHans-Medium', + fontSize: 20, + fontWeight: 500, + formatter: function () { + let num = 0 + _this.chartData.forEach(t => { + num += t.count + }) + return num + } } + this.myChart.on('mouseover', function (params) { + _this.chartOption.series[0].label.show = false + _this.myChart.setOption(_this.chartOption) + }) + this.myChart.on('mouseout', function (params) { + _this.chartOption.series[0].label.show = true + _this.myChart.setOption(_this.chartOption) + }) + this.myChart.setOption(this.chartOption) + } else { + this.chartOption.series[0].data = this.chartData + this.chartOption.series[0].label = { + show: true, + position: 'center', + fontFamily: 'NotoSansHans-Medium', + fontSize: 20, + fontWeight: 500, + formatter: function () { + let num = 0 + _this.chartData.forEach(t => { + num += t.count + }) + return num + } + } + this.myChart.setOption(this.chartOption) } - this.myChart.on('mouseover', function (params) { - _this.chartOption.series[0].label.show = false - _this.myChart.setOption(_this.chartOption) - }) - this.myChart.on('mouseout', function (params) { - _this.chartOption.series[0].label.show = true - _this.myChart.setOption(_this.chartOption) - }) - this.myChart.setOption(this.chartOption) }, - eventsVyTypeData () { + eventsByTypeData () { const params = { startTime: getSecond(this.timeFilter.startTime), endTime: getSecond(this.timeFilter.endTime), @@ -136,7 +163,7 @@ export default { }, mounted () { this.timer = setTimeout(() => { - this.eventsVyTypeData() + this.eventsByTypeData() }, 100) window.addEventListener('resize', this.resize) }, diff --git a/src/views/charts2/charts/npm/NpmRecentEvents.vue b/src/views/charts2/charts/npm/NpmRecentEvents.vue index 2d3232b5..0015e9ef 100644 --- a/src/views/charts2/charts/npm/NpmRecentEvents.vue +++ b/src/views/charts2/charts/npm/NpmRecentEvents.vue @@ -62,6 +62,14 @@ export default { isNoData: false } }, + watch: { + timeFilter: { + deep: true, + handler (n) { + this.recentEventsListData() + } + } + }, methods: { recentEventsListData () { const params = {