{"version":3,"file":"dep-b6627d7c.mjs","sources":["../../src/chart/bar/index.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nexport default defineComponent({\n  name: 'TlbsBar',\n  \n})\n</script>\n<template>\n  <v-chart\n    class=\"tlbs-bar\"\n    :option=\"option\"\n    :autoresize=\"true\"\n  />\n</template>\n\n<script lang=\"ts\" setup name=\"TlbsBar\">\nimport * as echarts from 'echarts/core';\nimport VChart from 'vue-echarts';\nimport {\n  BarSeriesOption,\n} from 'echarts/charts';\nimport {\n  GridComponentOption,\n} from 'echarts/components';\n\ntype EChartsOption = echarts.ComposeOption<\nGridComponentOption | BarSeriesOption\n>;\n\ninterface valueData {\n  name: string;\n  data: number[];\n}\n\ninterface Props {\n  data: valueData[];\n  color: string[];\n  type: 'column' | 'row',\n  borderRadius: number | number[],\n  barWidth?: number,\n  textStyle?: any,\n  splitLineStyle?: any,\n  seriesProperty?: any,\n  xAxis?: LooseObject,\n  yAxis?: LooseObject[],\n  legend?: LooseObject,\n  optionConfig?: LooseObject,\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n  data: () => [],\n  color: () => [],\n  yAxis: () => [],\n  xAxis: () => ({}),\n  legend: () => ({}),\n  optionConfig: () => ({}),\n  seriesProperty: () => ({}),\n  type: 'column',\n  borderRadius: 0,\n  barWidth: 8,\n  textStyle: null,\n  splitLineStyle: null,\n});\n\nconst getOption = (): EChartsOption => {\n  const option: EChartsOption = {\n    color: props.color,\n    legend: props.legend,\n  };\n  let nameArr: never[] | Set<any> = [];\n  const categoryArr: string[] = [];\n  const valueArr: unknown[][] = [];\n  props.data.forEach((data) => {\n    categoryArr.push(data.name);\n    nameArr = new Set([...nameArr, ...Object.keys(data.value)]);\n    Object.values(data.value).forEach((item, index) => {\n      valueArr[index] = valueArr[index] || [];\n      valueArr[index].push(item);\n    });\n  });\n  // console.log(nameArr);\n  // console.log(categoryArr);\n  // console.log(valueArr);\n  option.series = Array.from(nameArr).map((name, index) => ({\n    data: valueArr[index],\n    type: 'bar',\n    barWidth: props.barWidth,\n    ...props.seriesProperty[name] || {},\n    name,\n  }));\n  console.log('series', option.series);\n  const labelData = {\n    type: 'category',\n    data: [...categoryArr],\n    axisLabel: {\n      textStyle: props.textStyle,\n    },\n    ...props.xAxis,\n  };\n  const valueData = props.yAxis.map(item => ({\n    type: 'value',\n    axisLabel: {\n      textStyle: props.textStyle,\n    },\n    ...item,\n  }));\n  // console.log('valueData', valueData);\n  if (props.type === 'row') {\n    option.xAxis = valueData;\n    option.yAxis = labelData;\n  } else {\n    option.xAxis = labelData;\n    option.yAxis = valueData;\n  }\n\n  if (props.splitLineStyle) {\n    option.xAxis.splitLine = {\n      lineStyle: props.splitLineStyle,\n    };\n    option.yAxis.splitLine = {\n      lineStyle: props.splitLineStyle,\n    };\n  }\n  console.log(option);\n  return { ...option, ...props.optionConfig };\n};\n\nconst option = ref<EChartsOption>(getOption());\n\nwatch(props, () => {\n  option.value = getOption();\n});\n\n\n</script>\n"],"names":["__default__","defineComponent","name","_defineComponent","_objectSpread","props","data","type","Array","required","default","color","String","borderRadius","Number","barWidth","textStyle","splitLineStyle","seriesProperty","xAxis","yAxis","legend","optionConfig","setup","__props","getOption","option2","nameArr","categoryArr","valueArr","forEach","push","Set","Object","keys","value","values","item","index","series","from","map","valueData","labelData","splitLine","lineStyle","console","log","option","ref","watch","_ctx","_cache","_openBlock","_createBlock","_unref","VChart","class","autoresize"],"mappings":"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"}