UNPKG

ming-demo3

Version:
309 lines (267 loc) 11 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 PublishMenu = function (_React$Component) { (0, _inherits2["default"])(PublishMenu, _React$Component); function PublishMenu(props) { var _this; (0, _classCallCheck2["default"])(this, PublishMenu); _this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(PublishMenu).call(this, props)); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "canPublishToMobile", function (filterId) { var self = (0, _assertThisInitialized2["default"])(_this); var callback = function callback(json) { if (json.code === 200 && json.data && json.data.length > 0) { self.setState({ canPublishToMobile: true }); } else { self.setState({ canPublishToMobile: false }); eChartCommon.LogChartInfo("当前报表没有移动过滤方案,不能发布到移动端。filterId ", filterId, 999); } }; eChartProxy.doProxy_Options("filterDesign/getSolutionList?terminalType=3", 'POST', { filterId: filterId }, callback, { terminalType: false }); }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleOk", function (e) { var self = (0, _assertThisInitialized2["default"])(_this); if (self.isHandleOking == true) { return; } self.isHandleOking = true; var ele = document.getElementById('publishMenu_Title'); var arr = document.getElementsByClassName("publishMenu_Mobile"); var arr2 = document.getElementsByClassName("publishMenu_Pc"); var isMobile = arr && arr[0] && arr[0].control.checked || false; var isPc = arr2[0].control.checked; var name = ele.value; if (name == "" || name.length > 16) { cb.utils.alert("名称不可为空且长度小于16个字。"); self.isHandleOking = false; return; } var outerparams = { menu_name: name }; var outercallback = function outercallback(json) { if (json.code === 200) { if (!!json.data) { if (json.data.isSystem == true) { cb.utils.alert("新发布的报表名字不可与系统报表重名。"); self.isHandleOking = false; } else { cb.utils.confirm('已经存在当前菜单,是否覆盖?', function () { self.saveMenu(name, json.data.menu_code, isMobile, isPc); }, function () { self.isHandleOking = false; }); } } else { self.saveMenu(name, "", isMobile, isPc); } } else { self.isHandleOking = false; } }; eChartProxy.doProxy(eChartProxy.url.menuExists, 'GET', outerparams, outercallback); }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "saveMenu", function (name, code, isMobile, isPc) { eChartCommon.LogChartInfo("发布报表方案saveMenu 参数 name = " + name + " code = " + code, "", 999); var self = (0, _assertThisInitialized2["default"])(_this); var billnum = self.state.params.billnum; var filterViewModel = _this.props.viewModel.getCache('FilterViewModel'); var predicateValue = filterViewModel && filterViewModel.getCache('predicateValue'); var currentCondition = self.state.params.condition; if (predicateValue && currentCondition && currentCondition.commonVOs && currentCondition.commonVOs.length) { currentCondition = JSON.parse(JSON.stringify(currentCondition)); currentCondition.commonVOs.forEach(function (item) { if (!predicateValue[item.itemName]) return; item.value1 = predicateValue[item.itemName]; delete item.value2; }); } var condition = JSON.stringify(currentCondition); var params = { billnum: billnum, name: name, condition: condition, isMobile: isMobile, isPc: isPc }; if (!!code) params.menu_code = code; if (!!self.state.params.groupSchemaId) params.groupSchemaId = self.state.params.groupSchemaId; var callback = function callback(json) { self.isHandleOking = false; if (json.code === 200) { cb.utils.alert("报表方案已发布。"); self.setState({ bShowCard: false }); } else { eChartCommon.LogChartInfo("发布报表方案失败。err ", json.message, 999); cb.utils.alert(json.message); self.setState({ bShowCard: false }); } }; eChartProxy.doProxy(eChartProxy.url.publishMenu, 'POST', params, callback); }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleCancel", function (e) { _this.setState({ bShowCard: false }); }); var viewModel = props.viewModel; _this.state = { bShowCard: false, params: {}, content: null, canPublishToMobile: false }; return _this; } (0, _createClass2["default"])(PublishMenu, [{ key: "componentDidMount", value: function componentDidMount() { var self = this; this.props.viewModel.on('setPublishMenuInfo', function (params) { self.setState({ params: params }); }); this.canPublishToMobile(this.props.viewModel.getParams().filterId); } }, { key: "render", value: function render() { var self = this; var type = self.state.bShowCard ? "up" : "down"; var content = self.getPublishMenuCard(); var className = this.props.className; var conditionPop = _react["default"].createElement("div", { style: { "float": "left" }, className: className }, _react["default"].createElement(_baseui.Popover, { placement: "bottom", overlayClassName: "", content: content, trigger: "click", visible: self.state.bShowCard, onVisibleChange: function onVisibleChange(visible) { return self.onCardVisibleChange(visible, self); } }, _react["default"].createElement(_baseui.Button, { onClick: function onClick() { return self.ShowCard(); }, type: type }, _react["default"].createElement(_SvgIcon["default"], { type: "fabufangan", className: "icon-fabufangan" }), _react["default"].createElement("span", null, self.props.name ? self.props.name : "发布菜单")))); return conditionPop; } }, { key: "onCardVisibleChange", value: function onCardVisibleChange(visible, self) { if (visible == false) { self.setState({ bShowCard: false }); } } }, { key: "ShowCard", value: function ShowCard() { var bShowCard = !this.state.bShowCard; if (bShowCard) { this.setState({ params: {}, content: {}, bShowCard: true }); this.props.viewModel.execute('getPublishMenuInfo'); } else { this.setState({ params: {}, bShowCard: false }); } } }, { key: "getPublishMenuCard", value: function getPublishMenuCard() { var _this2 = this; var self = this; var content = self.state.content; var params = self.state.params; if (self.state.bShowCard == true && _.isEmpty(params) == false) { var name = params.name; var groupSchemaName = params.groupSchemaName ? params.groupSchemaName : ""; content = _react["default"].createElement("div", { className: "publishMenu", key: "MenuKey_" + params.groupSchemaId ? params.groupSchemaId : "Null" }, _react["default"].createElement("div", { className: "publishMenu_count" }, _react["default"].createElement("span", null, "\u65B9\u6848\u540D\u79F0:"), _react["default"].createElement(_baseui.Input, { id: "publishMenu_Title", placeholder: "\u8BF7\u8F93\u5165", defaultValue: name + "_" + groupSchemaName }), _react["default"].createElement("div", { className: "pc-mobile-show pc-mobile-show-margin" }, _react["default"].createElement(_baseui.Checkbox, { disabled: !self.state.params.isPc, className: "publishMenu_Pc", defaultChecked: false }, "PC\u7AEF\u5C55\u73B0")), self.state.canPublishToMobile ? _react["default"].createElement("div", { className: "pc-mobile-show" }, _react["default"].createElement(_baseui.Checkbox, { disabled: !self.state.params.isMobile, className: "publishMenu_Mobile", defaultChecked: false }, "\u79FB\u52A8\u7AEF\u5C55\u73B0")) : _react["default"].createElement("div", null)), _react["default"].createElement("div", { className: "footer-btn" }, _react["default"].createElement(_baseui.Button, { type: "primary", onClick: function onClick() { return _this2.handleOk(); } }, "\u786E\u5B9A"), _react["default"].createElement(_baseui.Button, { type: "default", onClick: function onClick() { return _this2.handleCancel(); } }, "\u53D6\u6D88"))); self.state.content = content; } return content; } }]); return PublishMenu; }(_react["default"].Component); exports["default"] = PublishMenu; //# sourceMappingURL=publishmenu.js.map