ming-demo3
Version:
mdf metaui web
636 lines (565 loc) • 23 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 _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _react = _interopRequireWildcard(require("react"));
var _baseui = require("@mdf/baseui");
var _formatDate = require("@mdf/cube/lib/helpers/formatDate");
var _row = _interopRequireDefault(require("../../basic/row"));
var _col = _interopRequireDefault(require("../../basic/col"));
var eChartCommon = _interopRequireWildcard(require("../eChartCommon"));
var eChartDemoData = _interopRequireWildcard(require("../eChartDemoData"));
var eChartProxy = _interopRequireWildcard(require("../eChartProxy"));
var _SvgIcon = _interopRequireDefault(require("@mdf/metaui-web/lib/components/common/SvgIcon"));
var Option = _baseui.Select.Option;
var RadioGroup = _baseui.Radio.Group;
var ConvenientQuery = null;
var eChartPanelSetSum = function (_React$Component) {
(0, _inherits2["default"])(eChartPanelSetSum, _React$Component);
function eChartPanelSetSum(props) {
var _this;
(0, _classCallCheck2["default"])(this, eChartPanelSetSum);
_this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(eChartPanelSetSum).call(this, props));
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChecked", function (checked, key) {
var self = (0, _assertThisInitialized2["default"])(_this);
var sumFields = _.cloneDeep(self.state.sumFields);
var ele = _.find(sumFields, function (o) {
return o.key == key;
});
if (checked) {
var tmpOrder = 0;
_.forEach(sumFields, function (eleTmp) {
if (eleTmp.iOrder > tmpOrder && eleTmp.bSelected == true) tmpOrder = eleTmp.iOrder;
});
ele.bSelected = true;
ele.iOrder = tmpOrder + 1;
} else {
ele.bSelected = false;
ele.iOrder = 9999;
}
self.setState({
sumFields: sumFields
});
});
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleBodyClick", function (e) {
if (_this.state.editFieldName != "" && e.target.id != _this.state.editFieldName) _this.setState({
editFieldName: ""
});
});
eChartCommon.LogChartInfo("eChartPanelSetSum constructor ", "", 900);
ConvenientQuery = require('../../filter')["default"];
_this.bVisible = !!props.bVisible;
_this.state = {
panelType: props.panelType || 1
};
if (_this.bVisible) {
_this.colEle = props.colEle;
_this.initState(true, props.colEle.sumConfig, props.panelType);
_this.initModelForFilter();
}
return _this;
}
(0, _createClass2["default"])(eChartPanelSetSum, [{
key: "initState",
value: function initState(bFirst, sumConfig, panelType) {
var self = this;
sumConfig = sumConfig || {};
self.state = {
reportArray: _.isEmpty(self.state.reportArray) ? [] : self.state.reportArray,
subType: sumConfig.subType || "sum",
bUseQianSplit: sumConfig.hasOwnProperty("bUseQianSplit") ? sumConfig.bUseQianSplit : true,
title: sumConfig.title,
chartKey: sumConfig.chartKey,
billnum: sumConfig.billnum,
billName: sumConfig.billName,
filterId: sumConfig.filterId,
solutionId: sumConfig.solutionId,
condition: sumConfig.condition,
sumFields: sumConfig.sumFields || [],
fontSize: sumConfig.fontSize || 12,
fontFamily: 'STKaiti',
valueFontSize: sumConfig.valueFontSize || 24,
refreshInterval: sumConfig.hasOwnProperty("refreshInterval") ? sumConfig.refreshInterval : panelType == 3 ? 0 : 3600,
editFieldName: "",
panelType: self.state.panelType || panelType || 1
};
}
}, {
key: "shouldComponentUpdate",
value: function shouldComponentUpdate(nextProps, nextState) {
var bFlag;
if (this.state.panelType == 3) {
if (_.isEqual(nextState, this.state) == false) {
bFlag = true;
} else {
bFlag = false;
}
} else {
bFlag = true;
}
eChartCommon.LogChartInfo("eChartPanelSetSum shouldComponentUpdate return ", bFlag, 900);
return bFlag;
}
}, {
key: "componentWillReceiveProps",
value: function componentWillReceiveProps(nextProps) {
eChartCommon.LogChartInfo("eChartPanelSetSum componentWillReceiveProps ", "", 900);
if (this.state.panelType == 3) {
var preVisible = this.bVisible;
this.bVisible = !!nextProps.bVisible;
if (preVisible == true && this.bVisible == false) {
this.forceUpdate();
} else if (this.bVisible && (_.isEmpty(this.props.colEle) || _.isEqual(nextProps.colEle.sumConfig, this.props.colEle.sumConfig) == false)) {
this.colEle = nextProps.colEle;
this.initState(false, nextProps.colEle.sumConfig, nextProps.panelType);
this.initModelForFilter();
if (this.state.billnum) {
this.getSumFieldsArray(this.state.billnum);
} else {
this.forceUpdate();
}
}
}
}
}, {
key: "render",
value: function render() {
eChartCommon.LogChartInfo("eChartPanelSetSum render ", "", 900);
var self = this;
if (!self.bVisible) {
return _react["default"].createElement("div", {
className: "eChartPanelDesign_SetSum3_NoData"
});
}
var content = self.getCardContent();
if (this.state.panelType == 3) {
return _react["default"].createElement("div", {
className: "eChartPanelDesign_SetSum3",
key: "setSumKey_" + self.colEle.colKey
}, content, _react["default"].createElement("div", {
className: "eChartPanelSplit_bottom3"
}, _react["default"].createElement(_baseui.Button, {
type: "primary",
onClick: function onClick() {
return self.doFunc(true);
}
}, "\u786E\u5B9A"), _react["default"].createElement(_baseui.Button, {
type: "default",
onClick: function onClick() {
return self.doFunc(false);
}
}, "\u53D6\u6D88")));
} else {
return _react["default"].createElement(_baseui.Modal, {
className: "eChartPanelDesign_SetSum",
title: "\u6DFB\u52A0\u6C47\u603B",
onOk: function onOk(e) {
return self.doFunc(true);
},
onCancel: function onCancel(e) {
return self.doFunc(false);
},
visible: true
}, content);
}
}
}, {
key: "getCardContent",
value: function getCardContent() {
var _this2 = this;
var self = this;
var options1 = self.getReportListContent();
var options2 = self.getSumContent();
var filter = undefined;
var panelType = this.state.panelType;
if (self.state.filterId) {
filter = _react["default"].createElement("div", {
key: self.state.filterId,
className: "eChartPanelDesign" + self.state.panelType == 3 ? "_3" : "",
style: {
display: ''
}
}, _react["default"].createElement(ConvenientQuery, {
panelType: panelType,
model: self.model,
cols: panelType == 3 ? 1 : 2
}));
}
var content = _react["default"].createElement("div", {
className: "hz"
}, _react["default"].createElement(_row["default"], {
className: "width-less"
}, _react["default"].createElement(_col["default"], {
className: "eChartPanelSetSum_1"
}, "\u6C47\u603B"), _react["default"].createElement(_col["default"], null, _react["default"].createElement(_baseui.Select, {
value: self.state.billnum,
onSelect: function onSelect(billnum) {
return self.setReportInfo(billnum);
}
}, options1))), _react["default"].createElement(_row["default"], {
className: "width-less eChartPanelSetSum_2_Outer",
style: {
display: self.state.billnum ? "" : "none"
}
}, _react["default"].createElement(_col["default"], {
className: "eChartPanelSetSum_2"
}, "\u6570\u636E\u9879"), options2 && options2.length > 0 ? _react["default"].createElement(_col["default"], {
className: "ckeck"
}, _react["default"].createElement("div", null, options2)) : _react["default"].createElement(_col["default"], null, _react["default"].createElement("div", {
style: {
color: "#ccc"
}
}, "\u62A5\u8868\u6CA1\u6709\u8BBE\u7F6E\u6C47\u603B\u5B57\u6BB5\uFF0C\u8BF7\u68C0\u67E5\u3002")), " "), self.state.panelType == 1 ? _react["default"].createElement(_row["default"], {
className: "width-less"
}, _react["default"].createElement(_col["default"], {
className: "eChartPanelSetSum_3"
}, "\u663E\u793A\u6837\u5F0F"), _react["default"].createElement(_col["default"], null, _react["default"].createElement(RadioGroup, {
onChange: function onChange(e) {
return self.displayStyleChange(e.target.value);
},
value: self.state.subType ? self.state.subType : "sum"
}, _react["default"].createElement(_baseui.Radio, {
value: "sum"
}, "\u666E\u901A\u6C47\u603B\u663E\u793A"), _react["default"].createElement(_baseui.Radio, {
value: "count"
}, "\u6EDA\u52A8\u8BA1\u6570\u663E\u793A")))) : null, _react["default"].createElement(_row["default"], {
className: "width-less",
style: {
display: self.state.subType == "count" ? "" : "none"
}
}, _react["default"].createElement(_col["default"], {
className: "eChartPanelSetSum_4"
}, "\u663E\u793A\u5343\u5206\u4F4D"), _react["default"].createElement(_col["default"], null, _react["default"].createElement(RadioGroup, {
onChange: function onChange(e) {
return _this2.setState({
"bUseQianSplit": e.target.value
});
},
value: self.state.bUseQianSplit
}, _react["default"].createElement(_baseui.Radio, {
value: true
}, "\u662F"), _react["default"].createElement(_baseui.Radio, {
value: false
}, "\u5426")))), self.state.panelType != 3 ? _react["default"].createElement(_row["default"], {
className: "width-less-pl"
}, _react["default"].createElement(_col["default"], {
className: "eChartPanelSetSum_5"
}, "\u6570\u503C\u5B57\u4F53\u5927\u5C0F"), _react["default"].createElement(_col["default"], null, _react["default"].createElement(_baseui.Input, {
defaultValue: self.state.valueFontSize,
onChange: function onChange(e) {
return _this2.setState({
"valueFontSize": e.target.value
});
}
}))) : null, self.state.panelType != 3 ? _react["default"].createElement(_row["default"], {
className: "width-less-pl"
}, _react["default"].createElement(_col["default"], {
className: "eChartPanelSetSum_6"
}, "\u6807\u9898\u5B57\u4F53\u5927\u5C0F"), _react["default"].createElement(_col["default"], null, _react["default"].createElement(_baseui.Input, {
defaultValue: self.state.fontSize,
onChange: function onChange(e) {
return _this2.setState({
"fontSize": e.target.value
});
}
}))) : null, self.state.panelType != 3 ? _react["default"].createElement(_row["default"], {
className: "width-less-pl"
}, _react["default"].createElement(_col["default"], {
className: "eChartPanelSetSum_7"
}, "\u5237\u65B0\u9891\u7387"), _react["default"].createElement(_col["default"], null, _react["default"].createElement(_baseui.Input, {
defaultValue: self.state.refreshInterval,
onChange: function onChange(e) {
return self.setState({
"refreshInterval": e.target.value
});
}
})), _react["default"].createElement(_col["default"], {
className: "tips"
}, " \u79D2", _react["default"].createElement("span", null, "(\u63D0\u793A:\u5237\u65B0\u592A\u9891\u7E41\u4F1A\u9020\u6210\u670D\u52A1\u5668\u538B\u529B\u8FC7\u5927)"))) : null, _react["default"].createElement(_row["default"], {
className: "gltj"
}, _react["default"].createElement(_col["default"], {
className: "eChartPanelSetSum_8"
}, "\u8FC7\u6EE4\u6761\u4EF6"), _react["default"].createElement(_col["default"], null, filter)));
return content;
}
}, {
key: "initModelForFilter",
value: function initModelForFilter() {
var self = this;
this.model = new cb.models.SimpleModel({});
this.model.getParams = function () {
var tmp = {
filterId: self.state.filterId,
condition: self.state.condition,
isInDesign: true,
isInPanel: true,
solutionId: self.state.solutionId,
bHasNullDate: true,
panelType: self.state.panelType
};
return tmp;
};
this.model.on('filterClick', function (args) {
eChartCommon.LogChartInfo("监控视图汇总设置 触发事件 filterClick", JSON.stringify(args.condition), 7);
self.state.condition = args.condition;
});
this.model.setName("监控视图汇总设置");
}
}, {
key: "getSumContent",
value: function getSumContent() {
var self = this;
var arr = [];
if (self.state.sumFields) self.state.sumFields.forEach(function (ele) {
arr.push(_react["default"].createElement("div", {
className: "eChartPanelSetSum-Field"
}, _react["default"].createElement(_baseui.Checkbox, {
checked: ele.bSelected,
key: "sumCBK_" + ele.key,
onChange: function onChange(e) {
return self.onChecked(e.target.checked, ele.key);
}
}, _react["default"].createElement(_baseui.Input, {
id: ele.key,
defaultValue: ele.showCaption,
onChange: function onChange(e) {
return self.setShowCaption(ele.key, e.target.value);
},
readOnly: self.state.editFieldName != ele.key,
className: self.state.editFieldName == ele.key ? "eChartPanelSetSum_CanEdit" : "eChartPanelSetSum_CanNotEdit"
})), _react["default"].createElement("div", {
className: "eChartPanelSetSum-FieldEdit",
onClick: function onClick(e) {
return self.setEditFieldName(e, ele.key);
}
}, _react["default"].createElement(_SvgIcon["default"], {
type: "edit"
}))));
});
return arr;
}
}, {
key: "displayStyleChange",
value: function displayStyleChange(value) {
this.setState({
subType: value
});
}
}, {
key: "setEditFieldName",
value: function setEditFieldName(e, fieldName) {
e.preventDefault();
e.stopPropagation();
this.setState({
"editFieldName": fieldName
});
}
}, {
key: "setShowCaption",
value: function setShowCaption(key, value) {
var sumFields = this.state.sumFields;
var ele = _.find(sumFields, function (ele) {
return ele.key == key;
});
if (value) ele.showCaption = value;else ele.showCaption = ele.caption;
this.setState({
sumFields: sumFields
});
}
}, {
key: "getReportListContent",
value: function getReportListContent() {
var arrArr = this.state.reportArray;
arrArr.sort(function (a, b) {
return a.name.length - b.name.length;
});
var arr = [];
var billNumArr = [];
arrArr.forEach(function (ele) {
if (billNumArr.indexOf(ele.billnum) < 0) {
billNumArr.push(ele.billnum);
arr.push(_react["default"].createElement(Option, {
value: ele.billnum
}, ele.name));
}
});
return arr;
}
}, {
key: "setReportInfo",
value: function setReportInfo(billnum) {
var self = this;
var ele = _.find(self.state.reportArray, function (o) {
return o.billnum == billnum;
});
if (ele) {
var state = {};
state.billnum = billnum;
state.billName = ele.name;
state.filterId = ele.filterId;
state.solutionId = ele.solutionId;
state.condition = undefined;
self.setState(state);
self.getSumFieldsArray(billnum);
}
}
}, {
key: "getReportList",
value: function getReportList() {
var self = this;
var param = {};
var callback = function callback(json) {
if (json.code === 200 && json.data) {
self.setState({
reportArray: json.data
});
}
};
eChartProxy.doProxy(eChartProxy.url.getReportList, 'GET', param, callback);
}
}, {
key: "getSumFieldsArray",
value: function getSumFieldsArray(billnum) {
var self = this;
if (billnum) {
var param = {
billnum: billnum,
isOnlySelected: true
};
var callback = function callback(json) {
if (json.code === 200 && json.data) {
var sumFieldsArray = json.data.items || [];
var title = json.data.name;
var sumFields = self.state.sumFields;
_.remove(sumFields, function (o) {
var tmp = _.filter(sumFieldsArray, function (o2) {
return o.key == o2.fieldname;
});
return tmp.length < 1 ? true : false;
});
_.forEach(sumFieldsArray, function (ele) {
var tmp = _.find(sumFields, function (ele2) {
return ele2.key == ele.fieldname;
});
if (tmp) {
tmp.caption = ele.caption;
} else {
sumFields.push({
key: ele.fieldname,
caption: ele.caption,
showCaption: ele.caption,
bSelected: false,
iOrder: 9999,
postfix: ""
});
}
});
self.state.sumFields = sumFields;
self.state.title = title;
} else {
self.state.sumFields = [];
}
self.forceUpdate();
};
eChartProxy.doProxy(eChartProxy.url.getTotalSetting, 'GET', param, callback);
} else {
self.setState();
}
}
}, {
key: "checkInteger",
value: function checkInteger(fieldValue, bCanZero, bCanSmallThanZero, bCanNumPoint) {
if (fieldValue.toString().trim() == "") {
return false;
} else if (isNaN(fieldValue) == true) {
return false;
} else if (bCanZero == false && Number(fieldValue) == 0) {
return false;
} else if (bCanSmallThanZero == false && Number(fieldValue) < 0) {
return false;
} else if (bCanNumPoint == false && fieldValue.toString().indexOf(".") >= 0) {
return false;
}
return true;
}
}, {
key: "doFunc",
value: function doFunc(bOK) {
this.model.execute('eChartPanel_GetCondition');
if (bOK) {
var info = {};
info.subType = this.state.subType;
info.bUseQianSplit = this.state.bUseQianSplit;
info.chartKey = this.state.chartKey || eChartCommon.getNewChartKey();
info.title = this.state.title;
info.billnum = this.state.billnum || "";
info.billName = this.state.billName || "";
info.filterId = this.state.filterId || "";
info.solutionId = this.state.solutionId || "";
info.condition = this.state.condition;
info.refreshInterval = this.state.refreshInterval;
info.sumFields = this.state.sumFields;
info.fontSize = this.state.fontSize;
info.valueFontSize = this.state.valueFontSize;
info.innerFName = "看板配置信息-模块配置-汇总";
info.fontFamily = this.state.fontFamily;
var selNum = _.filter(info.sumFields, function (ele) {
return ele.bSelected == true;
}).length;
if (info.refreshInterval == "") {
info.refreshInterval = 0;
}
if (info.billnum == "") {
cb.utils.alert('请设置报表', 'error');
} else if (info.filterId == "") {
cb.utils.alert('请设置filterId', 'error');
} else if (info.solutionId == "") {
cb.utils.alert('请设置solutionId', 'error');
} else if (_.isEmpty(info.condition)) {
cb.utils.alert('请设置condition', 'error');
} else if (_.isEmpty(info.sumFields) || selNum < 1) {
cb.utils.alert('请设置汇总字段', 'error');
} else if (info.subType == "count" && selNum > 1) {
cb.utils.alert('滚动计数显示方式只能显示一个字段', 'error');
} else if (this.checkInteger(info.fontSize, false, false, false) == false) {
cb.utils.alert('标题字体大小设置不正确', 'error');
} else if (this.checkInteger(info.valueFontSize, false, false, false) == false) {
cb.utils.alert('数值字体大小设置不正确', 'error');
} else if (this.checkInteger(info.refreshInterval, true, false, false) == false) {
cb.utils.alert('刷新频率设置不正确', 'error');
} else {
this.props.doFunc(bOK, info);
}
} else {
this.props.doFunc(bOK);
}
}
}, {
key: "componentDidMount",
value: function componentDidMount() {
this.getReportList();
if (this.state.billnum) {
this.getSumFieldsArray(this.state.billnum);
}
document.body.addEventListener('click', this.handleBodyClick);
}
}, {
key: "componentWillUnmount",
value: function componentWillUnmount() {
document.body.removeEventListener('click', this.handleBodyClick);
}
}]);
return eChartPanelSetSum;
}(_react["default"].Component);
exports["default"] = eChartPanelSetSum;
//# sourceMappingURL=eChartPanelSetSum.js.map