+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
-
+
+
+
-
+
-
-
+
+
-
-
-
-
-
\{\{ am ? '暂停' : '播放' \}\}` }}
+
+
+
+
+
\{\{ am ? '暂停' : '播放' \}\}` }}
干扰动画效果
-
+
{{ am1 ? '暂停' : '播放' }}
加载动画效果
@@ -424,6 +425,66 @@ const emRef3 = proxy.$refs.emRef3;
+
+ 图表组件
+ 自适应,可使用em
+
+
+
+
+ setTitles(['标题标题标题一','标题二'])
+ setX(['11','22','33'])
+ setY()
+ setSeries([{},{}])
+ 方法
+
+ - setTitles : option.legend.data = [....]
+ - setX: option.xAxis.data = [...]
+ - setY: option.yAxis.data = [...]
+ - setSeries: option.series = [...]; 别名: setData
+ - setOption: chart?.setOption;
+ - chart: echarts的实例
+ - el: 组件的Element引用
+
+ 属性
+
+ - option : echarts的配置,在只允许使用Number的地方可以使用'XXXem',会根据当前字段大小自动转换为Number
+ - useDefault: option是否合并组件里的默认配置
+ - colors: 默认配置中的调色盘(option.color),默认: ['#e74c3c', '#f39c12', '#2ed573', '#e056fd', '#833471']
+ - color: 默认配置中的主色,文字颜色,坐标颜色, 默认: #FFFA
+ - excludes: 默认配置中不进行em转px操作的属性名,默认: ['fontSize']
+
+ 事件
+
+ - resize: 组件尺寸发生变化事件,事件参数 {chart,setOption,px},px为1em的单位大小
+ - load: 组件初始化加载完成事件,事件参数 {chart,setOption,px},px为1em的单位大小
+
+
+
+
+
+
+
+
@@ -456,9 +517,17 @@ const switchValue = ref(true);
const am = ref(true);
const am1 = ref(true);
+const resize = ({ chart, px, setOption }) => {
+ setOption({ legend: { itemGap: chart.getOption().series.reduce((i, item) => Math.max(i, item.name.length), 1) * px } });
+}
+
\ No newline at end of file
diff --git a/bi-ui/src/util/index.js b/bi-ui/src/util/index.js
index 0d8951c..6bddb0e 100644
--- a/bi-ui/src/util/index.js
+++ b/bi-ui/src/util/index.js
@@ -51,3 +51,27 @@ export function deepClone(source) {
})
return targetObj
}
+
+/**
+ * Merges two objects, giving the last one precedence
+ * @param {Object} target
+ * @param {(Object|Array)} source
+ * @returns {Object}
+ */
+export function objectMerge(target, source) {
+ if (typeof target !== 'object') {
+ target = {}
+ }
+ if (Array.isArray(source)) {
+ return source.slice()
+ }
+ Object.keys(source).forEach(property => {
+ const sourceProperty = source[property]
+ if (typeof sourceProperty === 'object') {
+ target[property] = objectMerge(target[property], sourceProperty)
+ } else {
+ target[property] = sourceProperty
+ }
+ })
+ return target
+}
\ No newline at end of file