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) }