import { ILabelValue, IBill } from 'types/base-type';

export const getBillBarOption = (data: IBill[]) => {
  const xData: string[] = [];
  const yData: number[] = [];

  if (data) {
    data.forEach(item => {
      xData.push(item.gmtMonth);
      yData.push(item.cost);
    });
  }
  return {
    color: ['#3398DB'],
    tooltip: {
      trigger: 'axis',
      axisPointer: {            // 坐标轴指示器,坐标轴触发有效
        type: 'line',        // 默认为直线,可选为:'line' | 'shadow'
      },
    },
    xAxis: [
      {
        type: 'category',
        data: xData,
        axisTick: {
          alignWithLabel: true,
        },
      },
    ],
    yAxis: [
      {
        type: 'value',
      },
    ],
    grid: {
      left: '1%',
      right: '1%',
      bottom: '3%',
      top: '40px',
      containLabel: true,
    },
    series: yData.length ? [
      {
        name: '金额',
        type: 'bar',
        barWidth: '60%',
        data: yData,
      },
    ] : null,
  };
};

export const getPieChartOption = (data: ILabelValue[], legend: string[]) => {
  const color = legend.length > 2 ? ['#4BD863', '#3399ff', '#F19736', '#F04844', '#999999'] : ['#F28E61', '#7082A6'];
  return {
    tooltip: {
      trigger: 'item',
      formatter: '{a} <br/>{b}: {c} ({d}%)',
    },
    legend: {
      orient: 'vertical',
      right: 10,
      top: '35%',
      data: legend,
    },
    color,
    series: data && data.length ? [
      {
        name: '',
        type: 'pie',
        radius: ['50%', '35%'],
        avoidLabelOverlap: false,
        label: {
          show: false,
          position: 'center',
        },
        emphasis: {
          label: {
            // show: true,
            show: false,
            fontSize: '16',
            fontWeight: 'bold',
          },
        },
        labelLine: {
          show: false,
        },
        data,
      },
    ] : [],
  };
};