import { echartOptionProfixHandle, PublicConfigClass } from '@/packages/public' import { LineDropdownConfig } from './index' import { CreateComponentType } from '@/packages/index.d' import cloneDeep from 'lodash/cloneDeep' import dataJson from './data.json' export const includes = ['xAxis', 'yAxis', 'grid'] const option = { backgroundColor: 'rgba(13, 16, 22, 1)', grid: { left: '8%', right: '8%', top: '15%', bottom: '15%', containLabel: true }, xAxis: { type: 'category', boundaryGap: false, axisLine: { show: false }, axisTick: { show: false }, axisLabel: { color: 'rgba(255, 255, 255, 0.6)', fontSize: 12 }, }, yAxis: { type: 'value', axisLine: { show: false }, axisTick: { show: false }, axisLabel: { color: 'rgba(255, 255, 255, 0.6)', fontSize: 12 }, splitLine: { show: true, lineStyle: { color: 'rgba(255, 255, 255, 0.1)', type: 'solid' } } }, tooltip: { trigger: 'axis', axisPointer: { type: 'line', lineStyle: { color: 'rgba(58, 160, 255, 1)', type: 'solid' } } }, dataset: { ...dataJson }, series: [ { type: 'line', smooth: true, symbol: 'none', // 默认不显示点 symbolSize: 8, lineStyle: { width: 2, color: { type: 'linear', x: 0, y: 0, x2: 1, y2: 0, colorStops: [ { offset: 0, color: 'rgba(58, 160, 255, 1)' }, { offset: 1, color: 'rgba(127, 216, 255, 1)' } ] } }, emphasis: { focus: 'series', symbol: 'circle', // 鼠标悬停时显示圆点 symbolSize: 8, itemStyle: { color: 'rgba(58, 160, 255, 1)', borderColor: 'rgba(255, 255, 255, 0.8)', borderWidth: 2 } }, areaStyle: { color: { type: 'linear', x: 0, y: 0, x2: 0, y2: 1, colorStops: [ { offset: 0, color: 'rgba(58, 160, 255, 0.5)' }, { offset: 1, color: 'rgba(58, 160, 255, 0.05)' } ] } } } ] } export default class Config extends PublicConfigClass implements CreateComponentType { public key: string = LineDropdownConfig.key public chartConfig = cloneDeep(LineDropdownConfig) public option = echartOptionProfixHandle(option, includes) }