config.ts 1.63 KB
import { echartOptionProfixHandle, PublicConfigClass } from '@/packages/public'
import { OverrideLineForDeviceHistoryQueryConfig } from './index'
import { CreateComponentType } from '@/packages/index.d'
import cloneDeep from 'lodash/cloneDeep'
import dataJson from './data.json'
import { chartInitConfig } from '@/settings/designSetting'

export const includes = ['legend', 'xAxis', 'yAxis', 'grid']
export const seriesItem = {
  type: 'line',
  label: {
    show: true,
    position: 'top',
    color: '#fff',
    fontSize: 12
  },
  symbolSize: 5, //设定实心点的大小
  itemStyle: {
    color: null,
    borderRadius: 0
  },
  lineStyle: {
    type: 'solid',
    width: 3,
    color: null
  }
}
// 其它配置项比如新增(动画)
const otherConfig = {
  // 轮播动画
  isCarousel: false
}
export const option = {
  queryCondition: {
    timeRange: [new Date().getTime() - 86400000, new Date().getTime()], //默认最近一天
    limit: 7,
    agg: 'NONE',
    interval: null
  },
  ...otherConfig,
  tooltip: {
    show: true,
    trigger: 'axis',
    axisPointer: {
      type: 'line'
    }
  },
  xAxis: {
    show: true,
    type: 'category'
  },
  yAxis: {
    show: true,
    type: 'value'
  },
  dataset: { ...dataJson },
  series: [seriesItem, seriesItem]
}

export default class Config extends PublicConfigClass implements CreateComponentType {
  public key: string = OverrideLineForDeviceHistoryQueryConfig.key
  public chartConfig = cloneDeep(OverrideLineForDeviceHistoryQueryConfig)
  public attr = { ...chartInitConfig, w: 735, h: 435, zIndex: -1 }
  // 图表配置项
  public option = echartOptionProfixHandle(option, includes)
}