diff --git a/nezha-fronted/src/components/chart/chart.vue b/nezha-fronted/src/components/chart/chart.vue index 54ba83ac2..5dbff1981 100644 --- a/nezha-fronted/src/components/chart/chart.vue +++ b/nezha-fronted/src/components/chart/chart.vue @@ -263,6 +263,16 @@ export default { chartChildrenData: false } }, + watch: { + chartData: { + deep: true, + handler (n) { + if (n) { + this.chartChildrenData = false + } + } + } + }, computed: { isNoData () { return lodash.isEmpty(this.chartData) && ['text', 'url', 'clock'].indexOf(this.chartInfo.type) === -1 diff --git a/nezha-fronted/src/components/chart/chart/chartAutotopology.vue b/nezha-fronted/src/components/chart/chart/chartAutotopology.vue index da7f20fe5..fb47b5912 100644 --- a/nezha-fronted/src/components/chart/chart/chartAutotopology.vue +++ b/nezha-fronted/src/components/chart/chart/chartAutotopology.vue @@ -78,9 +78,9 @@ export default { bus.$emit('clear-asset-filter') // 清除leftMenu左侧菜单过滤条件 // if(this.$store.getters.getIdcArr.length===0){return}//如果不存在idc 则不跳转 } - if (data === 'project' || data === 'module' || data === 'endpoint') { - data = 'monitor/' + data - } + // if (data === 'project' || data === 'module' || data === 'endpoint') { + // data = data + // } if (data === 'alertList') { data = 'alertMessage' } diff --git a/nezha-fronted/src/components/chart/chart/chartGauge.vue b/nezha-fronted/src/components/chart/chart/chartGauge.vue index fdbd166c5..9161fc973 100644 --- a/nezha-fronted/src/components/chart/chart/chartGauge.vue +++ b/nezha-fronted/src/components/chart/chart/chartGauge.vue @@ -63,6 +63,7 @@ export default { this.gaugeData = [] this.isInit = false const decimals = this.chartInfo.param.decimals || 2 + this.isNoData = true return new Promise(resolve => { let colorIndex = 0 originalDatas.forEach((originalData, expressionIndex) => { diff --git a/nezha-fronted/src/components/chart/chart/chartHexagonD3.vue b/nezha-fronted/src/components/chart/chart/chartHexagonD3.vue index 56d1f59bc..d18376402 100644 --- a/nezha-fronted/src/components/chart/chart/chartHexagonD3.vue +++ b/nezha-fronted/src/components/chart/chart/chartHexagonD3.vue @@ -68,6 +68,7 @@ export default { this.HexagonData = [] this.isInit = false const decimals = this.chartInfo.param.decimals || 2 + this.isNoData = true return new Promise(resolve => { let colorIndex = 0 originalDatas.forEach((originalData, expressionIndex) => { diff --git a/nezha-fronted/src/components/chart/chart/chartPie.vue b/nezha-fronted/src/components/chart/chart/chartPie.vue index 41be7960e..a47e6fe8a 100644 --- a/nezha-fronted/src/components/chart/chart/chartPie.vue +++ b/nezha-fronted/src/components/chart/chart/chartPie.vue @@ -102,6 +102,7 @@ export default { const decimals = this.chartInfo.param.decimals || 2 const s = lodash.cloneDeep(seriesTemplate) s.data = [] + this.isNoData = true originalDatas.forEach((originalData, expressionIndex) => { originalData.forEach((data, dataIndex) => { this.isNoData = false diff --git a/nezha-fronted/src/components/chart/chart/chartStat.vue b/nezha-fronted/src/components/chart/chart/chartStat.vue index b13e15751..bd476b63e 100644 --- a/nezha-fronted/src/components/chart/chart/chartStat.vue +++ b/nezha-fronted/src/components/chart/chart/chartStat.vue @@ -93,6 +93,7 @@ export default { const decimals = this.chartInfo.param.decimals || 2 return new Promise(resolve => { let colorIndex = 0 + this.isNoData = true originalDatas.forEach((originalData, expressionIndex) => { originalData.forEach((data, dataIndex) => { this.isNoData = false diff --git a/nezha-fronted/src/components/chart/chart/chartTimeSeries.vue b/nezha-fronted/src/components/chart/chart/chartTimeSeries.vue index 6ef20cc74..c457e9b0b 100644 --- a/nezha-fronted/src/components/chart/chart/chartTimeSeries.vue +++ b/nezha-fronted/src/components/chart/chart/chartTimeSeries.vue @@ -28,6 +28,7 @@ import { randomcolor } from '@/components/common/js/radomcolor/randomcolor' import { chartLegendPlacement } from '@/components/common/js/constants' import { getChart, setChart } from '@/components/common/js/common' import { initColor } from '@/components/chart/chart/tools' +import lodash from 'lodash' export default { name: 'chart-time-series', // x轴是时间的图,包括折线、柱状、堆叠、散点 @@ -69,9 +70,14 @@ export default { } }, methods: { - initChart (chartOption = this.chartOption) { + initChart (chartOptions = this.chartOption) { + const chartOption = lodash.cloneDeep(chartOptions) this.legends = [] this.series = chartOption.series = this.handleTimeSeries(this.chartInfo, chartOption.series[0], this.chartData) // 生成series和legends + if (!this.series.length) { + this.isNoData = true + this.$emit('chartIsNoData', this.isNoData) + } if (this.isNoData) { return } @@ -190,7 +196,7 @@ export default { let flag = true params.forEach((item, i) => { const seriesName = item.seriesName.split('-')[0] - if (i === 0) { + if (i === 0 && item.seriesName.indexOf('Previous') === -1) { const value = bus.computeTimezone(item.data[0] * 1000) const tData = new Date(value) str += '