UNPKG

bytev-charts-beta1.0

Version:

测试版-1.0,版本号为小版本; 基于echarts和JavaScript及ES6封装的一个可以直接调用的图表组件库,内置主题设计,简单快捷,且支持用户自定义配置; npm 安装方式: npm install bytev-charts 若启动提示还需额外install插件,则运行 npm install @babel/runtime-corejs2 即可;

172 lines (140 loc) 6.01 kB
import _Reflect$construct from "@babel/runtime-corejs2/core-js/reflect/construct"; import "core-js/modules/es.object.to-string.js"; import _classCallCheck from "@babel/runtime-corejs2/helpers/classCallCheck"; import _createClass from "@babel/runtime-corejs2/helpers/createClass"; import _assertThisInitialized from "@babel/runtime-corejs2/helpers/assertThisInitialized"; import _get from "@babel/runtime-corejs2/helpers/get"; import _inherits from "@babel/runtime-corejs2/helpers/inherits"; import _possibleConstructorReturn from "@babel/runtime-corejs2/helpers/possibleConstructorReturn"; import _getPrototypeOf from "@babel/runtime-corejs2/helpers/getPrototypeOf"; import _defineProperty from "@babel/runtime-corejs2/helpers/defineProperty"; import _Object$assign from "@babel/runtime-corejs2/core-js/object/assign"; import "core-js/modules/es.array.concat.js"; import "core-js/modules/es.function.name.js"; import "core-js/modules/es.array.index-of.js"; import "core-js/modules/es.number.to-fixed.js"; import "core-js/modules/web.timers.js"; function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } import PmgressBarComponent from '../ProgressBarComponent.class.js'; /* * 基本进度条 * */ var ProgressBarBasic = /*#__PURE__*/function (_PmgressBarComponent) { _inherits(ProgressBarBasic, _PmgressBarComponent); var _super = _createSuper(ProgressBarBasic); function ProgressBarBasic() { var _this; _classCallCheck(this, ProgressBarBasic); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = _super.call.apply(_super, [this].concat(args)); _defineProperty(_assertThisInitialized(_this), "name", 'ProgressBarBasic'); _defineProperty(_assertThisInitialized(_this), "first", true); return _this; } _createClass(ProgressBarBasic, [{ key: "buildByteVModel", value: function buildByteVModel() { _get(_getPrototypeOf(ProgressBarBasic.prototype), "buildByteVModel", this).call(this); this.byteVModel.series = [//补充的底色进度条 { animation: false, z: 2, type: 'bar', silent: true, barWidth: 20, barGap: '-100%', itemStyle: { // color: '#0872EC30', color: this.byteVModel.color[0] + '30', // borderColor: '#0872EC50', borderColor: this.byteVModel.color[0] + '50', borderWidth: 6, shadowBlur: 3, // shadowColor: "#0872EC30", shadowColor: this.byteVModel.color[0] + '30', shadowOffsetX: 0, shadowOffsetY: 0 }, tooltip: { show: false }, data: [100] }, //实际进度条 { // animation:500, z: 3, type: 'bar', barWidth: 20, itemStyle: { color: this.byteVModel.color[0], borderColor: '#00000000', borderWidth: 10 }, tooltip: { show: true }, label: { show: true, fontSize: 16, lineHeight: -32, color: this.theme.nameTextStyle.color, padding: [0, 4, 0, 10], position: "insideBottomRight", valueAnimation: true // formatter: (param)=>{ // return param.data + ' ' + (data.unit || '') // } }, data: [0] }]; } }, { key: "setData", value: function setData(data) { var _this2 = this; _get(_getPrototypeOf(ProgressBarBasic.prototype), "setData", this).call(this, data); if (data.constructor === Array) { data = data.length ? data[data.length - 1] : {}; } if (!data && !this.data) { return; } if (!data) { data = this.data; } data.max = data.max || 100; if (data.name) { var n = data.value / data.max * 100; n = (n + '').indexOf('.') != -1 ? n.toFixed(2) : n; this.byteVModel.yAxis[0].data = [(data.name || '') + ' ' + n + '%']; } this.byteVModel.xAxis[0].max = data.max; this.byteVModel.yAxis[1].data = [data.max + ' ' + (data.unit || '')]; this.byteVModel.series[0].barWidth = this.byteVModel.series[1].barWidth = data.barWidth || 20; this.byteVModel.series[1].label.formatter = function (param) { return param.data + ' ' + (data.unit || ''); }; //先无动画的情况下设置一下xy轴 this.byteVModel.animation = false; this.componentInstance.setOption(this.byteVModel); //再有动画的设置进度 setTimeout(function () { _this2.byteVModel.animation = true; _this2.byteVModel.series[0].data[0] = data.max; _this2.byteVModel.series[1].data[0] = data.value; var align = "right"; var per = data.value / data.max; if (per < .10) { align = "left"; } else if (per < .90) { align = "center"; } _this2.byteVModel.series[1].label.align = align; _Object$assign(_this2.byteVModel.series[0].itemStyle, data.itemStyle); _this2.componentInstance.setOption(_this2.byteVModel, true); }, 1); } }]); return ProgressBarBasic; }(PmgressBarComponent); export { ProgressBarBasic as default };