72 lines
1.8 KiB
TypeScript
72 lines
1.8 KiB
TypeScript
import { echartOptionProfixHandle, PublicConfigClass } from '@/packages/public'
|
|
import { GraphConfig } from './index'
|
|
import { CreateComponentType } from '@/packages/index.d'
|
|
import cloneDeep from 'lodash/cloneDeep'
|
|
import dataJson from './data.json'
|
|
|
|
export const includes = []
|
|
|
|
// 关系图布局
|
|
export const GraphLayout = [
|
|
{ label: '无', value: 'none' },
|
|
{ label: '环形', value: 'circular' }
|
|
]
|
|
|
|
// 标签开关
|
|
export const LabelSwitch = [
|
|
{ label: '开启', value: 1 },
|
|
{ label: '关闭', value: 0 }
|
|
]
|
|
|
|
// 标签位置
|
|
export const LabelPosition = [
|
|
{ label: '左侧', value: 'left' },
|
|
{ label: '右侧', value: 'right' },
|
|
{ label: '顶部', value: 'top' },
|
|
{ label: '底部', value: 'bottom' },
|
|
{ label: '内部', value: 'inside' },
|
|
]
|
|
|
|
export const option = {
|
|
dataset: { ...dataJson },
|
|
tooltip: {},
|
|
legend:{
|
|
show:true,
|
|
textStyle:{
|
|
color:"#eee",
|
|
fontSize: 14 ,
|
|
},
|
|
data: dataJson.categories.map(function (a) {
|
|
return a.name;
|
|
})
|
|
},
|
|
series: [
|
|
{
|
|
type: 'graph',
|
|
layout: 'none', // none circular环形布局
|
|
data: dataJson.nodes,
|
|
links: dataJson.links,
|
|
categories: dataJson.categories,
|
|
label: { // 标签
|
|
show: 1,
|
|
position: 'right',
|
|
formatter: '{b}'
|
|
},
|
|
labelLayout: {
|
|
hideOverlap: true
|
|
},
|
|
lineStyle: {
|
|
color: 'source', // 线条颜色
|
|
curveness: 0.2 // 线条卷曲程度
|
|
}
|
|
}
|
|
]
|
|
};
|
|
|
|
export default class Config extends PublicConfigClass implements CreateComponentType {
|
|
public key = GraphConfig.key
|
|
public chartConfig = cloneDeep(GraphConfig)
|
|
// 图表配置项
|
|
public option = echartOptionProfixHandle(option, includes)
|
|
}
|