@qxs-bns/components 0.0.16 → 0.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/index.js +0 -1
- package/es/index.js.map +1 -1
- package/es/package.json.js +1 -1
- package/es/src/components.js +0 -1
- package/es/src/components.js.map +1 -1
- package/es/src/subject-list/src/components/subject-single.vue.js +1 -1
- package/es/src/subject-list/src/components/subject-single.vue.js.map +1 -1
- package/es/src/subject-list/src/subject-list.vue.js +32 -10
- package/es/src/subject-list/src/subject-list.vue.js.map +1 -1
- package/lib/index.js +18 -20
- package/lib/index.js.map +1 -1
- package/lib/package.json.js +1 -1
- package/lib/src/components.js +18 -20
- package/lib/src/components.js.map +1 -1
- package/lib/src/subject-list/src/components/subject-single.vue.js +1 -1
- package/lib/src/subject-list/src/components/subject-single.vue.js.map +1 -1
- package/lib/src/subject-list/src/subject-list.vue.js +32 -10
- package/lib/src/subject-list/src/subject-list.vue.js.map +1 -1
- package/package.json +10 -4
- package/types/index.d.ts +6 -0
- package/types/index.d.ts.map +1 -0
- package/types/src/base/style/css.d.ts +2 -0
- package/types/src/base/style/css.d.ts.map +1 -0
- package/types/src/base/style/index.d.ts +2 -0
- package/types/src/base/style/index.d.ts.map +1 -0
- package/types/src/components.d.ts +10 -0
- package/types/src/components.d.ts.map +1 -0
- package/types/src/data-chart/index.d.ts +4 -0
- package/types/src/data-chart/index.d.ts.map +1 -0
- package/types/src/data-chart/src/analyze.d.ts +23 -0
- package/types/src/data-chart/src/analyze.d.ts.map +1 -0
- package/types/src/data-chart/src/utils/config.d.ts +41 -0
- package/types/src/data-chart/src/utils/config.d.ts.map +1 -0
- package/types/src/data-chart/src/utils/injectionKeys.d.ts +3 -0
- package/types/src/data-chart/src/utils/injectionKeys.d.ts.map +1 -0
- package/types/src/data-chart/src/utils/useCharts.d.ts +16 -0
- package/types/src/data-chart/src/utils/useCharts.d.ts.map +1 -0
- package/types/src/data-chart/style/index.d.ts +3 -0
- package/types/src/data-chart/style/index.d.ts.map +1 -0
- package/types/src/defaults.d.ts +6 -0
- package/types/src/defaults.d.ts.map +1 -0
- package/types/src/file-upload/index.d.ts +4 -0
- package/types/src/file-upload/index.d.ts.map +1 -0
- package/types/src/file-upload/style/index.d.ts +3 -0
- package/types/src/file-upload/style/index.d.ts.map +1 -0
- package/types/src/fixed-action-bar/index.d.ts +4 -0
- package/types/src/fixed-action-bar/index.d.ts.map +1 -0
- package/types/src/fixed-action-bar/style/index.d.ts +3 -0
- package/types/src/fixed-action-bar/style/index.d.ts.map +1 -0
- package/types/src/image-upload/index.d.ts +4 -0
- package/types/src/image-upload/index.d.ts.map +1 -0
- package/types/src/image-upload/style/index.d.ts +3 -0
- package/types/src/image-upload/style/index.d.ts.map +1 -0
- package/types/src/make-installer.d.ts +9 -0
- package/types/src/make-installer.d.ts.map +1 -0
- package/types/src/photo-crop-tool/index.d.ts +4 -0
- package/types/src/photo-crop-tool/index.d.ts.map +1 -0
- package/types/src/photo-crop-tool/src/composables.d.ts +7 -0
- package/types/src/photo-crop-tool/src/composables.d.ts.map +1 -0
- package/types/src/photo-crop-tool/style/index.d.ts +3 -0
- package/types/src/photo-crop-tool/style/index.d.ts.map +1 -0
- package/types/src/subject-action/index.d.ts +4 -0
- package/types/src/subject-action/index.d.ts.map +1 -0
- package/types/src/subject-action/style/index.d.ts +3 -0
- package/types/src/subject-action/style/index.d.ts.map +1 -0
- package/types/src/subject-layout/index.d.ts +4 -0
- package/types/src/subject-layout/index.d.ts.map +1 -0
- package/types/src/subject-layout/style/index.d.ts +3 -0
- package/types/src/subject-layout/style/index.d.ts.map +1 -0
- package/types/src/subject-list/index.d.ts +4 -0
- package/types/src/subject-list/index.d.ts.map +1 -0
- package/types/src/subject-list/style/index.d.ts +3 -0
- package/types/src/subject-list/style/index.d.ts.map +1 -0
- package/types/src/subject-type/index.d.ts +4 -0
- package/types/src/subject-type/index.d.ts.map +1 -0
- package/types/src/subject-type/style/index.d.ts +3 -0
- package/types/src/subject-type/style/index.d.ts.map +1 -0
- package/types/src/tiny-mce-editor/index.d.ts +4 -0
- package/types/src/tiny-mce-editor/index.d.ts.map +1 -0
- package/types/src/tiny-mce-editor/style/index.d.ts +3 -0
- package/types/src/tiny-mce-editor/style/index.d.ts.map +1 -0
- package/types/src/withInstall.d.ts +4 -0
- package/types/src/withInstall.d.ts.map +1 -0
- package/types/tsconfig.tsbuildinfo +1 -0
- package/es/_virtual/_plugin-vue_export-helper.js +0 -10
- package/es/_virtual/_plugin-vue_export-helper.js.map +0 -1
- package/es/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js +0 -27
- package/es/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js.map +0 -1
- package/es/src/data-chart/index.js +0 -7
- package/es/src/data-chart/index.js.map +0 -1
- package/es/src/data-chart/src/data-chart.vue.js +0 -8
- package/es/src/data-chart/src/data-chart.vue.js.map +0 -1
- package/es/src/data-chart/src/data-chart.vue2.js +0 -108
- package/es/src/data-chart/src/data-chart.vue2.js.map +0 -1
- package/es/src/data-chart/src/data-chart.vue3.js +0 -7
- package/es/src/data-chart/src/data-chart.vue3.js.map +0 -1
- package/es/src/data-chart/src/utils/config.js +0 -380
- package/es/src/data-chart/src/utils/config.js.map +0 -1
- package/es/src/data-chart/src/utils/injectionKeys.js +0 -4
- package/es/src/data-chart/src/utils/injectionKeys.js.map +0 -1
- package/es/src/data-chart/src/utils/useCharts.js +0 -23
- package/es/src/data-chart/src/utils/useCharts.js.map +0 -1
- package/lib/_virtual/_plugin-vue_export-helper.js +0 -14
- package/lib/_virtual/_plugin-vue_export-helper.js.map +0 -1
- package/lib/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js +0 -31
- package/lib/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js.map +0 -1
- package/lib/src/data-chart/index.js +0 -12
- package/lib/src/data-chart/index.js.map +0 -1
- package/lib/src/data-chart/src/data-chart.vue.js +0 -12
- package/lib/src/data-chart/src/data-chart.vue.js.map +0 -1
- package/lib/src/data-chart/src/data-chart.vue2.js +0 -112
- package/lib/src/data-chart/src/data-chart.vue2.js.map +0 -1
- package/lib/src/data-chart/src/data-chart.vue3.js +0 -11
- package/lib/src/data-chart/src/data-chart.vue3.js.map +0 -1
- package/lib/src/data-chart/src/utils/config.js +0 -384
- package/lib/src/data-chart/src/utils/config.js.map +0 -1
- package/lib/src/data-chart/src/utils/injectionKeys.js +0 -6
- package/lib/src/data-chart/src/utils/injectionKeys.js.map +0 -1
- package/lib/src/data-chart/src/utils/useCharts.js +0 -25
- package/lib/src/data-chart/src/utils/useCharts.js.map +0 -1
@@ -1,23 +0,0 @@
|
|
1
|
-
import '@vueuse/core';
|
2
|
-
import 'echarts';
|
3
|
-
import 'vue';
|
4
|
-
|
5
|
-
function useDataToExcelJson(dataSource) {
|
6
|
-
const {
|
7
|
-
desc: {
|
8
|
-
colDesc = [],
|
9
|
-
groupByDesc = []
|
10
|
-
} = {},
|
11
|
-
data = []
|
12
|
-
} = dataSource;
|
13
|
-
const header = [...groupByDesc.map(item => item.colDesc), ...colDesc].filter(v => v);
|
14
|
-
const json = data.map(item => {
|
15
|
-
return header.map(headerItem => {
|
16
|
-
return item[headerItem] || "";
|
17
|
-
});
|
18
|
-
});
|
19
|
-
return [header, ...json];
|
20
|
-
}
|
21
|
-
|
22
|
-
export { useDataToExcelJson };
|
23
|
-
//# sourceMappingURL=useCharts.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"useCharts.js","sources":["../../../../../../../packages/components/src/data-chart/src/utils/useCharts.ts"],"sourcesContent":["import type { ECharts, SetOptionOpts } from 'echarts'\nimport type { ComputedRef, Ref } from 'vue'\nimport type { EChartData, EChartsOption, IFormatPublicData } from '../types'\nimport { useElementSize, useMouseInElement, watchDebounced } from '@vueuse/core'\nimport * as echarts from 'echarts'\nimport { onMounted, onUnmounted, ref } from 'vue'\n\n// 使用别名路径导入 SVG\nimport emptyImg from '../components/empty.svg'\n\nexport function useCharts({ chartDOM, chartData, chartOptions, mountedBefore, initAfter, callback }: {\n chartDOM: Ref<HTMLElement | null>\n chartData: ComputedRef<IFormatPublicData>\n chartOptions: ComputedRef<EChartsOption>\n mountedBefore?: () => void\n initAfter?: () => void\n callback?: (e: ECharts) => void\n}) {\n let myChart: ECharts | null = null\n const initChartSuccess = ref(false)\n\n // 获取设备像素比\n const dpr = window.devicePixelRatio || 1\n\n function disposeChart() {\n if (myChart && !myChart.isDisposed()) {\n myChart.dispose()\n myChart = null\n }\n }\n\n function initChart(...opt: [EChartsOption, SetOptionOpts]) {\n if (!myChart || !initChartSuccess.value || !chartDOM.value) {\n return\n }\n\n myChart.showLoading()\n try {\n if (myChart.isDisposed()) {\n // 如果实例已被销毁,重新创建\n myChart = echarts.init(chartDOM.value, null, {\n devicePixelRatio: dpr,\n renderer: 'svg',\n })\n }\n myChart.setOption(...opt)\n }\n catch (error) {\n console.log('error: ', error)\n disposeChart()\n if (chartDOM.value) {\n myChart = echarts.init(chartDOM.value, null, {\n devicePixelRatio: dpr,\n renderer: 'svg',\n })\n setEmpty('配置项错误')\n }\n }\n finally {\n myChart?.hideLoading()\n }\n }\n\n const { isOutside: mouseInChart } = useMouseInElement(chartDOM)\n watchDebounced(mouseInChart, (newVal) => {\n if (typeof newVal !== 'boolean') {\n return\n }\n toggleToolbox(!newVal)\n }, { debounce: 200 })\n\n function setEmpty(subtext = '暂无数据') {\n const obj: EChartsOption = {\n title: [{\n text: chartData.value?.modelName,\n ...chartOptions.value.title,\n }, {\n subtext,\n top: 'center',\n left: 'center',\n text: ' {a|}',\n itemGap: -20,\n textStyle: {\n align: 'center',\n rich: {\n a: {\n color: '#000',\n fontSize: '16',\n height: 80,\n width: 160,\n backgroundColor: {\n image: emptyImg,\n },\n },\n },\n },\n subtextStyle: {\n fontSize: 16,\n },\n }],\n }\n initChart(obj, {\n notMerge: true,\n replaceMerge: ['xAxis', 'yAxis', 'series'],\n lazyUpdate: false,\n })\n }\n\n function toggleToolbox(show: boolean) {\n if (!myChart?.isDisposed()) {\n myChart?.setOption({\n toolbox: {\n show,\n },\n })\n }\n }\n\n onMounted(async () => {\n if (mountedBefore) {\n await mountedBefore()\n }\n if (!chartDOM.value) {\n return\n }\n disposeChart() // 确保旧实例被清理\n myChart = echarts.init(chartDOM.value, null, {\n devicePixelRatio: dpr,\n renderer: 'svg',\n })\n if (callback) {\n callback(myChart)\n }\n if (initAfter) {\n await initAfter()\n }\n\n useResize(myChart, chartDOM)\n\n initChartSuccess.value = true\n\n if (chartData.value?.data?.length) {\n initChart(chartOptions.value, {})\n }\n else {\n setEmpty()\n }\n })\n\n onUnmounted(() => {\n if (myChart) {\n myChart.getZr()?.off('mousemove')\n myChart.getZr()?.off('mouseout')\n disposeChart()\n }\n })\n\n return {\n myChart,\n }\n}\n\nexport function useResize(myChart: ECharts, chartDOM: Ref<HTMLElement | null>) {\n const { width, height } = useElementSize(chartDOM)\n watchDebounced([width, height], () => {\n if (myChart) {\n myChart.resize()\n }\n })\n}\n\nexport function useDataToExcelJson(dataSource: EChartData) {\n const { desc: { colDesc = [], groupByDesc = [] } = {}, data = [] } = dataSource\n const header = [...groupByDesc.map(item => item.colDesc), ...colDesc].filter(v => v) as string[]\n const json = data.map((item) => {\n return header.map((headerItem) => {\n return item[headerItem as keyof typeof item] || ''\n })\n })\n return [header, ...json]\n}\n"],"names":["useDataToExcelJson","dataSource","desc","colDesc","groupByDesc","data","header","map","item","filter","v","json","headerItem"],"mappings":";;;;AA2KO,SAASA,mBAAmBC,UAAwB,EAAA;EACzD,MAAM;AAAEC,IAAAA,IAAA,EAAM;AAAEC,MAAAA,OAAA,GAAU,EAAI;AAAAC,MAAAA,WAAA,GAAc;QAAO,EAAC;AAAGC,IAAAA,IAAO,GAAA;AAAG,GAAI,GAAAJ,UAAA;EACrE,MAAMK,MAAS,GAAA,CAAC,GAAGF,WAAA,CAAYG,IAAYC,IAAA,IAAAA,IAAA,CAAKL,OAAO,CAAA,EAAG,GAAGA,OAAO,CAAE,CAAAM,MAAA,MAAYC,CAAC,CAAA;AACnF,EAAA,MAAMC,IAAO,GAAAN,IAAA,CAAKE,GAAI,CAACC,IAAS,IAAA;AACvB,IAAA,OAAAF,MAAA,CAAOC,GAAI,CAACK,UAAe,IAAA;AACzB,MAAA,OAAAJ,IAAA,CAAKI,UAA+B,CAAK,IAAA,EAAA;AAClD,KAAC,CAAA;AACH,GAAC,CAAA;AACM,EAAA,OAAA,CAACN,MAAQ,EAAA,GAAGK,IAAI,CAAA;AACzB;;;;"}
|
@@ -1,14 +0,0 @@
|
|
1
|
-
'use strict';
|
2
|
-
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
4
|
-
|
5
|
-
var _export_sfc = (sfc, props) => {
|
6
|
-
const target = sfc.__vccOpts || sfc;
|
7
|
-
for (const [key, val] of props) {
|
8
|
-
target[key] = val;
|
9
|
-
}
|
10
|
-
return target;
|
11
|
-
};
|
12
|
-
|
13
|
-
exports.default = _export_sfc;
|
14
|
-
//# sourceMappingURL=_plugin-vue_export-helper.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"_plugin-vue_export-helper.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
|
package/lib/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js
DELETED
@@ -1,31 +0,0 @@
|
|
1
|
-
'use strict';
|
2
|
-
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
4
|
-
|
5
|
-
function styleInject(css, ref) {
|
6
|
-
if (ref === void 0) ref = {};
|
7
|
-
var insertAt = ref.insertAt;
|
8
|
-
if (typeof document === 'undefined') {
|
9
|
-
return;
|
10
|
-
}
|
11
|
-
var head = document.head || document.getElementsByTagName('head')[0];
|
12
|
-
var style = document.createElement('style');
|
13
|
-
style.type = 'text/css';
|
14
|
-
if (insertAt === 'top') {
|
15
|
-
if (head.firstChild) {
|
16
|
-
head.insertBefore(style, head.firstChild);
|
17
|
-
} else {
|
18
|
-
head.appendChild(style);
|
19
|
-
}
|
20
|
-
} else {
|
21
|
-
head.appendChild(style);
|
22
|
-
}
|
23
|
-
if (style.styleSheet) {
|
24
|
-
style.styleSheet.cssText = css;
|
25
|
-
} else {
|
26
|
-
style.appendChild(document.createTextNode(css));
|
27
|
-
}
|
28
|
-
}
|
29
|
-
|
30
|
-
exports.default = styleInject;
|
31
|
-
//# sourceMappingURL=style-inject.es.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"style-inject.es.js","sources":["../../../../../../../../../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n"],"names":["styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode"],"mappings":";;;;AAAA,SAASA,WAAWA,CAACC,GAAG,EAAEC,GAAG,EAAE;EAC7B,IAAKA,GAAG,KAAK,MAAM,EAAGA,GAAG,GAAG,EAAE;AAC9B,EAAA,IAAIC,QAAQ,GAAGD,GAAG,CAACC,QAAQ;AAE3B,EAAA,IAAY,OAAOC,QAAQ,KAAK,WAAW,EAAE;AAAE,IAAA;AAAQ;AAEvD,EAAA,IAAIC,IAAI,GAAGD,QAAQ,CAACC,IAAI,IAAID,QAAQ,CAACE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACpE,EAAA,IAAIC,KAAK,GAAGH,QAAQ,CAACI,aAAa,CAAC,OAAO,CAAC;EAC3CD,KAAK,CAACE,IAAI,GAAG,UAAU;EAEvB,IAAIN,QAAQ,KAAK,KAAK,EAAE;IACtB,IAAIE,IAAI,CAACK,UAAU,EAAE;MACnBL,IAAI,CAACM,YAAY,CAACJ,KAAK,EAAEF,IAAI,CAACK,UAAU,CAAC;AAC3C,KAAC,MAAM;AACLL,MAAAA,IAAI,CAACO,WAAW,CAACL,KAAK,CAAC;AACzB;AACF,GAAC,MAAM;AACLF,IAAAA,IAAI,CAACO,WAAW,CAACL,KAAK,CAAC;AACzB;EAEA,IAAIA,KAAK,CAACM,UAAU,EAAE;AACpBN,IAAAA,KAAK,CAACM,UAAU,CAACC,OAAO,GAAGb,GAAG;AAChC,GAAC,MAAM;IACLM,KAAK,CAACK,WAAW,CAACR,QAAQ,CAACW,cAAc,CAACd,GAAG,CAAC,CAAC;AACjD;AACF;;;;","x_google_ignoreList":[0]}
|
@@ -1,12 +0,0 @@
|
|
1
|
-
'use strict';
|
2
|
-
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
4
|
-
|
5
|
-
var withInstall = require('../withInstall.js');
|
6
|
-
var dataChart = require('./src/data-chart.vue.js');
|
7
|
-
|
8
|
-
const QxsDataChart = withInstall.withInstall(dataChart.default);
|
9
|
-
|
10
|
-
exports.QxsDataChart = QxsDataChart;
|
11
|
-
exports.default = QxsDataChart;
|
12
|
-
//# sourceMappingURL=index.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../packages/components/src/data-chart/index.ts"],"sourcesContent":["import { withInstall } from '../withInstall'\nimport component from './src/data-chart.vue'\n\nconst QxsDataChart = withInstall(component)\n\nexport {\n QxsDataChart,\n}\nexport default QxsDataChart\n"],"names":["QxsDataChart","withInstall","component"],"mappings":";;;;;;;AAGA,MAAMA,YAAA,GAAeC,wBAAYC,iBAAS;;;;;"}
|
@@ -1,12 +0,0 @@
|
|
1
|
-
'use strict';
|
2
|
-
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
4
|
-
|
5
|
-
var dataChart_vue_vue_type_script_setup_true_lang = require('./data-chart.vue2.js');
|
6
|
-
require('./data-chart.vue3.js');
|
7
|
-
var _pluginVue_exportHelper = require('../../../_virtual/_plugin-vue_export-helper.js');
|
8
|
-
|
9
|
-
var component = /* @__PURE__ */ _pluginVue_exportHelper.default(dataChart_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-28590d9c"]]);
|
10
|
-
|
11
|
-
exports.default = component;
|
12
|
-
//# sourceMappingURL=data-chart.vue.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"data-chart.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
|
@@ -1,112 +0,0 @@
|
|
1
|
-
'use strict';
|
2
|
-
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
4
|
-
|
5
|
-
var vue = require('vue');
|
6
|
-
var utils = require('@qxs-bns/utils');
|
7
|
-
var lodashEs = require('lodash-es');
|
8
|
-
var config = require('./utils/config.js');
|
9
|
-
var injectionKeys = require('./utils/injectionKeys.js');
|
10
|
-
var useCharts = require('./utils/useCharts.js');
|
11
|
-
|
12
|
-
var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
13
|
-
...{
|
14
|
-
name: "QxsDataChart"
|
15
|
-
},
|
16
|
-
__name: "data-chart",
|
17
|
-
props: {
|
18
|
-
modelName: { type: String, required: false, default: "" },
|
19
|
-
showTypeName: { type: String, required: false, default: "table" },
|
20
|
-
subShowType: { type: String, required: false },
|
21
|
-
data: { type: Object, required: false, default: () => ({
|
22
|
-
data: [],
|
23
|
-
desc: {
|
24
|
-
colDesc: [],
|
25
|
-
showDesc: {
|
26
|
-
showType: 0,
|
27
|
-
chartOptions: "{}",
|
28
|
-
jsCodeSnippet: ""
|
29
|
-
},
|
30
|
-
groupByDesc: []
|
31
|
-
}
|
32
|
-
}) },
|
33
|
-
chartOptions: { type: null, required: false, default: () => ({}) },
|
34
|
-
jsCodeSnippet: { type: String, required: false, default: "" }
|
35
|
-
},
|
36
|
-
setup(__props, { expose: __expose }) {
|
37
|
-
const coms = {};
|
38
|
-
const defaultChartOptionCopy = vue.computed(() => {
|
39
|
-
return lodashEs.cloneDeep(config.defaultChartOption[__props.showTypeName]);
|
40
|
-
});
|
41
|
-
const formatPublicData = vue.computed(() => {
|
42
|
-
const { desc: { colDesc = [], groupByDesc = [] } = {}, data = [] } = __props.data;
|
43
|
-
let xValue = [];
|
44
|
-
let xGroupByDesc = null;
|
45
|
-
xValue = groupByDesc?.map((groupByDescItem) => {
|
46
|
-
if (groupByDescItem.xAxis) {
|
47
|
-
xGroupByDesc = groupByDescItem;
|
48
|
-
}
|
49
|
-
return groupByDescItem;
|
50
|
-
});
|
51
|
-
const dataValue = xGroupByDesc ? data.filter((item) => item && item[xGroupByDesc.colDesc]) : data;
|
52
|
-
return {
|
53
|
-
colDesc,
|
54
|
-
modelName: __props.modelName,
|
55
|
-
subShowType: __props.subShowType,
|
56
|
-
xGroupByDesc: xGroupByDesc || {
|
57
|
-
groupByDesc: null,
|
58
|
-
groupByValues: null,
|
59
|
-
colDesc: null,
|
60
|
-
xAxis: false
|
61
|
-
},
|
62
|
-
groupByDesc: xValue,
|
63
|
-
data: dataValue
|
64
|
-
};
|
65
|
-
});
|
66
|
-
function exportExal() {
|
67
|
-
if (__props.data.data.length === 0) {
|
68
|
-
console.log("\u6682\u65E0\u6570\u636E");
|
69
|
-
return;
|
70
|
-
}
|
71
|
-
const arr = useCharts.useDataToExcelJson(__props.data);
|
72
|
-
utils.JsonToExcel(__props.modelName, arr);
|
73
|
-
}
|
74
|
-
function merge(config, defaultConfig) {
|
75
|
-
const mergeOpt = lodashEs.merge({}, defaultChartOptionCopy.value, config, defaultConfig);
|
76
|
-
let conf = mergeOpt || {};
|
77
|
-
if (__props.jsCodeSnippet) {
|
78
|
-
try {
|
79
|
-
const dynamicFunction = new Function(
|
80
|
-
"config",
|
81
|
-
`"use strict"; ${__props.jsCodeSnippet}; return config;`
|
82
|
-
);
|
83
|
-
conf = dynamicFunction(conf);
|
84
|
-
} catch (error) {
|
85
|
-
console.error("\u4EE3\u7801\u6267\u884C\u5931\u8D25:", error);
|
86
|
-
}
|
87
|
-
}
|
88
|
-
return conf;
|
89
|
-
}
|
90
|
-
vue.watchEffect(() => {
|
91
|
-
if (coms[__props.showTypeName]) {
|
92
|
-
return;
|
93
|
-
}
|
94
|
-
coms[__props.showTypeName] = vue.defineAsyncComponent(() => import(`./components/${__props.showTypeName}.vue`));
|
95
|
-
});
|
96
|
-
__expose({
|
97
|
-
exportExal
|
98
|
-
});
|
99
|
-
vue.provide(injectionKeys.InjectionChartMerge, merge);
|
100
|
-
return (_ctx, _cache) => {
|
101
|
-
return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(coms[_ctx.showTypeName]), {
|
102
|
-
class: "data-chart",
|
103
|
-
"sub-show-type": _ctx.subShowType,
|
104
|
-
"chart-data": formatPublicData.value,
|
105
|
-
"chart-options": _ctx.chartOptions
|
106
|
-
}, null, 8, ["sub-show-type", "chart-data", "chart-options"]);
|
107
|
-
};
|
108
|
-
}
|
109
|
-
});
|
110
|
-
|
111
|
-
exports.default = _sfc_main;
|
112
|
-
//# sourceMappingURL=data-chart.vue2.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"data-chart.vue2.js","sources":["../../../../../../packages/components/src/data-chart/src/data-chart.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { EChartData, EChartsOption, IFormatPublicData } from './types'\nimport type { IconRow } from './types/index'\nimport { JsonToExcel } from '@qxs-bns/utils'\nimport { cloneDeep, merge as lodashMerge } from 'lodash-es'\nimport { computed, defineAsyncComponent, provide, watchEffect } from 'vue'\nimport { defaultChartOption } from './utils/config'\nimport { InjectionChartMerge } from './utils/injectionKeys'\nimport { useDataToExcelJson } from './utils/useCharts'\n\ndefineOptions({\n name: 'QxsDataChart',\n})\nconst {\n showTypeName = 'table',\n subShowType,\n modelName = '',\n data: propData = {\n data: [],\n desc: {\n colDesc: [],\n showDesc: {\n showType: 0,\n chartOptions: '{}',\n jsCodeSnippet: '',\n },\n groupByDesc: [],\n },\n },\n chartOptions = {},\n jsCodeSnippet = '',\n} = defineProps<{\n modelName?: string\n showTypeName?: IconRow['showTypeName']\n subShowType?: string\n data?: EChartData\n chartOptions?: EChartsOption\n jsCodeSnippet?: string\n}>()\n\nconst coms: {\n [key: string]: any\n} = {}\n\nconst defaultChartOptionCopy = computed(() => {\n return cloneDeep(defaultChartOption[showTypeName])\n})\n\nconst formatPublicData = computed<IFormatPublicData>(() => {\n const { desc: { colDesc = [], groupByDesc = [] } = {}, data = [] } = propData\n\n // 处理 X 轴数据\n let xValue = []\n\n let xGroupByDesc: EChartData['desc']['groupByDesc'][0] | null = null\n xValue = groupByDesc?.map((groupByDescItem) => {\n // if (groupByDescItem.colValues) {\n // groupByDescItem.colValuesDesc = {}\n // groupByDescItem.colValues.split(',')?.forEach((item) => {\n // const [key, value] = item.split(':')\n // groupByDescItem.colValuesDesc[key] = value\n // })\n // }\n if (groupByDescItem.xAxis) {\n xGroupByDesc = groupByDescItem\n }\n return groupByDescItem\n })\n\n const dataValue = xGroupByDesc ? data.filter(item => item && item[xGroupByDesc!.colDesc!]) : data\n\n // if (xGroupByDesc && xGroupByDesc.colValuesDesc && Object.keys(xGroupByDesc.colValuesDesc).length) {\n // const { colDesc: colDescItem, colValuesDesc } = xGroupByDesc\n // console.log('colDesc: colDescItem, colValuesDesc: ', colDescItem, colValuesDesc)\n // dataValue = dataValue.map((item) => {\n // if (typeof item[colDescItem] === 'number') {\n // item[colDescItem] = colValuesDesc[item[colDescItem]]\n // }\n // return item\n // })\n // }\n\n return {\n colDesc,\n modelName,\n subShowType,\n xGroupByDesc: (xGroupByDesc || {\n groupByDesc: null,\n groupByValues: null,\n colDesc: null,\n xAxis: false,\n }),\n groupByDesc: xValue,\n data: dataValue,\n }\n})\n\n// 导出数据\nfunction exportExal() {\n if (propData.data.length === 0) {\n // useMessage.error('暂无数据')\n console.log('暂无数据')\n return\n }\n const arr = useDataToExcelJson(propData)\n JsonToExcel(modelName, arr)\n}\nfunction merge(config: EChartsOption, defaultConfig: EChartsOption) {\n const mergeOpt = lodashMerge({}, defaultChartOptionCopy.value, config, defaultConfig)\n let conf = mergeOpt || {}\n if (jsCodeSnippet) {\n try {\n // 用 Function 构造函数替代 eval\n const dynamicFunction = new Function(\n 'config',\n `\"use strict\"; ${jsCodeSnippet}; return config;`\n );\n \n // 执行动态函数并传递 conf 参数\n conf = dynamicFunction(conf);\n } catch (error) {\n console.error(\"代码执行失败:\", error);\n }\n }\n return conf\n}\n\nwatchEffect(() => {\n if (coms[showTypeName]) {\n return\n }\n coms[showTypeName] = defineAsyncComponent(() => import(`./components/${showTypeName}.vue`))\n})\n\ndefineExpose({\n exportExal,\n})\nprovide(InjectionChartMerge, merge)\n</script>\n\n<template>\n <component\n :is=\"coms[showTypeName]\"\n class=\"data-chart\"\n :sub-show-type=\"subShowType\"\n :chart-data=\"formatPublicData\"\n :chart-options=\"chartOptions\"\n />\n</template>\n\n<style scoped lang=\"scss\">\n.data-chart {\n height: 100%;\n}\n</style>\n"],"names":["computed","cloneDeep","defaultChartOption","useDataToExcelJson","JsonToExcel","lodashMerge","watchEffect","defineAsyncComponent","provide","InjectionChartMerge"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCA,IAAA,MAAM,OAEF,EAAC;AAEL,IAAM,MAAA,sBAAA,GAAyBA,aAAS,MAAM;AAC5C,MAAA,OAAOC,kBAAU,CAAAC,yBAAA,CAAmB,oBAAY,CAAC,CAAA;AAAA,KAClD,CAAA;AAED,IAAM,MAAA,gBAAA,GAAmBF,aAA4B,MAAM;AACzD,MAAA,MAAM,EAAE,IAAM,EAAA,EAAE,OAAU,GAAA,IAAI,WAAc,GAAA,EAAG,EAAA,GAAI,EAAI,EAAA,IAAA,GAAO,EAAC,KAAM,OAAA,CAAA,IAAA;AAGrE,MAAA,IAAI,SAAS,EAAC;AAEd,MAAA,IAAI,YAA4D,GAAA,IAAA;AAChE,MAAS,MAAA,GAAA,WAAA,EAAa,GAAI,CAAA,CAAC,eAAoB,KAAA;AAQ7C,QAAA,IAAI,gBAAgB,KAAO,EAAA;AACzB,UAAe,YAAA,GAAA,eAAA;AAAA;AAEjB,QAAO,OAAA,eAAA;AAAA,OACR,CAAA;AAED,MAAM,MAAA,SAAA,GAAY,YAAe,GAAA,IAAA,CAAK,MAAO,CAAA,CAAA,IAAA,KAAQ,QAAQ,IAAK,CAAA,YAAA,CAAc,OAAQ,CAAC,CAAI,GAAA,IAAA;AAa7F,MAAO,OAAA;AAAA,QACL,OAAA;AAAA,QACA,WAAS,OAAA,CAAA,SAAA;AAAA,QACT,aAAW,OAAA,CAAA,WAAA;AAAA,QACX,cAAe,YAAgB,IAAA;AAAA,UAC7B,WAAa,EAAA,IAAA;AAAA,UACb,aAAe,EAAA,IAAA;AAAA,UACf,OAAS,EAAA,IAAA;AAAA,UACT,KAAO,EAAA;AAAA,SACT;AAAA,QACA,WAAa,EAAA,MAAA;AAAA,QACb,IAAM,EAAA;AAAA,OACR;AAAA,KACD,CAAA;AAGD,IAAA,SAAS,UAAa,GAAA;AACpB,MAAA,IAAI,aAAS,IAAK,CAAA,MAAA,KAAW,CAAG,EAAA;AAE9B,QAAA,OAAA,CAAQ,IAAI,0BAAM,CAAA;AAClB,QAAA;AAAA;AAEF,MAAM,MAAA,GAAA,GAAMG,4BAAmB,CAAA,OAAA,CAAQ,IAAA,CAAA;AACvC,MAAYC,iBAAA,CAAA,OAAA,CAAA,WAAW,GAAG,CAAA;AAAA;AAE5B,IAAS,SAAA,KAAA,CAAM,QAAuB,aAA8B,EAAA;AAClE,MAAA,MAAM,WAAWC,cAAY,CAAA,IAAI,sBAAuB,CAAA,KAAA,EAAO,QAAQ,aAAa,CAAA;AACpF,MAAI,IAAA,IAAA,GAAO,YAAY,EAAC;AACxB,MAAA,IAAI,QAAA,aAAe,EAAA;AACjB,QAAI,IAAA;AAEF,UAAA,MAAM,kBAAkB,IAAI,QAAA;AAAA,YAC1B,QAAA;AAAA,YACA,CAAA,cAAA,EAAiB,QAAA,aAAa,CAAA,gBAAA;AAAA,WAChC;AAGA,UAAA,IAAA,GAAO,gBAAgB,IAAI,CAAA;AAAA,iBACpB,KAAO,EAAA;AACd,UAAQ,OAAA,CAAA,KAAA,CAAM,yCAAW,KAAK,CAAA;AAAA;AAChC;AAEF,MAAO,OAAA,IAAA;AAAA;AAGT,IAAAC,eAAA,CAAY,MAAM;AAChB,MAAI,IAAA,IAAA,CAAK,OAAY,CAAA,YAAA,CAAG,EAAA;AACtB,QAAA;AAAA;AAEF,MAAK,IAAA,CAAA,OAAA,CAAA,YAAY,CAAI,GAAAC,wBAAA,CAAqB,MAAM,OAAO,CAAA,aAAA,EAAgB,OAAY,CAAA,YAAA,CAAO,IAAA,CAAA,CAAA,CAAA;AAAA,KAC3F,CAAA;AAED,IAAa,QAAA,CAAA;AAAA,MACX;AAAA,KACD,CAAA;AACD,IAAAC,WAAA,CAAQC,mCAAqB,KAAK,CAAA;;;;;;;;;;;;;;"}
|
@@ -1,11 +0,0 @@
|
|
1
|
-
'use strict';
|
2
|
-
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
4
|
-
|
5
|
-
var styleInject_es = require('../../../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js');
|
6
|
-
|
7
|
-
var css_248z = ".data-chart[data-v-28590d9c] {\n height: 100%;\n}";
|
8
|
-
styleInject_es.default(css_248z);
|
9
|
-
|
10
|
-
exports.default = css_248z;
|
11
|
-
//# sourceMappingURL=data-chart.vue3.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"data-chart.vue3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
|
@@ -1,384 +0,0 @@
|
|
1
|
-
'use strict';
|
2
|
-
|
3
|
-
var lodashEs = require('lodash-es');
|
4
|
-
|
5
|
-
const iconList = {
|
6
|
-
data: [{
|
7
|
-
showTypeName: "table",
|
8
|
-
label: "\u8868\u683C",
|
9
|
-
coverImg: "table.png",
|
10
|
-
disabled: () => false,
|
11
|
-
subTypeList: [],
|
12
|
-
showType: 0,
|
13
|
-
baseConfig: {}
|
14
|
-
}, {
|
15
|
-
showTypeName: "line",
|
16
|
-
label: "\u6298\u7EBF\u56FE",
|
17
|
-
coverImg: "line-stack.png",
|
18
|
-
showType: 1,
|
19
|
-
subTypeList: [{
|
20
|
-
value: "line-simple",
|
21
|
-
icon: "line-smooth",
|
22
|
-
tooltipContent: "\u6298\u7EBF\u56FE"
|
23
|
-
}, {
|
24
|
-
value: "area-basic",
|
25
|
-
icon: "chart-line-area",
|
26
|
-
tooltipContent: "\u6298\u7EBF\u9762\u79EF\u56FE"
|
27
|
-
}],
|
28
|
-
baseConfig: {
|
29
|
-
tooltip: {
|
30
|
-
confine: false,
|
31
|
-
trigger: "axis",
|
32
|
-
axisPointer: {
|
33
|
-
type: "line"
|
34
|
-
}
|
35
|
-
},
|
36
|
-
toolbox: {
|
37
|
-
show: false,
|
38
|
-
showTitle: false,
|
39
|
-
feature: {
|
40
|
-
// dataView: { readOnly: true },
|
41
|
-
// restore: {},
|
42
|
-
saveAsImage: {}
|
43
|
-
}
|
44
|
-
},
|
45
|
-
legend: {
|
46
|
-
type: "scroll",
|
47
|
-
top: "25px"
|
48
|
-
},
|
49
|
-
grid: {
|
50
|
-
left: "0",
|
51
|
-
bottom: "10px",
|
52
|
-
containLabel: true
|
53
|
-
},
|
54
|
-
xAxis: {
|
55
|
-
type: "category",
|
56
|
-
boundaryGap: false
|
57
|
-
},
|
58
|
-
yAxis: {
|
59
|
-
type: "value"
|
60
|
-
},
|
61
|
-
dataZoom: [{
|
62
|
-
type: "inside"
|
63
|
-
}]
|
64
|
-
},
|
65
|
-
disabled: (_, groupByInfos) => {
|
66
|
-
const groupByInfosLenght = groupByInfos?.length;
|
67
|
-
if (groupByInfosLenght >= 1 && groupByInfosLenght < 2) {
|
68
|
-
return false;
|
69
|
-
}
|
70
|
-
return true;
|
71
|
-
}
|
72
|
-
}, {
|
73
|
-
showTypeName: "bar",
|
74
|
-
label: "\u67F1\u72B6\u56FE",
|
75
|
-
coverImg: "bar-tick-align.png",
|
76
|
-
showType: 2,
|
77
|
-
baseConfig: {
|
78
|
-
legend: {
|
79
|
-
type: "scroll",
|
80
|
-
top: "25px"
|
81
|
-
},
|
82
|
-
tooltip: {
|
83
|
-
confine: false,
|
84
|
-
trigger: "axis",
|
85
|
-
axisPointer: {
|
86
|
-
type: "shadow"
|
87
|
-
}
|
88
|
-
},
|
89
|
-
toolbox: {
|
90
|
-
show: false,
|
91
|
-
showTitle: false,
|
92
|
-
feature: {
|
93
|
-
// dataView: { readOnly: true },
|
94
|
-
// restore: {},
|
95
|
-
saveAsImage: {}
|
96
|
-
// myFull: { // 全屏
|
97
|
-
// show: true,
|
98
|
-
// title: '全屏',
|
99
|
-
// icon: 'path://...',
|
100
|
-
// }
|
101
|
-
}
|
102
|
-
},
|
103
|
-
grid: {
|
104
|
-
left: "0",
|
105
|
-
bottom: "20px",
|
106
|
-
containLabel: true
|
107
|
-
},
|
108
|
-
xAxis: {
|
109
|
-
axisLabel: {
|
110
|
-
showMaxLabel: true
|
111
|
-
},
|
112
|
-
axisTick: {
|
113
|
-
alignWithLabel: true
|
114
|
-
}
|
115
|
-
},
|
116
|
-
yAxis: {},
|
117
|
-
dataZoom: [{
|
118
|
-
type: "inside"
|
119
|
-
}]
|
120
|
-
},
|
121
|
-
subTypeList: [{
|
122
|
-
value: "bar-simple",
|
123
|
-
icon: "bar-simple",
|
124
|
-
tooltipContent: "\u5782\u76F4\u6761\u5F62\u56FE"
|
125
|
-
}, {
|
126
|
-
value: "bar-y-category",
|
127
|
-
icon: "bar-y-category",
|
128
|
-
tooltipContent: "\u6C34\u5E73\u6761\u5F62\u56FE"
|
129
|
-
}],
|
130
|
-
disabled: (_, groupByInfos) => {
|
131
|
-
const groupByInfosLenght = groupByInfos?.length;
|
132
|
-
if (groupByInfosLenght >= 1) {
|
133
|
-
return false;
|
134
|
-
}
|
135
|
-
return true;
|
136
|
-
}
|
137
|
-
}, {
|
138
|
-
showTypeName: "pie",
|
139
|
-
label: "\u997C\u56FE",
|
140
|
-
coverImg: "pie-simple.png",
|
141
|
-
showType: 4,
|
142
|
-
subTypeList: [{
|
143
|
-
value: "pie-simple",
|
144
|
-
icon: "pie-simple",
|
145
|
-
tooltipContent: "\u997C\u56FE"
|
146
|
-
}, {
|
147
|
-
value: "pie-borderRadius",
|
148
|
-
icon: "pie-borderRadius",
|
149
|
-
tooltipContent: "\u73AF\u5F62\u56FE"
|
150
|
-
}],
|
151
|
-
baseConfig: {
|
152
|
-
tooltip: {
|
153
|
-
confine: true,
|
154
|
-
formatter: "{a}<br>{b}: {c}({d}%)",
|
155
|
-
trigger: "item"
|
156
|
-
},
|
157
|
-
toolbox: {
|
158
|
-
show: false,
|
159
|
-
showTitle: false,
|
160
|
-
feature: {
|
161
|
-
// dataView: { readOnly: true },
|
162
|
-
// restore: {},
|
163
|
-
saveAsImage: {}
|
164
|
-
}
|
165
|
-
},
|
166
|
-
legend: {
|
167
|
-
type: "scroll",
|
168
|
-
top: "25px"
|
169
|
-
}
|
170
|
-
},
|
171
|
-
disabled: (selectInfos, groupByInfos) => {
|
172
|
-
const groupByInfosLenght = groupByInfos?.length;
|
173
|
-
const selectInfosLength = selectInfos?.length;
|
174
|
-
if (selectInfosLength <= 4 && groupByInfosLenght > 0 && groupByInfosLenght <= 1) {
|
175
|
-
return false;
|
176
|
-
}
|
177
|
-
return true;
|
178
|
-
}
|
179
|
-
}, {
|
180
|
-
showTypeName: "area",
|
181
|
-
label: "\u5730\u56FE",
|
182
|
-
coverImg: "area.png",
|
183
|
-
showType: 5,
|
184
|
-
subTypeList: [],
|
185
|
-
baseConfig: {
|
186
|
-
tooltip: {
|
187
|
-
confine: true,
|
188
|
-
trigger: "item"
|
189
|
-
},
|
190
|
-
toolbox: {
|
191
|
-
show: false,
|
192
|
-
showTitle: false,
|
193
|
-
feature: {
|
194
|
-
// dataView: { readOnly: true },
|
195
|
-
// restore: {},
|
196
|
-
saveAsImage: {}
|
197
|
-
}
|
198
|
-
},
|
199
|
-
visualMap: {
|
200
|
-
text: ["\u9AD8", "\u4F4E"],
|
201
|
-
realtime: false,
|
202
|
-
calculable: true,
|
203
|
-
inRange: {
|
204
|
-
color: ["lightskyblue", "yellow", "orangered"]
|
205
|
-
}
|
206
|
-
}
|
207
|
-
},
|
208
|
-
disabled: (_, groupByInfos) => {
|
209
|
-
const groupByInfosLenght = groupByInfos?.length;
|
210
|
-
const flag = groupByInfos?.some(_ref => {
|
211
|
-
let {
|
212
|
-
colDesc
|
213
|
-
} = _ref;
|
214
|
-
return colDesc.includes("\u7701") || colDesc.includes("\u5E02");
|
215
|
-
});
|
216
|
-
if (flag && groupByInfosLenght > 0) {
|
217
|
-
return false;
|
218
|
-
}
|
219
|
-
return true;
|
220
|
-
}
|
221
|
-
}, {
|
222
|
-
showTypeName: "funnel",
|
223
|
-
label: "\u6F0F\u6597\u56FE",
|
224
|
-
coverImg: "funnel.png",
|
225
|
-
showType: 6,
|
226
|
-
subTypeList: [],
|
227
|
-
baseConfig: {
|
228
|
-
tooltip: {
|
229
|
-
confine: true,
|
230
|
-
trigger: "item",
|
231
|
-
formatter: "{a} <br/>{b} : {c}"
|
232
|
-
},
|
233
|
-
toolbox: {
|
234
|
-
show: false,
|
235
|
-
showTitle: false,
|
236
|
-
feature: {
|
237
|
-
// dataView: { readOnly: true },
|
238
|
-
// restore: {},
|
239
|
-
saveAsImage: {}
|
240
|
-
}
|
241
|
-
},
|
242
|
-
legend: {
|
243
|
-
type: "scroll",
|
244
|
-
top: 20
|
245
|
-
}
|
246
|
-
},
|
247
|
-
disabled: (selectInfos, groupByInfos) => {
|
248
|
-
const groupByInfosLenght = groupByInfos?.length;
|
249
|
-
const selectInfosLength = selectInfos?.length;
|
250
|
-
if (selectInfosLength <= 5 && groupByInfosLenght > 0 && groupByInfosLenght <= 1) {
|
251
|
-
return false;
|
252
|
-
}
|
253
|
-
return true;
|
254
|
-
}
|
255
|
-
},
|
256
|
-
// { label: 'scatter', value: 7 },
|
257
|
-
{
|
258
|
-
showTypeName: "card",
|
259
|
-
label: "\u5361\u7247",
|
260
|
-
coverImg: "card.png",
|
261
|
-
showType: 9,
|
262
|
-
subTypeList: [],
|
263
|
-
baseConfig: {},
|
264
|
-
disabled: (selectInfos, groupByInfos) => {
|
265
|
-
const groupByInfosLenght = groupByInfos?.length;
|
266
|
-
const selectInfosLength = selectInfos?.length;
|
267
|
-
if (selectInfosLength > 0 && groupByInfosLenght <= 1) {
|
268
|
-
return false;
|
269
|
-
}
|
270
|
-
return true;
|
271
|
-
}
|
272
|
-
}, {
|
273
|
-
showTypeName: "radar",
|
274
|
-
label: "\u96F7\u8FBE\u56FE",
|
275
|
-
coverImg: "radar.png",
|
276
|
-
showType: 10,
|
277
|
-
subTypeList: [],
|
278
|
-
baseConfig: {
|
279
|
-
legend: {
|
280
|
-
type: "scroll",
|
281
|
-
orient: "vertical",
|
282
|
-
left: "left",
|
283
|
-
top: "25px"
|
284
|
-
},
|
285
|
-
tooltip: {
|
286
|
-
confine: true,
|
287
|
-
trigger: "item"
|
288
|
-
},
|
289
|
-
toolbox: {
|
290
|
-
show: false,
|
291
|
-
showTitle: false,
|
292
|
-
feature: {
|
293
|
-
// dataView: { readOnly: true },
|
294
|
-
// restore: {},
|
295
|
-
saveAsImage: {}
|
296
|
-
}
|
297
|
-
},
|
298
|
-
radar: {
|
299
|
-
// shape: 'circle',
|
300
|
-
center: ["50%", "55%"]
|
301
|
-
}
|
302
|
-
},
|
303
|
-
disabled: (selectInfos, groupByInfos) => {
|
304
|
-
const groupByInfosLenght = groupByInfos?.length;
|
305
|
-
if (groupByInfosLenght === 1 && selectInfos.length === 1) {
|
306
|
-
return false;
|
307
|
-
}
|
308
|
-
return true;
|
309
|
-
}
|
310
|
-
}, {
|
311
|
-
showTypeName: "scatter-simple",
|
312
|
-
label: "\u6563\u70B9\u56FE",
|
313
|
-
coverImg: "",
|
314
|
-
showType: 11,
|
315
|
-
subTypeList: [],
|
316
|
-
disabled: () => false,
|
317
|
-
baseConfig: {
|
318
|
-
grid: {
|
319
|
-
left: "0",
|
320
|
-
bottom: "10px",
|
321
|
-
containLabel: true
|
322
|
-
},
|
323
|
-
tooltip: {
|
324
|
-
showDelay: 0,
|
325
|
-
axisPointer: {
|
326
|
-
show: true,
|
327
|
-
type: "cross",
|
328
|
-
lineStyle: {
|
329
|
-
type: "dashed",
|
330
|
-
width: 1
|
331
|
-
}
|
332
|
-
}
|
333
|
-
},
|
334
|
-
toolbox: {
|
335
|
-
show: false,
|
336
|
-
showTitle: false,
|
337
|
-
feature: {
|
338
|
-
// dataView: { readOnly: true },
|
339
|
-
// restore: {},
|
340
|
-
saveAsImage: {}
|
341
|
-
}
|
342
|
-
},
|
343
|
-
legend: {
|
344
|
-
type: "scroll",
|
345
|
-
top: "25px"
|
346
|
-
},
|
347
|
-
xAxis: {
|
348
|
-
splitLine: {
|
349
|
-
lineStyle: {
|
350
|
-
type: "dashed"
|
351
|
-
}
|
352
|
-
}
|
353
|
-
},
|
354
|
-
yAxis: {
|
355
|
-
splitLine: {
|
356
|
-
lineStyle: {
|
357
|
-
type: "dashed"
|
358
|
-
}
|
359
|
-
}
|
360
|
-
}
|
361
|
-
}
|
362
|
-
}]
|
363
|
-
};
|
364
|
-
function setDefaultChartOption(option, changeConfig) {
|
365
|
-
const obj = {};
|
366
|
-
option.forEach(item => {
|
367
|
-
obj[item.showTypeName] = lodashEs.merge(item.baseConfig, changeConfig);
|
368
|
-
});
|
369
|
-
return obj;
|
370
|
-
}
|
371
|
-
const defaultChartOption = setDefaultChartOption(iconList.data, {
|
372
|
-
backgroundColor: "transparent",
|
373
|
-
title: {
|
374
|
-
textStyle: {
|
375
|
-
fontSize: 14,
|
376
|
-
lineHeight: 16
|
377
|
-
}
|
378
|
-
}
|
379
|
-
});
|
380
|
-
|
381
|
-
exports.defaultChartOption = defaultChartOption;
|
382
|
-
exports.iconList = iconList;
|
383
|
-
exports.setDefaultChartOption = setDefaultChartOption;
|
384
|
-
//# sourceMappingURL=config.js.map
|