@@ -75,6 +76,7 @@ export default {
obj: Object,
timeRange: Array, // 时间范围
panelLock: { type: Boolean, default: true },
+ isGroup: { type: Boolean, default: false },
dataList: Array // 看板中所有图表信息
},
components: {
@@ -104,7 +106,10 @@ export default {
},
methods: {
init () {
- const dom = document.getElementById(`chartList${this.timestamp}`)
+ let dom = document.getElementById(`chartList${this.timestamp}`)
+ if (this.isGroup) {
+ dom = document.getElementById(`chartListGroup${this.timestamp}`)
+ }
if (dom) {
this.stepWidth = Math.floor(dom.offsetWidth / 12)
const span = document.querySelector('.temp-dom')
diff --git a/nezha-fronted/src/components/chart/panelChart.vue b/nezha-fronted/src/components/chart/panelChart.vue
index 2a1706e4b..f115e80a3 100644
--- a/nezha-fronted/src/components/chart/panelChart.vue
+++ b/nezha-fronted/src/components/chart/panelChart.vue
@@ -15,6 +15,7 @@
ref="chart"
:chart-data="chartData"
:chart-info="chartInfo"
+ :panelLock="panelLock"
:is-fullscreen="isFullscreen"
:loading="loading"
>
@@ -40,7 +41,8 @@ export default {
props: {
chartInfo: Object, // 其中的param json串已转化为对象
timeRange: Array, // 时间范围
- isFullscreen: Boolean
+ isFullscreen: Boolean,
+ panelLock: Boolean
},
data () {
return {
@@ -141,6 +143,9 @@ export default {
if (this.chartInfo.type === 'diagram') {
this.chartData = [this.chartInfo.param.topo]
}
+ if (this.chartInfo.type === 'group') {
+ this.chartData = [...this.chartInfo.children]
+ }
break
}
}
diff --git a/nezha-fronted/src/components/page/dashboard/panel.vue b/nezha-fronted/src/components/page/dashboard/panel.vue
index bb08ea2a8..35a5c437d 100644
--- a/nezha-fronted/src/components/page/dashboard/panel.vue
+++ b/nezha-fronted/src/components/page/dashboard/panel.vue
@@ -84,6 +84,7 @@
import ChartBox from './chartBox'
import chartRightBox from '@/components/common/rightBox/chart/chartRightBox'
-import ChartList from '../../chart/chartList'
import bus from '../../../libs/bus'
import pickTime from '../../common/pickTime'
import selectPanel from '../../common/popBox/selectPanel'
@@ -271,7 +271,6 @@ export default {
},
components: {
'chart-box': ChartBox,
- 'chart-list': ChartList,
'pick-time': pickTime,
'panel-box': panelBox,
topToolMoreOptions,
diff --git a/nezha-fronted/src/main.js b/nezha-fronted/src/main.js
index dbf008266..dc0ab0823 100644
--- a/nezha-fronted/src/main.js
+++ b/nezha-fronted/src/main.js
@@ -27,6 +27,7 @@ import Pagination from './components/common/pagination' // 引入全局分页组
import searchInput from './components/common/searchInput' // 搜索框组件
import elementSet from './components/common/elementSet' // 自定义表头组件
import MyElSelect from './components/common/elSelect/MyElSelect'
+import chartList from '@/components/chart/chartList.vue' // 全局引入 chartList 组件 防止 chart-group爆粗
import loading from '@/components/common/loading'
import pickTime from '@/components/common/pickTime'
@@ -54,6 +55,7 @@ Vue.component('loading', loading)
Vue.component('pick-time', pickTime)
Vue.component('myDatePicker', myDatePicker)
Vue.component('nzDataList', nzDataList)
+Vue.component('chartList', chartList)
Vue.prototype.$axios = axios
Vue.prototype.$post = post