ming-demo3
Version:
mdf metaui web
449 lines (394 loc) • 15.7 kB
JavaScript
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _isEmpty2 = _interopRequireDefault(require("lodash/isEmpty"));
var _forEach2 = _interopRequireDefault(require("lodash/forEach"));
var _cloneDeep2 = _interopRequireDefault(require("lodash/cloneDeep"));
var _isEqual2 = _interopRequireDefault(require("lodash/isEqual"));
var _react = _interopRequireWildcard(require("react"));
var eChartCommon = _interopRequireWildcard(require("../../eChartCommon"));
var eChartProxy = _interopRequireWildcard(require("../../eChartProxy"));
var Tabs = null;
var TabPane = null;
var Button = null;
var eChartSum = function (_Component) {
(0, _inherits2["default"])(eChartSum, _Component);
function eChartSum(props) {
var _this;
(0, _classCallCheck2["default"])(this, eChartSum);
_this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(eChartSum).call(this, props));
eChartCommon.LogChartInfo("eChartSum constructor ", "", 900);
_this.initState(true, props.sumConfig, props.panelType, props.isInDesign);
if (_this.state.panelType == 3) {
if (props.isInDesign) {} else {
Tabs = require('antd-mobile').Tabs;
}
_this.tabIndex = 1;
_this.activeTabKey = 1;
}
return _this;
}
(0, _createClass2["default"])(eChartSum, [{
key: "initState",
value: function initState(bFirst, sumConfig, panelType, isInDesign) {
this.state = {
panelType: panelType || 1,
sumConfig: sumConfig,
condition: sumConfig.condition,
isInDesign: isInDesign,
totalFields: {},
controls: [],
data: {}
};
}
}, {
key: "shouldComponentUpdate",
value: function shouldComponentUpdate(nextProps, nextState) {
var bFlag;
if (this.state.panelType == 3) {
if ((0, _isEqual2["default"])(nextState, this.state) == false) {
bFlag = true;
} else {
bFlag = false;
}
} else {
bFlag = true;
}
eChartCommon.LogChartInfo("eChartSum shouldComponentUpdate return ", bFlag, 900);
return bFlag;
}
}, {
key: "componentWillReceiveProps",
value: function componentWillReceiveProps(nextProps) {
eChartCommon.LogChartInfo("eChartSum componentWillReceiveProps ", "", 900);
if (this.state.panelType == 3 && (0, _isEqual2["default"])(nextProps.sumConfig, this.state.sumConfig) == false) {
this.initState(false, nextProps.sumConfig, nextProps.panelType, nextProps.isInDesign);
this.setSumFileds(this.state.sumConfig.sumFields);
this.getData();
}
}
}, {
key: "componentDidMount",
value: function componentDidMount() {
this.setSumFileds(this.state.sumConfig.sumFields);
this.getData();
}
}, {
key: "componentWillUnmount",
value: function componentWillUnmount() {
var self = this;
if (self._timer) {
clearInterval(self._timer);
self._timer = null;
}
;
self._unmount = true;
}
}, {
key: "getData",
value: function getData() {
var self = this;
var sumConfig = this.state.sumConfig;
if (self.state.condition && sumConfig.billnum) {
self.checkTimer();
var queryParams = {
billnum: sumConfig.billnum,
condition: self.state.condition,
isOnlyTotal: true
};
var date1;
var date2;
var callback = function callback(json) {
date2 = new Date().getTime();
eChartCommon.LogChartInfo("获取图形报表 /report/list 本次List请求结束 时间 (秒) =" + parseInt(date2 - date1) / 1000 + " json.code = " + json.code + " json.message = " + json.message + " queryParams ", JSON.stringify(queryParams), 15);
if (json.code === 200) {
var sumData = json.data.sumRecordList;
self.setSum(sumData);
} else {
eChartCommon.LogChartInfo("获取图形报表数据Err 查询参数 =" + JSON.stringify(queryParams) + " 返回错误信息 ", json.message, 999);
}
};
date1 = new Date().getTime();
eChartCommon.LogChartInfo("获取图形报表 /report/list 本次List请求开始 时间 =" + Date() + " queryParams ", JSON.stringify(queryParams), 15);
queryParams.isFromKanban = true;
eChartProxy.doProxy(eChartProxy.url.reportList, 'POST', eChartCommon.trimCondition((0, _cloneDeep2["default"])(queryParams)), callback);
}
}
}, {
key: "getClassNamePrifx",
value: function getClassNamePrifx(className) {
if (this.state.panelType == 2) className = className + "2";
return className;
}
}, {
key: "checkTimer",
value: function checkTimer() {
var self = this;
if (self._timer == undefined && (self.state.panelType == 1 || self.state.panelType == 3) && !!self.state.isInDesign == false) {
var refreshInterval = self.state.sumConfig.refreshInterval;
if (isNaN(refreshInterval)) {
eChartCommon.LogChartInfo("汇总区域设置的自动刷新间隔错误。 refreshInterval ", refreshInterval, 999);
return;
}
refreshInterval = Number(refreshInterval);
if (Number.isInteger(refreshInterval) == false) {
eChartCommon.LogChartInfo("汇总区域设置的自动刷新间隔错误。 refreshInterval ", refreshInterval, 999);
return;
}
if (refreshInterval == 0) {
eChartCommon.LogChartInfo("汇总区域设置不自动刷新。 refreshInterval ", refreshInterval, 6);
return;
}
if (refreshInterval < 1) {
eChartCommon.LogChartInfo("汇总区域设置的自动刷新间隔太短。 refreshInterval ", refreshInterval, 999);
return;
}
self._timer = setInterval(function () {
if (self.props.showIt == true) {
self.getData();
}
}, refreshInterval * 1000);
}
}
}, {
key: "setSumFileds",
value: function setSumFileds(sumFields) {
var tmpSumFields = (0, _cloneDeep2["default"])(sumFields);
tmpSumFields.sort(function (a, b) {
return a.iOrder - b.iOrder;
});
var totalFields = {};
var controls = [];
(0, _forEach2["default"])(tmpSumFields, function (item) {
if (item.bSelected) {
var totalField = {
caption: item.showCaption || item.caption,
value: 0,
postfix: item.postfix
};
totalFields[item.key] = totalField;
controls.push(totalField);
}
});
this.state.totalFields = totalFields;
this.state.controls = controls;
this.setSum([{}]);
eChartCommon.LogChartInfo(" setSumFileds controls = ", JSON.stringify(controls), 6);
this.tabIndex = 1;
}
}, {
key: "setSum",
value: function setSum(sumData) {
var totalFields = this.state.totalFields;
if (!sumData || (0, _isEmpty2["default"])(sumData) || !sumData.length) sumData = [{}];
var controls = [];
(0, _forEach2["default"])(totalFields, function (item, key) {
controls.push({
caption: item.caption,
value: sumData[0][key] || 0,
postfix: item.postfix
});
});
this.state.controls = controls;
this.forceUpdate();
eChartCommon.LogChartInfo(" setSum controls = ", JSON.stringify(controls), 6);
}
}, {
key: "toNextPage",
value: function toNextPage(num, length) {
this.tabIndex = this.tabIndex + num;
if (this.tabIndex <= 0) this.tabIndex = length;
if (this.tabIndex >= length + 1) this.tabIndex = 1;
this.forceUpdate();
}
}, {
key: "onTabClick",
value: function onTabClick(length) {
if (length > 1) {
this.activeTabKey = this.activeTabKey + 1;
if (this.activeTabKey >= length) this.activeTabKey = 0;
console.log('onTabClick length=' + length + ' this.activeTabKey = ' + this.activeTabKey);
this.forceUpdate();
}
}
}, {
key: "render",
value: function render() {
var _this2 = this;
eChartCommon.LogChartInfo("eChartSum render this.activeTabKey = " + this.activeTabKey, "", 900);
var self = this;
var sumConfig = self.state.sumConfig;
var controls = this.state.controls;
var skinStyle_Value = {};
var skinStyle_Caption = {};
if (!!self.props.skinConfig && self.props.skinConfig.displaySkin) {
skinStyle_Value.color = self.props.skinConfig.displaySkin.chartSum_NumColor;
skinStyle_Caption.color = self.props.skinConfig.displaySkin.textColor2;
} else if (this.state.panelType == 2) {
skinStyle_Caption.color = eChartCommon.panelDefaultValue.panel2SumTextColor;
}
skinStyle_Caption.fontSize = Number(sumConfig.fontSize) || 12;
skinStyle_Value.fontSize = Number(sumConfig.valueFontSize) || 24;
eChartCommon.LogChartInfo(" controls = ", JSON.stringify(controls), 6);
if (this.state.panelType == 3) {
var sumCount = 2;
var children = [];
var allTabs = [];
var tabs = [];
var content;
var style = {
width: '100%',
textAlign: ' center'
};
if (this.state.isInDesign == true) {
controls.forEach(function (item, index) {
if (children.length < sumCount) {
children.push(_react["default"].createElement("div", {
className: self.getClassNamePrifx("eChartSumTabSub")
}, _react["default"].createElement("div", {
className: self.getClassNamePrifx("eChartSumTabSubCaption")
}, " ", item.caption, " "), _react["default"].createElement("div", {
className: self.getClassNamePrifx("eChartSumTabSubValue")
}, " ", item.value, " ")));
}
if (children.length == sumCount || index == controls.length - 1) {
var key = allTabs.length + 1;
allTabs.push(_react["default"].createElement(TabPane, {
tab: "Tab" + key,
key: key
}, children));
children = [];
}
});
var _content = [];
if (allTabs.length > 1) {
_content.push(_react["default"].createElement("div", {
className: "eChartSum_Arrows"
}, _react["default"].createElement(Button, {
icon: "arrow-left",
onClick: function onClick() {
return _this2.toNextPage(-1, allTabs.length);
}
}), _react["default"].createElement(Button, {
icon: "arrow-right",
onClick: function onClick() {
return _this2.toNextPage(1, allTabs.length);
}
})));
}
_content.push(_react["default"].createElement(Tabs, {
tabBarPosition: "bottom",
activeKey: self.tabIndex + ""
}, allTabs));
return _react["default"].createElement("div", {
style: {
height: '100%',
width: '100%',
textAlign: ' center',
alignItems: 'center',
display: 'flex'
}
}, _react["default"].createElement("div", {
className: self.getClassNamePrifx("eChartSum_Mobile"),
style: style
}, _content));
} else {
controls.forEach(function (item, index) {
if (children.length < sumCount) {
children.push(_react["default"].createElement("div", {
className: self.getClassNamePrifx("eChartSumTabSubR")
}, _react["default"].createElement("div", {
className: self.getClassNamePrifx("eChartSumTabSubCaptionR")
}, " ", item.caption, " "), _react["default"].createElement("div", {
className: self.getClassNamePrifx("eChartSumTabSubValueR")
}, " ", item.value, " ")));
}
if (children.length == sumCount || index == controls.length - 1) {
var key = 1 + allTabs.length;
allTabs.push(_react["default"].createElement("div", null, children));
tabs.push({
sumFieldsCount: children.length
});
children = [];
}
});
if (allTabs.length <= 1) {
content = allTabs;
} else {
eChartCommon.LogChartInfo("eChartSum render this.activeTabKey = " + this.activeTabKey, "", 999);
content = _react["default"].createElement(Tabs, {
tabs: tabs,
tabBarPosition: "bottom",
swipeable: false,
activeTab: this.activeTabKey
}, allTabs);
}
return _react["default"].createElement("div", {
style: {
height: '100%',
width: '100%',
textAlign: ' center',
alignItems: 'center',
display: 'flex'
}
}, _react["default"].createElement("div", {
className: self.getClassNamePrifx("eChartSum_MobileR"),
style: style,
onClick: function onClick() {
return self.onTabClick(allTabs.length);
}
}, content));
}
} else {
var sumArr = [];
if (!!controls.length) {
var width = 100 / controls.length;
controls.forEach(function (item) {
sumArr.push(_react["default"].createElement("div", {
className: self.getClassNamePrifx("eChartSumSub"),
style: {
"float": 'left',
width: width + '%',
overflow: 'hidden'
}
}, _react["default"].createElement("div", {
style: skinStyle_Caption
}, item.caption), _react["default"].createElement("div", null, _react["default"].createElement("span", {
style: skinStyle_Value
}, item.value))));
});
}
var _style = {
width: '100%',
textAlign: ' center'
};
if (sumConfig.hasOwnProperty("fontSize")) _style.fontSize = sumConfig.fontSize;
if (sumConfig.hasOwnProperty("fontFamily")) _style.fontFamily = sumConfig.fontFamily;
return _react["default"].createElement("div", {
style: {
height: '100%',
width: '100%',
textAlign: ' center',
alignItems: 'center',
display: 'flex'
}
}, _react["default"].createElement("div", {
className: self.getClassNamePrifx("eChartSum"),
style: _style
}, sumArr));
}
}
}]);
return eChartSum;
}(_react.Component);
exports["default"] = eChartSum;
//# sourceMappingURL=eChartSum_Mobile.js.map