UNPKG

syber-lowcode-business-materials

Version:
519 lines (501 loc) 32.7 kB
import _message from "antd/es/message"; import React, { useRef, useState, useEffect } from 'react'; import "../chart-line/index.scss"; import { bizCssPrefix } from "../../variables"; import _ from "lodash"; var SliceLength = 500; //数据分段展示限制长度 var ChartBar = function ChartBar(props) { var chartDomRef = useRef(null); var myChartRef = useRef(null); var lastDataRef = useRef(null); var _useState = useState(null), error = _useState[0], setError = _useState[1]; useEffect(function () { if (chartDomRef.current) { var _window$echarts; console.log("初始化柱状图", window.echarts); //主题不能设置成 light,否则 color组设置无效 (但是设置成dark可以,这里暂时用null) myChartRef.current = (_window$echarts = window.echarts) === null || _window$echarts === void 0 ? void 0 : _window$echarts.init(chartDomRef.current, null, { locale: 'ZH' }); //点击事件 if (props.onChartBarItemClick) { var _myChartRef$current; (_myChartRef$current = myChartRef.current) === null || _myChartRef$current === void 0 ? void 0 : _myChartRef$current.on('click', function (params) { var _props$onChartBarItem; (_props$onChartBarItem = props.onChartBarItemClick) === null || _props$onChartBarItem === void 0 ? void 0 : _props$onChartBarItem.call(props, params); }); } if (lastDataRef.current) { //去绘制 showValue(lastDataRef.current); } } return function () { var _myChartRef$current2; console.log("卸载柱状图"); (_myChartRef$current2 = myChartRef.current) === null || _myChartRef$current2 === void 0 ? void 0 : _myChartRef$current2.dispose(); }; }, [chartDomRef.current]); useEffect(function () { if (props.dataSource) { showValue(props.dataSource); } }, [JSON.stringify(props.contentParams), JSON.stringify(props.dataSource)]); //组装Echart 柱状图的配置项 var getChartOption = function getChartOption() { var _contentParams$barSpe, _contentParams$usual, _contentParams$legend, _option$tooltip, _contentParams$theme, _contentParams$theme2, _contentParams$usual2; var contentParams = props.contentParams; var option = { grid: { left: '10', right: '10', bottom: '10', top: '10', containLabel: true }, xAxis: Object.assign({}, contentParams === null || contentParams === void 0 ? void 0 : contentParams.xAxis), yAxis: Object.assign({}, contentParams === null || contentParams === void 0 ? void 0 : contentParams.yAxis) }; var axisType = 'category'; if (contentParams !== null && contentParams !== void 0 && (_contentParams$barSpe = contentParams.barSpecial) !== null && _contentParams$barSpe !== void 0 && _contentParams$barSpe._timeAxis) { //改成时间轴 axisType = 'time'; } //是否x,y翻转 if ((contentParams === null || contentParams === void 0 ? void 0 : (_contentParams$usual = contentParams.usual) === null || _contentParams$usual === void 0 ? void 0 : _contentParams$usual._categoryWhere) === 'y') { option.xAxis = Object.assign(option.xAxis, { type: 'value' }); option.yAxis = Object.assign(option.yAxis, { type: axisType }); } else { option.xAxis = Object.assign(option.xAxis, { type: axisType }); option.yAxis = Object.assign(option.yAxis, { type: 'value' }); } //图例 option.legend = contentParams === null || contentParams === void 0 ? void 0 : contentParams.legend; switch (contentParams === null || contentParams === void 0 ? void 0 : (_contentParams$legend = contentParams.legend) === null || _contentParams$legend === void 0 ? void 0 : _contentParams$legend._position) { case 'top': option.legend = Object.assign(option.legend, { top: '5%', left: 'center' }); break; case 'bottom': option.legend = Object.assign(option.legend, { bottom: '5%', left: 'center' }); break; case 'left': option.legend = Object.assign(option.legend, { top: 'center', left: '5%' }); break; case 'right': option.legend = Object.assign(option.legend, { top: 'center', right: '5%' }); break; case 'topLeft': option.legend = Object.assign(option.legend, { top: '5%', left: '5%' }); break; case 'topRight': option.legend = Object.assign(option.legend, { top: '5%', right: '5%' }); break; case 'bottomLeft': option.legend = Object.assign(option.legend, { bottom: '5%', left: '5%' }); break; case 'bottomRight': option.legend = Object.assign(option.legend, { bottom: '5%', right: '5%' }); break; case 'center': option.legend = Object.assign(option.legend, { top: 'center', left: 'center' }); break; } //tooltip option.tooltip = contentParams === null || contentParams === void 0 ? void 0 : contentParams.tooltip; if ((_option$tooltip = option.tooltip) !== null && _option$tooltip !== void 0 && _option$tooltip._showPercentage) { var _option$tooltip2, _option$tooltip2$text, _contentParams$lineSp; var color = ((_option$tooltip2 = option.tooltip) === null || _option$tooltip2 === void 0 ? void 0 : (_option$tooltip2$text = _option$tooltip2.textStyle) === null || _option$tooltip2$text === void 0 ? void 0 : _option$tooltip2$text.color) || 'inherit'; var ifTimeAxis = contentParams === null || contentParams === void 0 ? void 0 : (_contentParams$lineSp = contentParams.lineSpecial) === null || _contentParams$lineSp === void 0 ? void 0 : _contentParams$lineSp._timeAxis; option.tooltip.formatter = function (params) { // console.log(params) if (Array.isArray(params)) { var _params$, _params$4, _params$5; var total = 0; var firstData = (_params$ = params[0]) === null || _params$ === void 0 ? void 0 : _params$.data; if (Array.isArray(firstData)) { //数组一定不是时间轴模式,不用判断ifTimeAxis firstData.forEach(function (each, i) { if (i !== 0) { total += each; } }); } else { if (ifTimeAxis) { var _params$2, _params$2$dimensionNa; (_params$2 = params[0]) === null || _params$2 === void 0 ? void 0 : (_params$2$dimensionNa = _params$2.dimensionNames) === null || _params$2$dimensionNa === void 0 ? void 0 : _params$2$dimensionNa.forEach(function (each, i) { //时间轴,时间与系列交替 if (i % 2 !== 0) { total += firstData[each] || 0; } }); } else { var _params$3, _params$3$dimensionNa; (_params$3 = params[0]) === null || _params$3 === void 0 ? void 0 : (_params$3$dimensionNa = _params$3.dimensionNames) === null || _params$3$dimensionNa === void 0 ? void 0 : _params$3$dimensionNa.forEach(function (each, i) { //类目轴,去掉第一个维度项 if (i !== 0) { total += firstData[each] || 0; } }); } } return "<div>\n <div style=\"color: " + color + "\">" + (((_params$4 = params[0]) === null || _params$4 === void 0 ? void 0 : _params$4.name) || ((_params$5 = params[0]) === null || _params$5 === void 0 ? void 0 : _params$5.axisValueLabel)) + "</div>\n " + params.map(function (eachSeriesItem) { var eachSeriesItemValue; if (Array.isArray(eachSeriesItem.data)) { eachSeriesItemValue = eachSeriesItem.value[eachSeriesItem.seriesIndex + 1]; } else { if (ifTimeAxis) { eachSeriesItemValue = eachSeriesItem.value[eachSeriesItem.dimensionNames[eachSeriesItem.seriesIndex * 2 + 1]]; } else { eachSeriesItemValue = eachSeriesItem.value[eachSeriesItem.dimensionNames[eachSeriesItem.seriesIndex + 1]]; } } return "<div style=\"color: " + color + ";display: flex;justify-content: space-between;gap: 15px\">\n <span>\n " + eachSeriesItem.marker + "\n <span>" + eachSeriesItem.seriesName + "</span>\n </span>\n <span>\n <span style=\"font-weight: bold\">" + (eachSeriesItemValue || 0) + "</span>\n <span> (" + ((eachSeriesItemValue || 0) * 100 / total).toFixed(1) + "%)</span>\n </span>\n </div>"; }).join('') + "\n </div>"; } else { var _total = 0; if (Array.isArray(params === null || params === void 0 ? void 0 : params.data)) { params === null || params === void 0 ? void 0 : params.data.forEach(function (each, i) { if (i !== 0) { _total += each; } }); } else { if (ifTimeAxis) { params === null || params === void 0 ? void 0 : params.dimensionNames.forEach(function (each, i) { if (i % 2 !== 0) { _total += (params === null || params === void 0 ? void 0 : params.data[each]) || 0; } }); } else { params === null || params === void 0 ? void 0 : params.dimensionNames.forEach(function (each, i) { if (i !== 0) { _total += (params === null || params === void 0 ? void 0 : params.data[each]) || 0; } }); } } var eachSeriesItemValue; if (Array.isArray(params.data)) { eachSeriesItemValue = params.value[params.seriesIndex + 1]; } else { if (ifTimeAxis) { eachSeriesItemValue = params.value[params.dimensionNames[params.seriesIndex * 2 + 1]]; } else { eachSeriesItemValue = params.value[params.dimensionNames[params.seriesIndex + 1]]; } } return "<div>\n <div style=\"color: " + color + "\">" + (params === null || params === void 0 ? void 0 : params.name) + "</div>\n <div style=\"color: " + color + ";display: flex;justify-content: space-between;gap: 15px\">\n <span>\n " + params.marker + "\n <span>" + params.seriesName + "</span>\n </span>\n <span>\n <span style=\"font-weight: bold\">" + (eachSeriesItemValue || 0) + "</span>\n <span> (" + ((eachSeriesItemValue || 0) * 100 / _total).toFixed(1) + "%)</span>\n </span>\n </div>\n </div>"; } }; } //颜色 option.backgroundColor = contentParams === null || contentParams === void 0 ? void 0 : (_contentParams$theme = contentParams.theme) === null || _contentParams$theme === void 0 ? void 0 : _contentParams$theme.backgroundColor; if (contentParams !== null && contentParams !== void 0 && (_contentParams$theme2 = contentParams.theme) !== null && _contentParams$theme2 !== void 0 && _contentParams$theme2.color) { var _contentParams$theme3; option.color = contentParams === null || contentParams === void 0 ? void 0 : (_contentParams$theme3 = contentParams.theme) === null || _contentParams$theme3 === void 0 ? void 0 : _contentParams$theme3.color.map(function (eachColor) { if (typeof eachColor === 'string' || !eachColor) { return eachColor; } else { var obj = { type: eachColor.type, x: 0, y: 0, x2: 0, y2: 0, colorStops: [{ offset: 0, color: eachColor.colorStops[0] // 0% 处的颜色 }, { offset: 1, color: eachColor.colorStops[1] // 100% 处的颜色 }], global: false // 缺省为 false }; if (eachColor.direction === 'horizontal') { obj.x2 = 1; } else { obj.y2 = 1; } return obj; } }); } //网格布局 option.grid = contentParams === null || contentParams === void 0 ? void 0 : (_contentParams$usual2 = contentParams.usual) === null || _contentParams$usual2 === void 0 ? void 0 : _contentParams$usual2.grid; return option; }; //展示数据 var showValue = function showValue(data) { lastDataRef.current = _.cloneDeep(data); var option = getChartOption(); if (props !== null && props !== void 0 && props.contentParams) { var _props$contentParams, _props$contentParams$, _props$contentParams3, _props$contentParams4, _props$contentParams9, _props$contentParams10, _props$contentParams11, _props$contentParams24, _props$contentParams25; var seriesItem = { type: 'bar', large: true }; //柱状图特殊配置 if (props !== null && props !== void 0 && (_props$contentParams = props.contentParams) !== null && _props$contentParams !== void 0 && (_props$contentParams$ = _props$contentParams.barSpecial) !== null && _props$contentParams$ !== void 0 && _props$contentParams$.showBackground) { var _props$contentParams2; seriesItem.showBackground = true; seriesItem.backgroundStyle = props === null || props === void 0 ? void 0 : (_props$contentParams2 = props.contentParams) === null || _props$contentParams2 === void 0 ? void 0 : _props$contentParams2.barSpecial.backgroundStyle; } //不同系列柱间距 seriesItem.barGap = (props === null || props === void 0 ? void 0 : (_props$contentParams3 = props.contentParams) === null || _props$contentParams3 === void 0 ? void 0 : _props$contentParams3.barSpecial._barGap) + '%'; //标签 if (props !== null && props !== void 0 && (_props$contentParams4 = props.contentParams) !== null && _props$contentParams4 !== void 0 && _props$contentParams4.label) { var _props$contentParams5, _props$contentParams6, _props$contentParams7, _props$contentParams8; seriesItem.label = { show: props === null || props === void 0 ? void 0 : (_props$contentParams5 = props.contentParams) === null || _props$contentParams5 === void 0 ? void 0 : _props$contentParams5.label.show, color: (props === null || props === void 0 ? void 0 : (_props$contentParams6 = props.contentParams) === null || _props$contentParams6 === void 0 ? void 0 : _props$contentParams6.label.color) || 'inherit', position: props === null || props === void 0 ? void 0 : (_props$contentParams7 = props.contentParams) === null || _props$contentParams7 === void 0 ? void 0 : _props$contentParams7.label.position }; switch (props === null || props === void 0 ? void 0 : (_props$contentParams8 = props.contentParams) === null || _props$contentParams8 === void 0 ? void 0 : _props$contentParams8.label._showPlan) { case 'normal': break; case 'pop': seriesItem.label.padding = 5; seriesItem.label.backgroundColor = 'rgba(255, 255, 255, 0.3)'; seriesItem.label.borderRadius = 100; break; case 'popDark': seriesItem.label.padding = 5; seriesItem.label.backgroundColor = 'rgba(0, 0, 0, 0.3)'; seriesItem.label.borderRadius = 100; break; } } //高亮配置 seriesItem.emphasis = {}; //高亮下的标签 if (props !== null && props !== void 0 && (_props$contentParams9 = props.contentParams) !== null && _props$contentParams9 !== void 0 && (_props$contentParams10 = _props$contentParams9.label) !== null && _props$contentParams10 !== void 0 && (_props$contentParams11 = _props$contentParams10._emphasisSel) !== null && _props$contentParams11 !== void 0 && _props$contentParams11.length) { var _props$contentParams12, _props$contentParams13, _props$contentParams14, _props$contentParams18, _props$contentParams19, _props$contentParams20; //先继承基础值 seriesItem.emphasis.label = _.cloneDeep(seriesItem.label); if (props !== null && props !== void 0 && (_props$contentParams12 = props.contentParams) !== null && _props$contentParams12 !== void 0 && (_props$contentParams13 = _props$contentParams12.label) !== null && _props$contentParams13 !== void 0 && (_props$contentParams14 = _props$contentParams13._emphasisSel) !== null && _props$contentParams14 !== void 0 && _props$contentParams14.includes('color')) { var _props$contentParams15, _props$contentParams16, _props$contentParams17; seriesItem.emphasis.label.color = (props === null || props === void 0 ? void 0 : (_props$contentParams15 = props.contentParams) === null || _props$contentParams15 === void 0 ? void 0 : (_props$contentParams16 = _props$contentParams15.label) === null || _props$contentParams16 === void 0 ? void 0 : (_props$contentParams17 = _props$contentParams16._emphasis) === null || _props$contentParams17 === void 0 ? void 0 : _props$contentParams17.color) || 'inherit'; } if (props !== null && props !== void 0 && (_props$contentParams18 = props.contentParams) !== null && _props$contentParams18 !== void 0 && (_props$contentParams19 = _props$contentParams18.label) !== null && _props$contentParams19 !== void 0 && (_props$contentParams20 = _props$contentParams19._emphasisSel) !== null && _props$contentParams20 !== void 0 && _props$contentParams20.includes('show')) { var _props$contentParams21, _props$contentParams22, _props$contentParams23; if (props !== null && props !== void 0 && (_props$contentParams21 = props.contentParams) !== null && _props$contentParams21 !== void 0 && (_props$contentParams22 = _props$contentParams21.label) !== null && _props$contentParams22 !== void 0 && (_props$contentParams23 = _props$contentParams22._emphasis) !== null && _props$contentParams23 !== void 0 && _props$contentParams23.show) { seriesItem.emphasis.label.show = true; } else { seriesItem.emphasis.label.show = false; } } } //根据数据和配置填充其它属性 option.dataset = {}; option.series = []; var newDataForTimeAxis = []; if (props !== null && props !== void 0 && (_props$contentParams24 = props.contentParams) !== null && _props$contentParams24 !== void 0 && (_props$contentParams25 = _props$contentParams24.dataSetConfig) !== null && _props$contentParams25 !== void 0 && _props$contentParams25.labelField) { var _props$contentParams26, _props$contentParams27, _props$contentParams40, _props$contentParams41, _props$contentParams42, _props$contentParams43, _props$contentParams44, _props$contentParams51, _props$contentParams52, _props$contentParams53; var dim = []; if (props !== null && props !== void 0 && (_props$contentParams26 = props.contentParams) !== null && _props$contentParams26 !== void 0 && (_props$contentParams27 = _props$contentParams26.barSpecial) !== null && _props$contentParams27 !== void 0 && _props$contentParams27._timeAxis) { var _props$contentParams$3; //时间轴 var needFillTimeAxis = true; if (Array.isArray(data)) { newDataForTimeAxis = _.cloneDeep(data); } else { var _data$props$contentPa; //对象模式,直接组装出所需格式 needFillTimeAxis = false; if ((_data$props$contentPa = data[props.contentParams.dataSetConfig.labelField]) !== null && _data$props$contentPa !== void 0 && _data$props$contentPa.length) { var _data$props$contentPa2; (_data$props$contentPa2 = data[props.contentParams.dataSetConfig.labelField]) === null || _data$props$contentPa2 === void 0 ? void 0 : _data$props$contentPa2.forEach(function (timeValue, timeIndex) { var _props$contentParams$2; var dataItem = {}; (_props$contentParams$2 = props.contentParams.dataSetConfig.lineArr) === null || _props$contentParams$2 === void 0 ? void 0 : _props$contentParams$2.forEach(function (lineSet, lineIndex) { var _data$lineSet$field; var timeMark = '系列' + (lineIndex + 1); dataItem[timeMark] = timeValue; dataItem[lineSet.field] = (_data$lineSet$field = data[lineSet.field]) === null || _data$lineSet$field === void 0 ? void 0 : _data$lineSet$field[timeIndex]; }); newDataForTimeAxis.push(dataItem); }); } } (_props$contentParams$3 = props.contentParams.dataSetConfig.lineArr) === null || _props$contentParams$3 === void 0 ? void 0 : _props$contentParams$3.forEach(function (lineSet, lineIndex) { var _lineSet$extraStyle, _props$contentParams28, _props$contentParams29; var timeMark = '系列' + (lineIndex + 1); if (needFillTimeAxis) { var _newDataForTimeAxis; //补上独立的时间 (_newDataForTimeAxis = newDataForTimeAxis) === null || _newDataForTimeAxis === void 0 ? void 0 : _newDataForTimeAxis.forEach(function (eachItem) { eachItem[timeMark] = eachItem[props.contentParams.dataSetConfig.labelField]; }); } dim.push({ name: timeMark, displayName: '', type: 'time' }); dim.push({ name: lineSet.field, type: 'number' }); var newSeriesItem = _.cloneDeep(seriesItem); if ((_lineSet$extraStyle = lineSet.extraStyle) !== null && _lineSet$extraStyle !== void 0 && _lineSet$extraStyle.color) { var _lineSet$extraStyle2; newSeriesItem.itemStyle = { color: (_lineSet$extraStyle2 = lineSet.extraStyle) === null || _lineSet$extraStyle2 === void 0 ? void 0 : _lineSet$extraStyle2.color }; } //需要用到field的特殊配置先修改好 if (props !== null && props !== void 0 && (_props$contentParams28 = props.contentParams) !== null && _props$contentParams28 !== void 0 && (_props$contentParams29 = _props$contentParams28.label) !== null && _props$contentParams29 !== void 0 && _props$contentParams29.show) { var _props$contentParams30, _props$contentParams31; if (props !== null && props !== void 0 && (_props$contentParams30 = props.contentParams) !== null && _props$contentParams30 !== void 0 && _props$contentParams30.label._beforeTxt || props !== null && props !== void 0 && (_props$contentParams31 = props.contentParams) !== null && _props$contentParams31 !== void 0 && _props$contentParams31.label._afterTxt) { var _props$contentParams32, _props$contentParams33; //特殊格式 newSeriesItem.label.formatter = (props === null || props === void 0 ? void 0 : (_props$contentParams32 = props.contentParams) === null || _props$contentParams32 === void 0 ? void 0 : _props$contentParams32.label._beforeTxt) + " {@" + lineSet.field + "} " + (props === null || props === void 0 ? void 0 : (_props$contentParams33 = props.contentParams) === null || _props$contentParams33 === void 0 ? void 0 : _props$contentParams33.label._afterTxt); } } option.series.push(newSeriesItem); }); } else { var _props$contentParams$4; //类目轴 dim.push(props.contentParams.dataSetConfig.labelField); (_props$contentParams$4 = props.contentParams.dataSetConfig.lineArr) === null || _props$contentParams$4 === void 0 ? void 0 : _props$contentParams$4.forEach(function (lineSet) { var _lineSet$extraStyle3, _props$contentParams34, _props$contentParams35; dim.push(lineSet.field); var newSeriesItem = _.cloneDeep(seriesItem); if ((_lineSet$extraStyle3 = lineSet.extraStyle) !== null && _lineSet$extraStyle3 !== void 0 && _lineSet$extraStyle3.color) { var _lineSet$extraStyle4; newSeriesItem.itemStyle = { color: (_lineSet$extraStyle4 = lineSet.extraStyle) === null || _lineSet$extraStyle4 === void 0 ? void 0 : _lineSet$extraStyle4.color }; } //需要用到field的特殊配置先修改好 if (props !== null && props !== void 0 && (_props$contentParams34 = props.contentParams) !== null && _props$contentParams34 !== void 0 && (_props$contentParams35 = _props$contentParams34.label) !== null && _props$contentParams35 !== void 0 && _props$contentParams35.show) { var _props$contentParams36, _props$contentParams37; if (props !== null && props !== void 0 && (_props$contentParams36 = props.contentParams) !== null && _props$contentParams36 !== void 0 && _props$contentParams36.label._beforeTxt || props !== null && props !== void 0 && (_props$contentParams37 = props.contentParams) !== null && _props$contentParams37 !== void 0 && _props$contentParams37.label._afterTxt) { var _props$contentParams38, _props$contentParams39; //特殊格式 newSeriesItem.label.formatter = (props === null || props === void 0 ? void 0 : (_props$contentParams38 = props.contentParams) === null || _props$contentParams38 === void 0 ? void 0 : _props$contentParams38.label._beforeTxt) + " {@" + lineSet.field + "} " + (props === null || props === void 0 ? void 0 : (_props$contentParams39 = props.contentParams) === null || _props$contentParams39 === void 0 ? void 0 : _props$contentParams39.label._afterTxt); } } option.series.push(newSeriesItem); }); } if (props !== null && props !== void 0 && (_props$contentParams40 = props.contentParams) !== null && _props$contentParams40 !== void 0 && (_props$contentParams41 = _props$contentParams40.barSpecial) !== null && _props$contentParams41 !== void 0 && _props$contentParams41._timeAxis) { //时间轴 option.dataset.source = newDataForTimeAxis; } else { //类目轴 option.dataset.source = data; } if ((props === null || props === void 0 ? void 0 : (_props$contentParams42 = props.contentParams) === null || _props$contentParams42 === void 0 ? void 0 : (_props$contentParams43 = _props$contentParams42.barSpecial) === null || _props$contentParams43 === void 0 ? void 0 : (_props$contentParams44 = _props$contentParams43._minSet) === null || _props$contentParams44 === void 0 ? void 0 : _props$contentParams44.type) === 'auto') { var _props$contentParams$5; //数值轴需要自动配置最小值 var min = Infinity; (_props$contentParams$5 = props.contentParams.dataSetConfig.lineArr) === null || _props$contentParams$5 === void 0 ? void 0 : _props$contentParams$5.forEach(function (lineSet) { if (Array.isArray(data)) { data === null || data === void 0 ? void 0 : data.forEach(function (eachItem) { //0 不做考虑 if (eachItem[lineSet.field]) { min = Math.min(min, eachItem[lineSet.field]); } }); } else if (Array.isArray(data[lineSet.field])) { //0 不做考虑 min = Math.min.apply(Math, [min].concat(data[lineSet.field].filter(function (eachNum) { return eachNum !== 0; }))); } }); if (min !== Infinity) { var _props$contentParams45, _props$contentParams46, _props$contentParams47, _props$contentParams48, _props$contentParams49, _props$contentParams50; min = min * (props === null || props === void 0 ? void 0 : (_props$contentParams45 = props.contentParams) === null || _props$contentParams45 === void 0 ? void 0 : (_props$contentParams46 = _props$contentParams45.barSpecial) === null || _props$contentParams46 === void 0 ? void 0 : (_props$contentParams47 = _props$contentParams46._minSet) === null || _props$contentParams47 === void 0 ? void 0 : _props$contentParams47.autoNum) / 100; var autoStep = (props === null || props === void 0 ? void 0 : (_props$contentParams48 = props.contentParams) === null || _props$contentParams48 === void 0 ? void 0 : (_props$contentParams49 = _props$contentParams48.barSpecial) === null || _props$contentParams49 === void 0 ? void 0 : (_props$contentParams50 = _props$contentParams49._minSet) === null || _props$contentParams50 === void 0 ? void 0 : _props$contentParams50.autoStep) || 1; min = min - min % autoStep; var pointIndex = String(autoStep).indexOf('.') + 1; var precision = pointIndex > 0 ? String(autoStep).length - pointIndex : 0; min = min.toFixed(precision); if (option.yAxis.type === 'value') { option.yAxis.min = min; } else { option.xAxis.min = min; } } } else if ((props === null || props === void 0 ? void 0 : (_props$contentParams51 = props.contentParams) === null || _props$contentParams51 === void 0 ? void 0 : (_props$contentParams52 = _props$contentParams51.barSpecial) === null || _props$contentParams52 === void 0 ? void 0 : (_props$contentParams53 = _props$contentParams52._minSet) === null || _props$contentParams53 === void 0 ? void 0 : _props$contentParams53.type) === 'set') { //手动设置 if (option.yAxis.type === 'value') { var _props$contentParams54, _props$contentParams55, _props$contentParams56; option.yAxis.min = props === null || props === void 0 ? void 0 : (_props$contentParams54 = props.contentParams) === null || _props$contentParams54 === void 0 ? void 0 : (_props$contentParams55 = _props$contentParams54.barSpecial) === null || _props$contentParams55 === void 0 ? void 0 : (_props$contentParams56 = _props$contentParams55._minSet) === null || _props$contentParams56 === void 0 ? void 0 : _props$contentParams56.setNum; } else { var _props$contentParams57, _props$contentParams58, _props$contentParams59; option.xAxis.min = props === null || props === void 0 ? void 0 : (_props$contentParams57 = props.contentParams) === null || _props$contentParams57 === void 0 ? void 0 : (_props$contentParams58 = _props$contentParams57.barSpecial) === null || _props$contentParams58 === void 0 ? void 0 : (_props$contentParams59 = _props$contentParams58._minSet) === null || _props$contentParams59 === void 0 ? void 0 : _props$contentParams59.setNum; } } option.dataset.dimensions = dim; } } //自定义转换数据和配置项 (低代码引擎中可以直接编写可运行的函数) if (props.formatOptionCode) { try { option = props.formatOptionCode(option, data); } catch (e) { console.error(e); _message.error('Echarts配置项转换出错'); } } console.log('option', option); if (myChartRef.current) { console.log("开始绘制", myChartRef.current); myChartRef.current.clear(); myChartRef.current.resize(); myChartRef.current.setOption(option); } setError(null); }; return /*#__PURE__*/React.createElement("div", { className: bizCssPrefix + '-chartBox' }, /*#__PURE__*/React.createElement("div", { ref: chartDomRef, className: bizCssPrefix + '-chartDom', style: props.style || {} }), error ? /*#__PURE__*/React.createElement("div", { className: bizCssPrefix + '-errorMsg' }, error) : null); }; export default ChartBar;