| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 | 
							- import i18n from '@/i18n'
 
- import { sqlFunc } from './configs'
 
- function dataTransfer(data, schema) {
 
-   const chartData = data.map(item => {
 
-     const dataItem = {}
 
-     schema.forEach(column => {
 
-       // hasxAxis = hasxAxis || column.asxAxis
 
-       if (column.calculFunc) {
 
-         column.lable = `${column.Column}(${sqlFunc[column.calculFunc]})`
 
-       } else {
 
-         column.lable = `${column.Column}`
 
-       }
 
-       column.name = column.Column
 
-       column.asxAxis = column.isDimension
 
-       dataItem[column.Column] = item[column.Column]
 
-     })
 
-     return dataItem
 
-   })
 
-   return chartData
 
- }
 
- const chartTypeList = [
 
-   {
 
-     name: i18n.t('chartType.table'),
 
-     icon: 'chart_table',
 
-     type: 'table',
 
-     matchRule: {
 
-       desc: i18n.t('chartType.tableDesc'),
 
-       isUsable(dimensions, calculs) {
 
-         return true
 
-       }
 
-     },
 
-     componentName: 'DataTable',
 
-     dataTransfer(data, schema) {
 
-       const chartData = data.map(item => {
 
-         const dataItem = {}
 
-         schema.forEach(column => {
 
-           if (column.calculFunc) {
 
-             column.name = `${column.Column}(${sqlFunc[column.calculFunc]})`
 
-           } else {
 
-             column.name = `${column.Column}`
 
-           }
 
-           dataItem[column.Column] = item[column.Column]
 
-         })
 
-         return dataItem
 
-       })
 
-       return chartData
 
-     }
 
-   },
 
-   {
 
-     name: i18n.t('chartType.line'),
 
-     icon: 'chart_line',
 
-     type: 'line',
 
-     matchRule: {
 
-       desc: i18n.t('chartType.lineDesc'),
 
-       isUsable(dimensions, calculs) {
 
-         return (dimensions.length === 1 || dimensions.length === 2) && (calculs.length >= 1)
 
-       }
 
-     },
 
-     componentName: 'lineChart', dataTransfer
 
-   },
 
-   {
 
-     name: i18n.t('chartType.bar'),
 
-     icon: 'chart_bar',
 
-     type: 'bar',
 
-     matchRule: {
 
-       desc: i18n.t('chartType.barDesc'),
 
-       isUsable(dimensions, calculs) {
 
-         return (dimensions.length === 1 || dimensions.length === 2) && (calculs.length >= 1)
 
-       }
 
-     },
 
-     componentName: 'BarChart',
 
-     dataTransfer
 
-   },
 
-   {
 
-     name: i18n.t('chartType.stackBar'),
 
-     icon: 'stack_bar',
 
-     type: 'stackBar',
 
-     matchRule: {
 
-       desc: i18n.t('chartType.stackBarDesc'),
 
-       isUsable(dimensions, calculs) {
 
-         return (dimensions.length === 1 || dimensions.length === 2) && (calculs.length >= 2)
 
-       }
 
-     },
 
-     componentName: 'StackBarChart',
 
-     dataTransfer
 
-   },
 
-   {
 
-     name: i18n.t('chartType.pie'),
 
-     icon: 'chart_pie',
 
-     type: 'pie',
 
-     matchRule: {
 
-       desc: i18n.t('chartType.pieDesc'),
 
-       isUsable(dimensions, calculs) {
 
-         return (dimensions.length === 1 && calculs.length === 1) || (dimensions.length === 0 && calculs.length >= 1)
 
-       }
 
-     },
 
-     componentName: 'PieChart',
 
-     dataTransfer
 
-   },
 
-   {
 
-     name: i18n.t('chartType.horizontalBar'),
 
-     icon: 'horizontal_bar',
 
-     type: 'horizontalBar',
 
-     matchRule: {
 
-       desc: i18n.t('chartType.horizontalBarDesc'),
 
-       isUsable(dimensions, calculs) {
 
-         return (dimensions.length === 1 || dimensions.length === 2) && (calculs.length >= 1)
 
-       }
 
-     },
 
-     componentName: 'HorizontalBar',
 
-     dataTransfer
 
-   },
 
-   {
 
-     name: '柱线图:',
 
-     icon: 'barline_chart',
 
-     type: 'BarLineChart',
 
-     matchRule: {
 
-       desc: '1个纬度多个数值',
 
-       isUsable(dimensions, calculs) {
 
-         return (dimensions.length === 1) && (calculs.length >= 1)
 
-       }
 
-     },
 
-     componentName: 'BarLineChart',
 
-     dataTransfer
 
-   },
 
-   {
 
-     name: '线柱图:',
 
-     icon: 'linebar_chart',
 
-     type: 'LineBarChart',
 
-     matchRule: {
 
-       desc: '1个纬度多个数值',
 
-       isUsable(dimensions, calculs) {
 
-         return (dimensions.length === 1) && (calculs.length >= 1)
 
-       }
 
-     },
 
-     componentName: 'LineBarChart',
 
-     dataTransfer
 
-   },
 
- ]
 
- export default chartTypeList
 
 
  |