UNPKG

ming-demo3

Version:
636 lines (565 loc) 23 kB
"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