feat: 新增7个工具,修复部分问题
新增工具: 数据图表:折线图(#) 数据图表:饼图(#) 数据图表:散点图(#) 选择随机: 投骰子(#) 选择随机: 抛硬币(#) 文本处理:删除重复行(#) 图片工具:图片切割(#) 修复: 数据图表上传数据文件只有第一次有效问题
This commit is contained in:
+88
-3
@@ -22,11 +22,11 @@ export function toSpreadsheetData(data, type = 'bar') {
|
||||
}
|
||||
|
||||
/**
|
||||
* 转换成echarts使用的数据
|
||||
* 转换成echarts使用的数据 - 基础格式(适用于柱状图、折线图等)
|
||||
*/
|
||||
export function toEchartsData(data) {
|
||||
let tmpColumn: Array<string> = [];
|
||||
let tmpValue: Array<string> = [];
|
||||
let tmpColumn: Array<any> = [];
|
||||
let tmpValue: Array<any> = [];
|
||||
for (let item in data.rows) {
|
||||
if (item == 'len') {
|
||||
continue
|
||||
@@ -37,9 +37,94 @@ export function toEchartsData(data) {
|
||||
return [tmpColumn, tmpValue];
|
||||
}
|
||||
|
||||
/**
|
||||
* 转换成echarts使用的数据 - 适用于饼图
|
||||
*
|
||||
* @param data
|
||||
* @returns
|
||||
*/
|
||||
export function toEchartsPieData(data) {
|
||||
let tmpArr: Array<Object> = []
|
||||
for (let item in data.rows) {
|
||||
if (item == 'len') {
|
||||
continue
|
||||
}
|
||||
tmpArr.push({
|
||||
name: data.rows[item]['cells'][0] ? data.rows[item]['cells'][0]['text'] : '',
|
||||
value: data.rows[item]['cells'][1] ? data.rows[item]['cells'][1]['text'] : ''
|
||||
})
|
||||
// tmpColumn.push(data.rows[item]['cells'][0] ? data.rows[item]['cells'][0]['text'] : '')
|
||||
// tmpValue.push(data.rows[item]['cells'][1] ? data.rows[item]['cells'][1]['text'] : '')
|
||||
}
|
||||
return tmpArr;
|
||||
}
|
||||
|
||||
/**
|
||||
* 数据格式转换 - 根据type转换格式
|
||||
* 对象格式{name: '', value: ''}; 列格式: nameArr = [], valueArr = []
|
||||
* @param data
|
||||
* @returns
|
||||
*/
|
||||
export function tranObjAndColumn(data, type = 'toObj') {
|
||||
let returnData = [] as any[];
|
||||
if (type == 'toObj') {
|
||||
if (data.len === 0 || data[0].len === 0) {
|
||||
return returnData;
|
||||
}
|
||||
//转换成饼图使用的obj
|
||||
let nameArr = data[0];
|
||||
let valueArr = data[1];
|
||||
let tmpArr: Array<Object> = []
|
||||
|
||||
for (let item in nameArr) {
|
||||
if (item == 'len') {
|
||||
continue
|
||||
}
|
||||
tmpArr.push({
|
||||
name: nameArr[item] ? nameArr[item] : '',
|
||||
value: valueArr[item] ? valueArr[item] : '',
|
||||
})
|
||||
}
|
||||
returnData = tmpArr
|
||||
} else if (type == 'toColumn') {
|
||||
//饼图对象转换成列数组
|
||||
let nameArr = [] as string[]
|
||||
let valueArr = [] as number[]
|
||||
for (let item in data) {
|
||||
nameArr.push(data[item]?.name)
|
||||
valueArr.push(data[item]?.value)
|
||||
}
|
||||
returnData = [nameArr, valueArr]
|
||||
} else if (type == "toCoord") {
|
||||
//转换成坐标(散点图用到)
|
||||
if (data.len === 0 || data[0].len === 0) {
|
||||
return returnData;
|
||||
}
|
||||
//转换成饼图使用的obj
|
||||
let nameArr = data[0];
|
||||
let valueArr = data[1];
|
||||
let tmpArr: Array<any> = []
|
||||
|
||||
for (let item in nameArr) {
|
||||
if (item == 'len') {
|
||||
continue
|
||||
}
|
||||
tmpArr.push([
|
||||
nameArr[item] ? nameArr[item] : 0,
|
||||
valueArr[item] ? valueArr[item] : 0,
|
||||
])
|
||||
}
|
||||
returnData = tmpArr
|
||||
}
|
||||
return returnData;
|
||||
}
|
||||
|
||||
|
||||
const EchartsUtils = {
|
||||
toSpreadsheetData,
|
||||
toEchartsData,
|
||||
toEchartsPieData,
|
||||
tranObjAndColumn,
|
||||
}
|
||||
export default EchartsUtils
|
||||
|
||||
|
||||
Reference in New Issue
Block a user