|
|
import { dataConfig, settingConfig } from '../EchartsRender/settingConfig'
|
|
|
import cloneDeep from 'lodash/cloneDeep'
|
|
|
import sortList from './echartListSort'
|
|
|
// 遍历 当前文件夹下的所有文件,找到中文.js文件,然后导出
|
|
|
const files = require.context('./', true, /[\u4e00-\u9fa5]+.js$/)
|
|
|
const echartsList = getEchartsList(files)
|
|
|
// 获取echarts配置
|
|
|
function getEchartsList (files) {
|
|
|
const configMapList = {}
|
|
|
files.keys().forEach((key) => {
|
|
|
// 取到 "基础折线图"
|
|
|
const configName = key.split('/')[2].replace('.js', '')
|
|
|
configMapList[configName] = files(key).default
|
|
|
})
|
|
|
const echartsList = []
|
|
|
for (const configMapKey in configMapList) {
|
|
|
const index = sortList.findIndex((item) => item === configMapKey)
|
|
|
const config = configMapList[configMapKey]
|
|
|
|
|
|
echartsList[index] = {
|
|
|
version: config.version,
|
|
|
category: configMapKey,
|
|
|
name: config.name,
|
|
|
title: config.title,
|
|
|
border: { type: '', titleHeight: 60, fontSize: 30, color: ['#5B8FF9', '#61DDAA', '#5D7092', '#F6BD16', '#6F5EF9'], padding: [16, 16, 16, 16] },
|
|
|
icon: null,
|
|
|
img: require(`../Echarts/images/${config.title}.png`),
|
|
|
className:
|
|
|
'com.gccloud.dataroom.core.module.chart.components.CustomComponentChart',
|
|
|
w: config?.option?.width || 450,
|
|
|
h: config?.option?.height || 320,
|
|
|
x: 0,
|
|
|
y: 0,
|
|
|
rotateX: config.rotateX || 0,
|
|
|
rotateY: config.rotateY || 0,
|
|
|
rotateZ: config.rotateZ || 0,
|
|
|
perspective: config.perspective || 0,
|
|
|
skewX: config.skewX || 0,
|
|
|
skewY: config.skewY || 0,
|
|
|
type: 'echartsComponent',
|
|
|
loading: false,
|
|
|
// 把默认右侧配置与自定义右侧配置集合
|
|
|
option: {
|
|
|
...config.option,
|
|
|
...cloneDeep(settingConfig)
|
|
|
},
|
|
|
setting: config.setting, // 右侧面板自定义配置
|
|
|
dataHandler: config.dataHandler, // 数据自定义处理js脚本
|
|
|
optionHandler: config.optionHandler, // 配置自定义处理js脚本
|
|
|
...cloneDeep(dataConfig)
|
|
|
}
|
|
|
}
|
|
|
return echartsList
|
|
|
}
|
|
|
export default echartsList
|