UNPKG

ming-demo3

Version:
484 lines (424 loc) 15.9 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 _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 Option = _baseui.Select.Option; 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, selecData) { var self = (0, _assertThisInitialized2["default"])(_this); billNodata.forEach(function (ele) { if (ele.title.indexOf(value) > -1) { if (ele.children) { selecData.push(ele); self.getParentKey(ele.children, value, selecData); } else { selecData.push(ele); } } else if (ele.children && ele.children.length > 0) { self.getParentKey(ele.children, value, selecData); } }); }); (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 isClear = _this.state.isClear; var value = ''; isClear = value ? true : false; _this.setState({ isClear: isClear, searchValue: value, expandedKeys: [], autoExpandParent: false, selecData: [] }); }); var billNo = _this.props.model.getParams().billNo; _this.state = { expandedKeys: [], searchValue: '', autoExpandParent: true, selectedKeys: [], selectName: '', billNo: billNo, billNodata: [], entitydata: [], isClear: false, selecData: [] }; 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; if (data && data.length > 0) { 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: "searchSelect", value: function searchSelect(value, option) { var _this$state2 = this.state, searchValue = _this$state2.searchValue, billNodata = _this$state2.billNodata; var expandedKeys = []; searchValue = option.props.children; var _index = null; this.loopSelect(billNodata, value, expandedKeys, _index); this.setState({ expandedKeys: expandedKeys, searchValue: searchValue, autoExpandParent: true }); } }, { key: "loopSelect", value: function loopSelect(billNodata, value, expandedKeys, index) { var self = this; var newindex = index; var NewBillNodata = billNodata; var selectdata = []; if (index != null) { selectdata = billNodata[index]; NewBillNodata = billNodata[index].children ? billNodata[index].children : [].push(billNodata[index]); } NewBillNodata.forEach(function (ele, index) { if (ele.mergeCode == value) { if (ele.children) { expandedKeys.push(selectdata.mergeCode); self.loopSelect(NewBillNodata, value, expandedKeys, index); } if (!ele.children && !ele.isExpand) { expandedKeys.push(ele.mergeCode); } if (!ele.children && ele.isExpand) { expandedKeys.push(selectdata.mergeCode); } } else if (ele.children && ele.children.length > 0) { self.loopSelect(NewBillNodata, value, expandedKeys, index); } }); } }, { key: "onSearch", value: function onSearch(value) { var _this$state3 = this.state, billNodata = _this$state3.billNodata, isClear = _this$state3.isClear; var expandedKeys = []; var selecData = []; if (value != "" && billNodata && billNodata.length > 0) { this.getParentKey(billNodata, value, selecData); } if (value === "") { selecData = []; expandedKeys = []; } isClear = value ? true : false; this.setState({ searchValue: value, isClear: isClear, selecData: selecData, expandedKeys: expandedKeys }); } }, { key: "getSearchOptions", value: function getSearchOptions() { var _this$state4 = this.state, searchValue = _this$state4.searchValue, selecData = _this$state4.selecData; if (searchValue == '') return; var options = []; if (!selecData.length) { options.push(_react["default"].createElement(Option, { key: 'nodata', className: "haveNodata", disabled: true }, "暂无搜索结果~")); } ; selecData.forEach(function (ele) { options.push(_react["default"].createElement(Option, { key: ele.mergeCode, className: ele.isCheck ? "selected" : "haveNoselect" }, ele.title)); }, this); return options; } }, { key: "render", value: function render() { var _this3 = this; var _this$state5 = this.state, searchValue = _this$state5.searchValue, expandedKeys = _this$state5.expandedKeys, autoExpandParent = _this$state5.autoExpandParent, selectName = _this$state5.selectName, billNodata = _this$state5.billNodata, entitydata = _this$state5.entitydata, isClear = _this$state5.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 loopData = billNodata == false ? null : loop(billNodata); var clearValue = isClear ? _react["default"].createElement(_baseui.Icon, { type: "close-circle", onClick: function onClick() { return _this3.emitEmpty(); } }) : null; var options = this.getSearchOptions(); return _react["default"].createElement("div", { className: "defind_all" }, _react["default"].createElement(_baseui.Button, { icon: "search", className: "defind_icon" }), _react["default"].createElement(_baseui.Select, { placeholder: this.state.placeholder, mode: "combobox", value: this.state.searchValue, className: "defind_select", onSelect: function onSelect(value, option) { return _this3.searchSelect(value, option); }, onSearch: function onSearch(value) { return _this3.onSearch(value); }, defaultActiveFirstOption: false, showArrow: false, filterOption: false, onChange: this.handleChange, dropdownMatchSelectWidth: false }, options), 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 }, loopData)); } }]); return definedLeftcontent; }(_react["default"].Component); exports["default"] = definedLeftcontent; //# sourceMappingURL=definedLeftcontent.js.map