ming-demo3
Version:
mdf metaui web
526 lines (454 loc) • 17.7 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 _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
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 _redux = require("redux");
var _reactRedux = require("react-redux");
var _baseui = require("@mdf/baseui");
var _util = require("@mdf/cube/lib/helpers/util");
var _SvgIcon = _interopRequireDefault(require("@mdf/metaui-web/lib/components/common/SvgIcon"));
var RadioGroup = _baseui.Radio.Group;
var RadioButton = _baseui.Radio.Button;
var SummarySetting = function (_Component) {
(0, _inherits2["default"])(SummarySetting, _Component);
function SummarySetting(props) {
var _this;
(0, _classCallCheck2["default"])(this, SummarySetting);
_this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(SummarySetting).call(this, props));
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleRadioChange", function (value) {
var showCardEle = _this.state.showCardEle;
var popData = _this.state.popData;
showCardEle.cSumType = value;
var tmp = _.find(popData, function (o) {
return o.cFieldName == _this.state.showCardFieldName;
});
tmp.cSumType = showCardEle.cSumType;
tmp.cShowCaption = showCardEle.cShowCaption;
_this.setState({
popData: popData,
showCardFieldName: ""
});
});
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getCardContent", function () {
var radioStyle = {
display: 'block',
height: '30px',
lineHeight: '30px'
};
var cardContent;
var cardContentInner = [];
var ele = _this.state.showCardEle;
_this.enumArr.forEach(function (ele, index) {
cardContentInner.push(_react["default"].createElement(_baseui.Radio, {
style: radioStyle,
value: ele.key
}, ele.value));
});
if (ele) {
cardContent = _react["default"].createElement("div", null, _react["default"].createElement("div", null, _react["default"].createElement(RadioGroup, {
value: ele.cSumType ? ele.cSumType : "sum",
onChange: function onChange(e) {
return _this.handleRadioChange(e.target.value);
}
}, cardContentInner)));
return cardContent;
}
});
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getListContent", function () {
if (_.isEmpty(_this.state.popData)) {
return null;
} else {
var listContent = [];
var listContentInner = [];
var bOnlyShowSelected = _this.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) {
_this.setState({
bOnlyShowSelected: !bOnlyShowSelected
});
}
}, "只显示已选")));
var cardContent;
var summaryItems = _this.state.popData;
summaryItems.forEach(function (ele, index) {
var _this2 = this;
var item;
var selected = ele.selected == 1 ? 1 : 0;
cardContent = null;
if (this.state.showCardEle.cFieldName == ele.cFieldName) {
cardContent = this.getCardContent();
}
var showCurrent = this.state.showCardFieldName == ele.cFieldName ? true : false;
if (selected || bOnlyShowSelected == false) {
item = _react["default"].createElement("div", {
className: "sumarea_list_item"
}, _react["default"].createElement("div", {
className: "sumarea_list_item_1"
}, _react["default"].createElement(_baseui.Checkbox, {
title: ele.cShowCaption,
checked: selected == 1 ? true : false,
onChange: function onChange(e) {
return _this2.onChecked(e, ele, index);
}
}, ele.cShowCaption ? ele.cShowCaption : ele.cCaption)), _react["default"].createElement(_baseui.Popover, {
placement: "bottom",
overlayClassName: "sumareasetting_card",
content: cardContent,
trigger: "click",
visible: showCurrent,
onVisibleChange: function onVisibleChange(visible) {
return _this2.onCardVisibleChange(visible);
}
}, _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 _this2.showCard(ele);
}
}, this.cEnumString[ele.cSumType ? ele.cSumType : "sum"]), _react["default"].createElement(_baseui.Icon, {
type: showCurrent ? "up" : "down"
}))));
listContentInner.push(item);
}
}, (0, _assertThisInitialized2["default"])(_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 _this.handleOk();
}
}, "\u786E\u5B9A"), _react["default"].createElement(_baseui.Button, {
type: "default",
onClick: function onClick() {
return _this.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"
}, "5"), _react["default"].createElement("span", {
className: "sumarea_list_8_3"
}, "\u4E2A\u6C47\u603B\u9879"))));
}
});
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleCancel", function () {
_this.setState({
bShowList: false,
showCardFieldName: "",
bOnlyShowSelected: true
});
});
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onVisibleChange", function (visible) {
if (visible == false && _this.state.showCardFieldName == "") {
_this.setState({
bShowList: false,
showCardFieldName: "",
bOnlyShowSelected: true
});
}
});
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "showList", function () {
var bShowList = !_this.state.bShowList;
var _this$props$viewModel = _this.props.viewModel.getParams(),
billNo = _this$props$viewModel.billNo,
tplid = _this$props$viewModel.tplid;
var childrenField = _this.props.meta.childrenField;
var groupCode = _this.props.viewModel.get(childrenField).getCache('groupCode');
if (bShowList == true) {
_this.setState({
bShowList: bShowList,
popData: [],
showCardFieldName: "",
bOnlyShowSelected: true
});
_this.getPopData(billNo, tplid, groupCode);
}
});
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleOk", function () {
var _this$props$viewModel2 = _this.props.viewModel.getParams(),
billNo = _this$props$viewModel2.billNo;
var childrenField = _this.props.meta.childrenField;
var popData = _this.state.popData;
var selectList = _.filter(popData, function (o) {
return o.selected == 1;
});
var params = {
"billno": billNo,
"childrenField": childrenField,
"items": []
};
selectList.forEach(function (ele) {
if (!ele.cSumType) {
ele.cSumType = "sum";
}
params["items"].push({
iBillId: ele.iBillId,
iBillEntityid: ele.iBillEntityId,
cSumType: ele.cSumType,
cShowCaption: ele.cShowCaption,
cName: ele.cName,
cCaption: ele.cCaption
});
});
_this.onSave(params);
});
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleSwitch", function () {
var mode = _this.state.mode;
var switchMode = mode == "明细" ? "汇总" : "明细";
_this.setState({
mode: switchMode
});
var bool;
bool = switchMode == "明细" ? false : true;
_this.props.viewModel.biz["do"]('refresh', _this.props.viewModel, {
isSum: bool
});
});
_this.enumArr = [];
_this.cEnumString = {};
_this.getEnum();
_this.state = {
mode: "明细",
showCardFieldName: "",
bOnlyShowSelected: true,
bShowList: false,
showCardEle: {},
popData: []
};
return _this;
}
(0, _createClass2["default"])(SummarySetting, [{
key: "getEnum",
value: function () {
var _getEnum = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee() {
var _this3 = this;
var config, json;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
config = {
url: 'enum/getEnumStrFetch',
method: 'GET',
params: {
enumtype: 'pb_sumType'
}
};
_context.next = 3;
return (0, _util.proxy)(config);
case 3:
json = _context.sent;
if (!(json.code !== 200)) {
_context.next = 7;
break;
}
cb.utils.alert('获取枚举失败' + json.message, 'error');
return _context.abrupt("return");
case 7:
this.enumArr = JSON.parse(json.data);
this.enumArr && this.enumArr.map(function (item) {
_this3.cEnumString[item.key] = item.value;
});
case 9:
case "end":
return _context.stop();
}
}
}, _callee, this);
}));
function getEnum() {
return _getEnum.apply(this, arguments);
}
return getEnum;
}()
}, {
key: "componentDidMount",
value: function componentDidMount() {}
}, {
key: "getPopData",
value: function () {
var _getPopData = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2(billNo, tplid, groupCode) {
var config, json;
return _regenerator["default"].wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
config = {
url: 'billmeta/getSummarySet',
method: 'GET',
params: {
billno: billNo,
tplid: tplid,
groupcode: groupCode
}
};
_context2.next = 3;
return (0, _util.proxy)(config);
case 3:
json = _context2.sent;
if (!(json.code !== 200)) {
_context2.next = 7;
break;
}
cb.utils.alert('获取数据失败!' + json.message, 'error');
return _context2.abrupt("return");
case 7:
this.setState({
popData: json.data
});
case 8:
case "end":
return _context2.stop();
}
}
}, _callee2, this);
}));
function getPopData(_x, _x2, _x3) {
return _getPopData.apply(this, arguments);
}
return getPopData;
}()
}, {
key: "onCardVisibleChange",
value: function onCardVisibleChange(visible) {
if (visible == false) {
this.setState({
showCardFieldName: ""
});
}
}
}, {
key: "onChecked",
value: function onChecked(e, element, index) {
var checked = e.target.checked;
var popData = this.state.popData;
if (checked && _.filter(popData, function (o) {
return o.selected == 1;
}).length >= 5) {
cb.utils.alert("最多选择5个汇总项。");
this.setState({});
} else {
popData[index].selected = checked ? 1 : 0;
this.setState({
popData: popData
});
}
}
}, {
key: "showCard",
value: function showCard(ele) {
var showCardEle = _.cloneDeep(ele);
this.setState({
showCardEle: showCardEle,
showCardFieldName: ele.cFieldName
});
}
}, {
key: "onSave",
value: function () {
var _onSave = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3(params) {
var config, json;
return _regenerator["default"].wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
config = {
url: 'billmeta/updateSummarySet',
method: 'POST',
params: params
};
_context3.next = 3;
return (0, _util.proxy)(config);
case 3:
json = _context3.sent;
if (json.code === 200) {
cb.utils.alert('设置成功!', 'success');
this.setState({
bShowList: false,
showCardFieldName: "",
bOnlyShowSelected: true
});
}
if (json.code !== 200) {
cb.utils.alert("保存汇总区设置失败。信息 : " + (json.message ? json.message : JSON.stringify(json)).toString(), 'error');
}
case 6:
case "end":
return _context3.stop();
}
}
}, _callee3, this);
}));
function onSave(_x4) {
return _onSave.apply(this, arguments);
}
return onSave;
}()
}, {
key: "render",
value: function render() {
var _this4 = this;
var type = this.state.bShowList ? "up" : "down";
var listContent2 = this.getListContent();
var className = "m-l-10XXX";
var IconType = this.state.mode == "明细" ? 'mingxi' : 'huizong1';
return _react["default"].createElement("div", {
style: {
"float": 'left'
},
className: className
}, _react["default"].createElement(_baseui.Button, {
className: "switch_button",
onClick: this.handleSwitch
}, _react["default"].createElement(_SvgIcon["default"], {
type: IconType
}), this.state.mode), _react["default"].createElement(_baseui.Popover, {
placement: "bottomRight",
overlayClassName: "sumareasetting_list summarysetting",
content: listContent2,
trigger: "click",
visible: this.state.bShowList && _.isEmpty(listContent2) == false,
onVisibleChange: function onVisibleChange(visible) {
return _this4.onVisibleChange(visible);
}
}, _react["default"].createElement(_baseui.Button, {
onClick: function onClick() {
return _this4.showList();
},
type: type,
className: "m-l-10XXX"
}, _react["default"].createElement("span", null, "\u6C47\u603B\u8BBE\u7F6E"))));
}
}]);
return SummarySetting;
}(_react.Component);
var _default = SummarySetting;
exports["default"] = _default;
//# sourceMappingURL=SummarySetting.js.map