/** * 线图工具类 * @author cls * @date 2019-05-16 */ /** * 转换成线图数据 * @param {*} datas 预转换数据包[{},{}] * @param {*} groupByField string 分组字段名 * @param {*} calcFields [{},{}] 计算字段名 * * @return [[series.data1],[series.data2]] */ export function convertLineData(datas, groupByField, calcFields) { let lineDatas = []; calcFields.forEach(item => { let seriesData = []; datas.forEach(recd => { let lineItem = { name: recd[groupByField], value: recd[item.name], } seriesData.push({ ...recd, ...lineItem }) }); lineDatas.push(seriesData); }) return lineDatas } /** * 是否生成多坐标,最多两个坐标轴(左,右) * @param {*} calcFields [{name:"fieldId",title:"字段名",summaryType:"统计类型",yAxsi:[true,false]}] */ export function yAxis(calcFields) { let yAxis = { type: "value" } for (var i = 0, l = calcFields.length; i < l; i++) { let field = calcFields[i]; if (field.yAxis) { if (i === 0) { yAxis = [{ name: field.title, type: "value" }] } else { yAxis.push({ name: field.title, type: "value" }) } if (yAxis.length > 1) break; } } return yAxis }