ming-demo3
Version:
mdf metaui web
309 lines (267 loc) • 11 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 _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