UNPKG

fastlion-amis

Version:

一种MIS页面生成工具

89 lines (88 loc) 5.05 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Statistic2Renderer = exports.Statistic2 = void 0; var tslib_1 = require("tslib"); var react_1 = (0, tslib_1.__importDefault)(require("react")); var factory_1 = require("../../../factory"); var Statistic2 = /** @class */ (function (_super) { (0, tslib_1.__extends)(Statistic2, _super); function Statistic2(props) { var _this = _super.call(this, props) || this; _this.state = { dataSources: [] }; return _this; } Statistic2.prototype.renderStatistic = function (dataSource, index) { var value = String(dataSource.value); var i = value.indexOf('.'); var integer = i > -1 ? value.substring(0, i) : value; var decimal = i > -1 ? value.substring(i, value.length) : ''; return (react_1.default.createElement("div", { key: index, className: 'chart-statistic', style: { borderLeft: "solid 3px " + dataSource.color } }, react_1.default.createElement("div", { className: 'chart-statistic-header' }, react_1.default.createElement("span", { className: 'chart-statistic-header-title' }, dataSource.title), react_1.default.createElement("span", { className: 'chart-statistic-header-subtitle' }, dataSource.subContent, react_1.default.createElement("span", { style: { color: dataSource.color } }, dataSource.subNumber))), react_1.default.createElement("div", { className: 'chart-statistic-content' }, react_1.default.createElement("span", { className: 'chart-statistic-content-value' }, dataSource.prefix, react_1.default.createElement("span", null, integer), react_1.default.createElement("span", { className: 'chart-statistic-content-value-decimal' }, decimal), "\u00A0", dataSource.suffix), react_1.default.createElement("span", { className: 'chart-statistic-content-rate', style: { color: dataSource.color } }, dataSource.rate, " ", react_1.default.createElement("i", { className: dataSource.icon }))), react_1.default.createElement("div", { className: 'chart-statistic-footer' }, react_1.default.createElement("div", { className: 'chart-statistic-footer-progress', style: { width: dataSource.progress + "%", backgroundColor: dataSource.color } }, dataSource.progress, "%")))); }; Statistic2.prototype.componentDidMount = function () { var _this = this; var _a = this.props, env = _a.env, api = _a.api, store = _a.store, title = _a.title, subContent = _a.subContent, subNumber = _a.subNumber, num = _a.num, prefix = _a.prefix, suffix = _a.suffix, rate = _a.rate, icon = _a.icon, progress = _a.progress, color = _a.color; env.fetcher(api, store === null || store === void 0 ? void 0 : store.data).then(function (res) { var datas = res.data; var soures = []; datas.forEach(function (data) { soures.push({ title: data[title], subContent: data[subContent], subNumber: data[subNumber !== null && subNumber !== void 0 ? subNumber : ''], value: data[num], prefix: data[prefix !== null && prefix !== void 0 ? prefix : ''], suffix: data[suffix !== null && suffix !== void 0 ? suffix : ''], rate: data[rate], icon: data[icon !== null && icon !== void 0 ? icon : ''], progress: data[progress], color: data[color !== null && color !== void 0 ? color : ''] }); }); _this.setState({ dataSources: soures }); }); }; Statistic2.prototype.render = function () { var _this = this; var dataSources = this.state.dataSources; return (react_1.default.createElement("div", { className: 'chart-statistic-group' }, dataSources.map(function (dataSource, index) { return _this.renderStatistic(dataSource, index); }))); }; Statistic2.defaultProps = {}; return Statistic2; }(react_1.default.Component)); exports.Statistic2 = Statistic2; var Statistic2Renderer = /** @class */ (function (_super) { (0, tslib_1.__extends)(Statistic2Renderer, _super); function Statistic2Renderer() { return _super !== null && _super.apply(this, arguments) || this; } Statistic2Renderer = (0, tslib_1.__decorate)([ (0, factory_1.Renderer)({ type: 'statistic2' }) ], Statistic2Renderer); return Statistic2Renderer; }(Statistic2)); exports.Statistic2Renderer = Statistic2Renderer; //# sourceMappingURL=./renderers/Lion/Statistic/Statistic2.js.map