diff --git a/src/components/charts/ChartSingleValue.vue b/src/components/charts/ChartSingleValue.vue
index 65561fdf..f32ad2ee 100644
--- a/src/components/charts/ChartSingleValue.vue
+++ b/src/components/charts/ChartSingleValue.vue
@@ -11,6 +11,8 @@
+
diff --git a/src/views/charts/Chart.vue b/src/views/charts/Chart.vue
index 7cb78f08..6a0698af 100644
--- a/src/views/charts/Chart.vue
+++ b/src/views/charts/Chart.vue
@@ -20,7 +20,7 @@
:ref="`chart-${chart.id}`"
>
-
+
@@ -166,6 +166,7 @@ import {
isEchartsWithStatistics,
isMapLine,
isMapBlock,
+ isSingleValueWithEcharts,
isTabs,
getChartColor
} from '@/components/charts/chart-options'
@@ -185,7 +186,8 @@ export default {
name: 'Chart',
props: {
chart: Object, // 图表对象,包括id、name、type等数据
- timeFilter: Object
+ timeFilter: Object,
+ entity: Object
},
components: {
EchartsFrame,
@@ -221,44 +223,54 @@ export default {
},
methods: {
initChart () {
- const chartParams = this.chartInfo.params
- if (this.isMap) {
- const { chart, polygonSeries } = this.initMap(`chart${this.chartInfo.id}`)
- !this.myChart && (this.myChart = chart)
- if (chartParams) {
- this.loadMap(polygonSeries)
- }
- } else if (this.isEcharts) {
- const dom = document.getElementById(`chart${this.chartInfo.id}`)
- !this.myChart && (this.myChart = echarts.init(dom))
- this.chartOption = this.$_.cloneDeep(getOption(this.chart.type))
- if (chartParams) {
- if (this.isEchartsWithTable) {
- this.initEchartsWithPieTable(chartParams)
- } else if (this.isEchartsWithStatistics) {
- this.initEchartsWithStatistics(chartParams)
- } else {
- this.initECharts(chartParams)
+ try {
+ const chartParams = this.chartInfo.params
+ if (this.isMap) {
+ const { chart, polygonSeries } = this.initMap(`chart${this.chartInfo.id}`)
+ !this.myChart && (this.myChart = chart)
+ if (chartParams) {
+ this.loadMap(polygonSeries)
+ }
+ } else if (this.isEcharts) {
+ const dom = document.getElementById(`chart${this.chartInfo.id}`)
+ !this.myChart && (this.myChart = echarts.init(dom))
+ this.chartOption = this.$_.cloneDeep(getOption(this.chart.type))
+ if (chartParams) {
+ if (this.isEchartsWithTable) {
+ this.initEchartsWithPieTable(chartParams)
+ } else if (this.isEchartsWithStatistics) {
+ this.initEchartsWithStatistics(chartParams)
+ } else {
+ this.initECharts(chartParams)
+ }
+ }
+ } else if (this.isTable) {
+ if (chartParams) {
+ this.initChartTable(chartParams)
+ }
+ } else if (this.isSingleValue) {
+ if (chartParams) {
+ this.singleValue.icon = chartParams.icon
+ const queryParams = { startTime: parseInt(this.timeFilter.startTime / 1000), endTime: parseInt(this.timeFilter.endTime / 1000), ...this.entity }
+ get(replaceUrlPlaceholder(chartParams.url, queryParams)).then(response => {
+ if (response.code === 200) {
+ this.singleValue.value = response.data.result
+ }
+ })
+ if (this.isSingleValueWithEcharts) { // 带曲线的单值图
+ get(replaceUrlPlaceholder(chartParams.urlLine, queryParams)).then(response => {
+ if (response.code === 200) {
+ }
+ })
+ }
+ }
+ } else if (this.isTabs) {
+ if (!this.$_.isEmpty(this.chartInfo.children)) {
+ this.activeTab = `${this.chartInfo.children[0].id}`
}
}
- } else if (this.isTable) {
- if (chartParams) {
- this.initChartTable(chartParams)
- }
- } else if (this.isSingleValue) {
- if (chartParams) {
- this.singleValue.icon = chartParams.icon
- const queryParams = { startTime: parseInt(this.timeFilter.startTime / 1000), endTime: parseInt(this.timeFilter.endTime / 1000) }
- get(replaceUrlPlaceholder(chartParams.url, queryParams)).then(response => {
- if (response.code === 200) {
- this.singleValue.value = response.data.result
- }
- })
- }
- } else if (this.isTabs) {
- if (!this.$_.isEmpty(this.chartInfo.children)) {
- this.activeTab = `${this.chartInfo.children[0].id}`
- }
+ } catch (e) {
+ console.error(e)
}
},
reloadChart () {
@@ -652,6 +664,7 @@ export default {
isEchartsWithTable: isEchartsWithTable(props.chart.type),
isEchartsWithStatistics: isEchartsWithStatistics(props.chart.type),
isSingleValue: isSingleValue(props.chart.type),
+ isSingleValueWithEcharts: isSingleValueWithEcharts(props.chart.type),
isTable: isTable(props.chart.type),
isMap: isMap(props.chart.type),
isTitle: isTitle(props.chart.type),
diff --git a/src/views/charts/Panel.vue b/src/views/charts/Panel.vue
index df206b9b..d9f27cfc 100644
--- a/src/views/charts/Panel.vue
+++ b/src/views/charts/Panel.vue
@@ -5,7 +5,7 @@
-