fastlion-amis
Version:
一种MIS页面生成工具
89 lines (88 loc) • 5.05 kB
JavaScript
"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