UNPKG

ming-demo3

Version:
540 lines (487 loc) 18.4 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 _SvgIcon = _interopRequireDefault(require("@mdf/metaui-web/lib/components/common/SvgIcon")); var eChartCommon = _interopRequireWildcard(require("../echart/eChartCommon")); var eChartProxy = _interopRequireWildcard(require("../echart/eChartProxy")); var RadioGroup = _baseui.Radio.Group; var SumAreaSetting = function (_React$Component) { (0, _inherits2["default"])(SumAreaSetting, _React$Component); function SumAreaSetting(props) { var _this; (0, _classCallCheck2["default"])(this, SumAreaSetting); _this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(SumAreaSetting).call(this, props)); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "ShowList", function () { var self = (0, _assertThisInitialized2["default"])(_this); var bShowList = !self.state.bShowList; if (bShowList == true) { self.setState({ bShowList: bShowList, sumConfig: {}, showCardFieldName: "", bOnlyShowSelected: true }); self.getConfig(); } else {} }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getEleText", function (ele) { var value = ele.value; var str = "无对应值"; var arr = ele.enumArray && JSON.parse(ele.enumArray); var tmp = _.find(arr, function (o) { return o.key == ele.value; }); if (tmp) str = tmp.value; return str; }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleOk", function () { var self = (0, _assertThisInitialized2["default"])(_this); var sumConfig = self.state.sumConfig; var params = {}; params.billnum = self.state.billnum; params.id = sumConfig.id; params.name = sumConfig.name; params.items = _.filter(sumConfig.items, function (o) { return o.selected == 1; }); params.isOnlyTotal = true; var callback = function callback(json) { if (json.code === 200) { self.setState({ bShowList: false, showCardFieldName: "", bOnlyShowSelected: true }); self.props.viewModel.execute('saveSumArea'); } if (json.code !== 200) { console.log("保存汇总区设置失败。信息 : " + (json.message ? json.message : JSON.stringify(json)).toString()); } }; eChartProxy.doProxy(eChartProxy.url.saveTotalSchema, 'POST', params, callback); }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleCancel", function () { _this.setState({ bShowList: false, showCardFieldName: "", bOnlyShowSelected: true }); }); var viewModel = props.viewModel; var _viewModel$getParams = viewModel.getParams(), billNo = _viewModel$getParams.billNo; _this.state = { billnum: billNo, bShowList: false, showCardFieldName: "", showCardEle: {}, bOnlyShowSelected: true, inMouseField: "", sumConfig: {} }; return _this; } (0, _createClass2["default"])(SumAreaSetting, [{ key: "componentDidMount", value: function componentDidMount() {} }, { key: "render", value: function render() { var self = this; var type = self.state.bShowList ? "up" : "down"; var listContent2 = this.getListContent(); var className = this.props.className; var conditionPop = _react["default"].createElement("div", { style: { "float": 'left' }, className: className }, _react["default"].createElement(_baseui.Popover, { placement: "bottom", overlayClassName: "sumareasetting_list", content: listContent2, trigger: "click", visible: self.state.bShowList && _.isEmpty(listContent2) == false, onVisibleChange: function onVisibleChange(visible) { return self.onVisibleChange(visible, self); } }, _react["default"].createElement(_baseui.Button, { onClick: function onClick() { return self.ShowList(); }, type: type }, _react["default"].createElement(_SvgIcon["default"], { type: "huizongshezhi", className: "icon-huizongshezhi" }), _react["default"].createElement("span", null, self.props.name ? self.props.name : "汇总设置")))); return conditionPop; } }, { key: "onVisibleChange", value: function onVisibleChange(visible, self) { if (visible == false && self.state.showCardFieldName == "") { self.setState({ bShowList: false, showCardFieldName: "", bOnlyShowSelected: true }); } } }, { key: "sortClick", value: function sortClick(type, fieldname) { var sumConfig = this.state.sumConfig; var curIndex = _.findIndex(sumConfig.items, function (o) { return o.fieldname == fieldname; }); var index2 = -1; if (type == "up") { index2 = _.findLastIndex(sumConfig.items, function (o, index) { return o.selected == 1 && index < curIndex; }); } else { index2 = _.findIndex(sumConfig.items, function (o, index) { return o.selected == 1 && index > curIndex; }); } if (index2 >= 0 && index2 < sumConfig.items.length) { var tmp = sumConfig.items[curIndex]; sumConfig.items[curIndex] = sumConfig.items[index2]; sumConfig.items[index2] = tmp; } this.setState({ sumConfig: sumConfig }); } }, { key: "ShowCard", value: function ShowCard(ele) { var showCardEle = _.cloneDeep(ele); this.setState({ showCardEle: showCardEle, showCardFieldName: ele.fieldname }); } }, { key: "onMouseEnter", value: function onMouseEnter(bFlag, fieldname, index) { if (bFlag) { this.setState({ inMouseField: fieldname }); } else { this.setState({ inMouseField: "" }); } } }, { key: "onChecked", value: function onChecked(e, element, index) { var checked = e.target.checked; var sumConfig = this.state.sumConfig; if (checked && _.filter(sumConfig.items, function (o) { return o.selected == 1; }).length >= 8) { cb.utils.alert("最多选择8个汇总项。"); this.setState({}); } else { sumConfig.items[index].selected = checked ? 1 : 0; this.setState({ sumConfig: sumConfig }); } } }, { key: "setShowCaption", value: function setShowCaption(value) { var self = this; var showCardEle = self.state.showCardEle; showCardEle.showCaption = value; this.setState({ showCardEle: showCardEle }); } }, { key: "handleRadioChange", value: function handleRadioChange(value) { var self = this; var showCardEle = self.state.showCardEle; showCardEle.value = value; this.setState({ showCardEle: showCardEle }); } }, { key: "handleCardOk", value: function handleCardOk() { var self = this; var showCardEle = self.state.showCardEle; var sumConfig = this.state.sumConfig; var tmp = _.find(sumConfig.items, function (o) { return o.fieldname == self.state.showCardFieldName; }); tmp.value = showCardEle.value; tmp.showCaption = showCardEle.showCaption; this.setState({ sumConfig: sumConfig, showCardFieldName: "" }); } }, { key: "handleCardCancel", value: function handleCardCancel() { this.setState({ showCardFieldName: "" }); } }, { key: "getCardContent", value: function getCardContent() { var _this2 = this; var self = this; var cardContent; var ele = self.state.showCardEle; if (ele) { var arr = []; if (ele.enumArray) { arr = JSON.parse(ele.enumArray); } else { arr = [{ "nameType": "text", "value": "汇总", "key": "sum" }, { "nameType": "text", "value": "计数", "key": "count" }, { "nameType": "text", "value": "平均", "key": "avg" }, { "nameType": "text", "value": "最小", "key": "min" }, { "nameType": "text", "value": "最大", "key": "max" }, { "nameType": "text", "value": "去重计数", "key": "count_distinct" }]; } var contentArr = []; arr.forEach(function (ele) { contentArr.push(_react["default"].createElement(_baseui.Radio, { value: ele.key }, ele.value)); }); cardContent = _react["default"].createElement("div", null, _react["default"].createElement("div", { className: "sumareasetting_disname" }, _react["default"].createElement("span", null, "\u663E\u793A\u540D\u79F0:"), _react["default"].createElement(_baseui.Input, { placeholder: "\u663E\u793A\u540D\u79F0", value: ele.showCaption ? ele.showCaption : "", onChange: function onChange(e) { return self.setShowCaption(e.target.value); } })), _react["default"].createElement("div", null, _react["default"].createElement(RadioGroup, { onChange: function onChange(e) { return self.handleRadioChange(e.target.value); }, value: ele.value }, contentArr)), _react["default"].createElement("div", { className: "footer-btn" }, _react["default"].createElement(_baseui.Button, { type: "primary", onClick: function onClick() { return _this2.handleCardOk(); } }, "\u786E\u5B9A"), _react["default"].createElement(_baseui.Button, { type: "default", onClick: function onClick() { return _this2.handleCardCancel(); } }, "\u53D6\u6D88"))); } return cardContent; } }, { key: "onCardVisibleChange", value: function onCardVisibleChange(visible, self) { if (visible == false) { self.setState({ showCardFieldName: "" }); } } }, { key: "getListContent", value: function getListContent() { var _this3 = this; var self = this; if (_.isEmpty(self.state.sumConfig)) { return null; } else { var listContent = []; var listContentInner = []; var bOnlyShowSelected = self.state.bOnlyShowSelected ? true : false; listContent.push(_react["default"].createElement("div", { className: "sumarea_list_caption" }, _react["default"].createElement("span", { className: "sumareaset-left" }, "\u6C47\u603B\u8BBE\u7F6E"), _react["default"].createElement(_baseui.Checkbox, { title: "只显示已选", checked: bOnlyShowSelected, onChange: function onChange(e) { self.setState({ bOnlyShowSelected: !bOnlyShowSelected }); } }, "只显示已选"))); var cardContent; var items = self.state.sumConfig.items; items.forEach(function (ele, index) { var item; var selected = ele.selected == 1 ? 1 : 0; cardContent = null; if (self.state.showCardEle.fieldname == ele.fieldname) { cardContent = self.getCardContent(); } var showCurrent = self.state.showCardFieldName == ele.fieldname ? true : false; if (selected || bOnlyShowSelected == false) { var bShowUpDown = selected && ele.fieldname == self.state.inMouseField ? true : false; var updown = bShowUpDown ? _react["default"].createElement("span", { className: "sumarea_list_updown" }, _react["default"].createElement(_baseui.Button, { style: { borderWidth: 0 }, icon: "arrow-up", onClick: function onClick() { return self.sortClick('up', ele.fieldname); } }), _react["default"].createElement(_baseui.Button, { style: { borderWidth: 0 }, icon: "arrow-down", onClick: function onClick() { return self.sortClick('down', ele.fieldname); } })) : _react["default"].createElement("span", null); item = _react["default"].createElement("div", { className: "sumarea_list_item", onMouseEnter: function onMouseEnter(e) { return self.onMouseEnter(true, ele.fieldname, index); }, onMouseLeave: function onMouseLeave(e) { return self.onMouseEnter(false, ele.fieldname, index); } }, _react["default"].createElement("div", { className: "sumarea_list_item_1" }, _react["default"].createElement(_baseui.Checkbox, { title: ele.caption, checked: selected == 1 ? true : false, onChange: function onChange(e) { return self.onChecked(e, ele, index); } }, ele.caption), _react["default"].createElement("div", { className: "sumarea_showcaption_all" }, ele.showCaption ? _react["default"].createElement("div", null, _react["default"].createElement("span", { className: "sumarea_showcaption_1" }, "("), " ", _react["default"].createElement("span", { className: "sumarea_showcaption_2" }, " ", ele.showCaption), _react["default"].createElement("span", { className: "sumarea_showcaption_3" }, ")"), " ") : "")), _react["default"].createElement(_baseui.Popover, { placement: "bottom", overlayClassName: "sumareasetting_card", content: cardContent, trigger: "click", visible: showCurrent, onVisibleChange: function onVisibleChange(visible) { return self.onCardVisibleChange(visible, self); } }, _react["default"].createElement("div", { className: "summary_select_all" }, _react["default"].createElement(_baseui.Button, { className: "sumarea_list_itemarrow_" + (showCurrent ? "1" : "0"), disabled: !selected, onClick: function onClick() { return self.ShowCard(ele); } }, self.getEleText(ele)), _react["default"].createElement(_baseui.Icon, { type: showCurrent ? "up" : "down" }))), updown); listContentInner.push(item); } }, this); listContent.push(_react["default"].createElement("div", { className: "sumarea_list_items" }, listContentInner)); return _react["default"].createElement("div", null, _react["default"].createElement("div", null, listContent), _react["default"].createElement("div", { className: "footer-btn" }, _react["default"].createElement(_baseui.Button, { type: "primary", onClick: function onClick() { return _this3.handleOk(); } }, "\u786E\u5B9A"), _react["default"].createElement(_baseui.Button, { type: "default", onClick: function onClick() { return _this3.handleCancel(); } }, "\u53D6\u6D88"), _react["default"].createElement("div", { className: "sumarea_list_8" }, _react["default"].createElement("span", { className: "sumarea_list_8_1" }, "\u6700\u591A\u9009\u62E9"), _react["default"].createElement("span", { className: "sumarea_list_8_2" }, "8"), _react["default"].createElement("span", { className: "sumarea_list_8_3" }, "\u4E2A\u6C47\u603B\u9879")))); } } }, { key: "getConfig", value: function getConfig() { var self = this; var param = { billnum: self.state.billnum, isOnlyTotal: true }; var callback = function callback(json) { if (json.code === 200) { if (json.data) { eChartCommon.LogChartInfo("设置汇总区 eChartConfig", json.data.chartConfig, 7); self.setState({ sumConfig: json.data }); return; } } eChartCommon.LogChartInfo("设置汇总区_配置信息读取失败或者交叉表不支持 查询参数 =" + JSON.stringify(param) + " json.message", json.message, 999); }; eChartProxy.doProxy(eChartProxy.url.getTotalSetting, 'GET', param, callback); } }]); return SumAreaSetting; }(_react["default"].Component); exports["default"] = SumAreaSetting; //# sourceMappingURL=sumareasetting.js.map