ming-demo1
Version:
mdf metaui web
371 lines (320 loc) • 12.5 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 _baseui = require("@mdf/baseui");
var _util = require("@mdf/cube/lib/helpers/util");
var TreeNode = _baseui.Tree.TreeNode;
var Search = _baseui.Input.Search;
var selectedKey2Title = null,
key2Data = null,
title2ResultKey = null;
var definedLeftcontent = function (_React$Component) {
(0, _inherits2["default"])(definedLeftcontent, _React$Component);
function definedLeftcontent(props) {
var _this;
(0, _classCallCheck2["default"])(this, definedLeftcontent);
_this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(definedLeftcontent).call(this, props));
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getParentKey", function (billNodata, value, expandedKeys) {
var self = (0, _assertThisInitialized2["default"])(_this);
billNodata.forEach(function (ele) {
if (ele.title.indexOf(value) > -1) {
if (ele.children) {
expandedKeys.push(ele.mergeCode);
self.getParentKey(ele.children, value, expandedKeys);
}
} else if (ele.children && ele.children.length > 0) {
ele.children.forEach(function (element) {
if (element.title.indexOf(value) > -1) {
if (ele.children) {
expandedKeys.push(ele.mergeCode);
self.getParentKey(ele.children, value, expandedKeys);
}
}
});
}
});
});
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onExpand", function (expandedKeys) {
_this.setState({
expandedKeys: expandedKeys,
autoExpandParent: false
});
});
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChange", function (e, treeNode) {
var _this$state = _this.state,
billNodata = _this$state.billNodata,
isClear = _this$state.isClear;
var value = e.target.value;
var expandedKeys = [];
if (value != "" && billNodata && billNodata.length > 0) {
_this.getParentKey(billNodata, value, expandedKeys);
}
isClear = value ? true : false;
_this.setState({
expandedKeys: expandedKeys,
searchValue: value,
isClear: isClear,
autoExpandParent: true
});
});
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "loadData", function (treeNode) {
var self = (0, _assertThisInitialized2["default"])(_this);
self.getLoadData(treeNode);
});
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "emitEmpty", function () {
var _this$state2 = _this.state,
searchValue = _this$state2.searchValue,
isClear = _this$state2.isClear,
expandedKeys = _this$state2.expandedKeys;
var value = '';
isClear = value ? true : false;
_this.setState({
isClear: isClear,
searchValue: value,
expandedKeys: [],
autoExpandParent: false
});
});
var billNo = _this.props.model.getParams().billNo;
_this.state = {
expandedKeys: [],
searchValue: '',
autoExpandParent: true,
selectedKeys: [],
selectName: '',
billNo: billNo,
billNodata: [],
entitydata: [],
isClear: false
};
return _this;
}
(0, _createClass2["default"])(definedLeftcontent, [{
key: "componentDidMount",
value: function componentDidMount() {
var billNo = this.state.billNo;
this.getdataSource(billNo);
}
}, {
key: "getdataSource",
value: function () {
var _getdataSource = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(billNo) {
var config, json, billNodata;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
config = {
url: 'report/getEntityInfoByBillNo.do',
method: 'GET',
params: {
billno: billNo
}
};
_context.next = 3;
return (0, _util.proxy)(config);
case 3:
json = _context.sent;
if (!(json.code !== 200)) {
_context.next = 6;
break;
}
return _context.abrupt("return");
case 6:
billNodata = json.data;
key2Data = {};
selectedKey2Title = {};
title2ResultKey = {};
this.rebuildTreeData(billNodata);
this.setState({
billNodata: billNodata
});
case 12:
case "end":
return _context.stop();
}
}
}, _callee, this);
}));
function getdataSource(_x) {
return _getdataSource.apply(this, arguments);
}
return getdataSource;
}()
}, {
key: "onTreeselect",
value: function onTreeselect(selectedKeys, e) {
if (!selectedKeys.length) {
selectedKeys = this.state.selectedKeys;
}
var selectionStart = this.props.selectionStart;
var conditionDesc = '';
if (this.props.operatorValue) {
conditionDesc = this.props.operatorValue;
selectionStart = conditionDesc.length;
}
var leftExp = conditionDesc.substr(0, selectionStart);
var rightExp = conditionDesc.substr(selectionStart);
conditionDesc = leftExp + selectedKey2Title[selectedKeys[0]] + rightExp;
selectionStart = conditionDesc.length;
this.setState({
selectName: e.selectedNodes,
selectedKeys: selectedKeys
});
this.props.onSelect(conditionDesc, selectionStart);
}
}, {
key: "getLoadData",
value: function () {
var _getLoadData = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2(treeNode) {
var billNodata, key, expandData, entityName, config, json;
return _regenerator["default"].wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
billNodata = this.state.billNodata;
key = treeNode.props.eventKey;
expandData = key2Data[key];
entityName = expandData.entityName;
config = {
url: 'report/getEntityInfoByName.do',
method: 'GET',
params: {
entityName: entityName
}
};
_context2.next = 7;
return (0, _util.proxy)(config);
case 7:
json = _context2.sent;
if (!(json.code !== 200)) {
_context2.next = 10;
break;
}
return _context2.abrupt("return");
case 10:
expandData.children = json.data;
key2Data = {};
selectedKey2Title = {};
title2ResultKey = {};
billNodata = billNodata.map(function (t) {
return t.mergeCode == expandData.mergeCode ? expandData : t;
});
this.rebuildTreeData(billNodata);
this.setState({
billNodata: billNodata
});
case 17:
case "end":
return _context2.stop();
}
}
}, _callee2, this);
}));
function getLoadData(_x2) {
return _getLoadData.apply(this, arguments);
}
return getLoadData;
}()
}, {
key: "rebuildTreeData",
value: function rebuildTreeData(data, mergeCode, mergeName) {
var _this2 = this;
data.forEach(function (item) {
var codes = [],
names = [];
if (mergeCode) codes.push(mergeCode);
codes.push(item.name);
if (mergeName) names.push(mergeName);
names.push(item.title);
item.mergeCode = codes.join('.');
key2Data[item.mergeCode] = item;
item.mergeName = names.join('.');
var mergeTitle = "[".concat(item.mergeName, "]");
selectedKey2Title[item.mergeCode] = mergeTitle;
title2ResultKey[mergeTitle] = item.mergeCode;
if (!item.children) return;
_this2.rebuildTreeData(item.children, item.mergeCode, item.mergeName);
});
}
}, {
key: "render",
value: function render() {
var _this3 = this;
var _this$state3 = this.state,
searchValue = _this$state3.searchValue,
expandedKeys = _this$state3.expandedKeys,
autoExpandParent = _this$state3.autoExpandParent,
selectName = _this$state3.selectName,
billNodata = _this$state3.billNodata,
entitydata = _this$state3.entitydata,
isClear = _this$state3.isClear;
var loop = function loop(data) {
return data.map(function (item) {
var mergeCode = item.mergeCode,
isExpand = item.isExpand,
children = item.children;
var index = item.title.indexOf(searchValue);
var beforeStr = item.title.substr(0, index);
var afterStr = item.title.substr(index + searchValue.length);
var title = index > -1 ? _react["default"].createElement("span", null, beforeStr, _react["default"].createElement("span", {
style: {
color: '#f50'
}
}, searchValue), afterStr) : _react["default"].createElement("span", null, item.title);
if (isExpand) {
return _react["default"].createElement(TreeNode, {
key: mergeCode,
title: title
}, loop(children || []));
}
return _react["default"].createElement(TreeNode, {
key: mergeCode,
title: title,
isLeaf: true
});
});
};
var clearValue = isClear ? _react["default"].createElement(_baseui.Icon, {
type: "close-circle",
onClick: function onClick() {
return _this3.emitEmpty();
}
}) : null;
return _react["default"].createElement("div", null, _react["default"].createElement(Search, {
style: {
marginBottom: 8
},
value: searchValue,
placeholder: "\u8BF7\u8F93\u5165\u5173\u952E\u8BCD",
onChange: this.onChange
}), clearValue, _react["default"].createElement(_baseui.Tree, {
selectedKeys: this.state.selectedKeys,
onSelect: function onSelect(selectedKeys, e) {
return _this3.onTreeselect(selectedKeys, e);
},
onExpand: this.onExpand,
expandedKeys: expandedKeys,
autoExpandParent: autoExpandParent,
loadData: this.loadData
}, loop(billNodata)));
}
}]);
return definedLeftcontent;
}(_react["default"].Component);
exports["default"] = definedLeftcontent;
//# sourceMappingURL=definedLeftcontent.js.map