UNPKG

data-vis-ui

Version:

## [使用文档](https://temp-static-domain.jd.com/data-vis-ui)

85 lines (79 loc) 2.06 kB
import { cloneDeep } from 'lodash'; export var getOption = function getOption(type, axis, series, option) { if (type === 'line' || type === 'bar') { return getLineOrBarOption(type, axis, series); } else if (type === 'pie') { return getPieOption(type, axis, series); } else { if (series.length > 0 || axis.length > 0) { return getLineOrBarOption(type, axis, series); } else if (option) { return option; } else { console.warn('data-vis-ui:请检查组件传参'); return defaultOption; } } }; var defaultOption = { title: { text: '', left: '2%', top: 0, textStyle: { fontSize: 14, color: '#fff' } }, grid: { show: true, borderWidth: 0, left: '10%', top: '10%', bottom: '10%', right: '5%' }, tooltip: { show: true, trigger: 'axis', axisPointer: { type: 'cross' } } }; // 折线图、柱状图 var getLineOrBarOption = function getLineOrBarOption(type, axis, series) { return Object.assign(Object.assign({}, defaultOption), { xAxis: { type: 'category', data: axis }, yAxis: [{ type: 'value' }], series: getSeries(type, series) }); }; // 饼图 var getPieOption = function getPieOption(type, axis, series) { return Object.assign(Object.assign({}, defaultOption), { series: getSeries(type, series) }); }; var getSeries = function getSeries() { var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'bar'; var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; var series = cloneDeep(data); // 适用于折线图跟柱状图 if (type === 'line' || type === 'bar' || type === 'pie') { if (Array.isArray(series)) { return series.map(function (item) { item.data = item.value; item.type = item.type || type; return item; }); } else { series.data = series.value; series.type = series.type || type; return series; } } return series; };