UNPKG

ming-demo1

Version:
883 lines (795 loc) 27.6 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 _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); 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 _basic = require("../../../../basic"); var _baseui = require("@mdf/baseui"); var _sortableList = _interopRequireDefault(require("./sortableList")); var _SvgIcon = _interopRequireDefault(require("@mdf/metaui-web/lib/components/common/SvgIcon")); var _tree = require("../../../../../redux/tree"); var _util = require("@mdf/cube/lib/helpers/util"); var TreeNode = _baseui.Tree.TreeNode; var Option = _baseui.Select.Option; var SearchTreeControl = function (_React$Component) { (0, _inherits2["default"])(SearchTreeControl, _React$Component); function SearchTreeControl(props) { var _this; (0, _classCallCheck2["default"])(this, SearchTreeControl); _this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(SearchTreeControl).call(this, props)); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onCheck", function (checkedKeys) { var dataSource = _this.selectDataSource; _this.props.setCheckedKeys(checkedKeys); var checkedItem = []; dataSource.forEach(function (ele, index) { if (ele.code && checkedKeys.indexOf(ele.code) > -1) { if (ele.haveChildren == true) return; checkedItem.push(ele); } }); _this.props.changeRightContent(checkedItem); }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleSearchClick", function (e) { _this.flag = true; }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleTreeClick", function (e) { _this.flag = true; }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleClick", function (e) { if (_this.flag) { _this.flag = false; return; } }); var filterProps = ['name']; _this.state = { multiple: _this.props.multiple || false, checkable: _this.props.checkable || false, keyField: _this.props.keyField || 'key', titleField: _this.props.titleField || 'title', childrenField: 'children', autoExpandParent: false, selectedKeys: [], dataSource: [], optionData: [], renderFlag: true, selectKey: '', filterProps: filterProps, searchValue: '', currentSelect: '' }; _this.selectDataSource = []; return _this; } (0, _createClass2["default"])(SearchTreeControl, [{ key: "componentDidMount", value: function componentDidMount() { var states = { dataSource: this.props.dataSource, optionData: this.props.dataSource }; this.setState(states); this.getSelectData(this.props.dataSource); } }, { key: "componentDidUpdate", value: function componentDidUpdate() {} }, { key: "componentWillReceiveProps", value: function componentWillReceiveProps(nextProps) { if (nextProps.bShowModal == false || nextProps.isAuto == true) { this.setState({ searchValue: '' }); } } }, { key: "componentWillUnmount", value: function componentWillUnmount() {} }, { key: "onSelect", value: function onSelect(selectedKeys, e) { var dataSource = this.selectDataSource; this.props.setCheckedKeys(selectedKeys); var checkedItem = []; dataSource.forEach(function (ele, index) { if (ele.code && selectedKeys[0] == ele.code && !ele.haveChildren && ele.name) { checkedItem.push(ele); } if (ele.parent && selectedKeys[0] == ele.parent && !ele.haveChildren && ele.name) { checkedItem.push(ele); } if (ele.parent) { dataSource.forEach(function (val) { if (val.code == ele.parent) { if (val.parent && val.parent == selectedKeys[0] && ele.name) { checkedItem.push(ele); } } }); } }); this.props.changeRightContent(checkedItem); } }, { key: "onExpand", value: function onExpand(expandedKeys, e) { if (e) { this.props.setExpandedKeys(expandedKeys); this.setState({ autoExpandParent: false }); } else { this.props.setExpandedKeys(expandedKeys); this.setState({ autoExpandParent: true }); } } }, { key: "searchSelect", value: function searchSelect(value, option) { var selectData = this.state.selectData; var expandedKeys = this.props.expandedKeys; var currentData = selectData.find(function (item) { return item.code == value; }); var newExpandedKeys = [].concat(expandedKeys); if (currentData && currentData.parent) { var expandedKey = currentData.parent.toString(); if (newExpandedKeys.indexOf(expandedKey) === -1) newExpandedKeys.push(expandedKey); } this.setState({ currentSelect: value }); this.onExpand(newExpandedKeys); this.onSelect([value]); } }, { key: "fetch", value: function fetch(value, callback) { var dataSource = this.selectDataSource; var filterProps = this.state.filterProps; var data = []; dataSource.forEach(function (ele) { filterProps.forEach(function (field) { if (ele[field] && ele[field].indexOf(value) < 0) return; data.push(ele); }); }); callback(data); } }, { key: "getSelectData", value: function getSelectData(data, parent) { data.forEach(function (ele) { var item = { parent: parent }; for (var attr in ele) { if (attr === 'children') { item['haveChildren'] = true; } ; item[attr] = ele[attr]; } this.selectDataSource.push(item); if (ele.children) { this.getSelectData(ele.children, ele.code); } }, this); } }, { key: "onSearch", value: function onSearch(value) { var _this2 = this; this.setState({ searchValue: value }); this.fetch(value, function (selectData) { return _this2.setState({ selectData: selectData }); }); } }, { key: "getSearchOptions", value: function getSearchOptions() { var searchValue = this.state.searchValue; if (searchValue == '') return; var selectData = this.state.selectData; var options = []; selectData.forEach(function (ele) { if (ele.name) { options.push(_react["default"].createElement(Option, { key: ele.code }, ele.name)); } }, this); return options; } }, { key: "render", value: function render() { var _this3 = this; var loop = function loop(data) { return data.map(function (item) { if (item.name) { if (item.children) { return _react["default"].createElement(TreeNode, { data: item, name: item.code, title: item.name, key: item.code, disabled: _this3.props.isAuto, className: _this3.state.currentSelect == item.code ? 'selectdata' : '' }, loop(item.children)); } return _react["default"].createElement(TreeNode, { data: item, name: item.code, title: item.name, key: item.code, disabled: _this3.props.isAuto, className: _this3.state.currentSelect == item.code ? 'selectdata' : '' }); } }); }; var treeNodes = loop(this.state.dataSource); var treeProps = { expandedKeys: this.props.expandedKeys, selectedKeys: this.state.selectedKeys, checkedKeys: this.props.checkedKeys, autoExpandParent: this.state.autoExpandParent }; var options = this.getSearchOptions(); return _react["default"].createElement("div", { onClick: this.handleClick, className: "bg-white border-r", style: { width: '265px', height: '315px' } }, _react["default"].createElement("div", { onClick: this.handleSearchClick, className: "search-tree-2" }, _react["default"].createElement(_baseui.Select, { placeholder: "\u8BF7\u8F93\u5165\u5173\u952E\u5B57", className: "comfunselect", mode: "combobox", value: this.state.searchValue, notFoundContent: "\u554A\u54E6\uFF01\u6CA1\u6B64\u8282\u70B9\u54E6\uFF01", onSelect: function onSelect(value, option) { return _this3.searchSelect(value, option); }, onSearch: function onSearch(value) { return _this3.onSearch(value); }, disabled: this.props.isAuto, defaultActiveFirstOption: false, showArrow: false, filterOption: false, onChange: this.handleChange, dropdownMatchSelectWidth: false }, options), _react["default"].createElement(_baseui.Button, { icon: "search", style: { left: '220px', top: '12px' }, disabled: this.props.isAuto ? true : false })), _react["default"].createElement("div", { ref: "scrolltree", onClick: this.handleTreeClick, className: "search-tree-3", style: { height: '265px', width: '100%', overflow: 'auto' } }, _react["default"].createElement(_baseui.Tree, (0, _extends2["default"])({ key: treeNodes.length, onExpand: function onExpand(expandedKeys, e) { return _this3.onExpand(expandedKeys, e); }, onSelect: function onSelect(selectedKeys, e) { return _this3.onSelect(selectedKeys, e); }, onCheck: this.onCheck, checkable: true }, treeProps), treeNodes))); } }]); return SearchTreeControl; }(_react["default"].Component); ; var echartCommonFunctions = function (_Component) { (0, _inherits2["default"])(echartCommonFunctions, _Component); function echartCommonFunctions(props) { var _this4; (0, _classCallCheck2["default"])(this, echartCommonFunctions); _this4 = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(echartCommonFunctions).call(this, props)); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this4), "setExpandedKeys", function (expandedKeys) { _this4.setState({ expandedKeys: expandedKeys }); }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this4), "setCheckedKeys", function (checkedKeys) { _this4.setState({ checkedKeys: checkedKeys }); }); _this4.state = { dataSource: [], isAuto: true, title: props.title || '常用功能', style: _this4.props.style || {}, bShowModal: false, searchTreeData: [], items: [1, 2, 3, 4, 5, 6], rightContentItems: [], expandedKeys: [], checkedKeys: [] }; return _this4; } (0, _createClass2["default"])(echartCommonFunctions, [{ key: "componentDidMount", value: function componentDidMount() { var _this5 = this; var proxy = cb.rest.DynamicProxy.create({ getCommon: { url: 'commonfuctions/list', method: 'GET' } }); proxy.getCommon(function (err, result) { if (result) _this5.setState({ dataSource: result }); }); } }, { key: "getIsSysCommFuncs", value: function () { var _getIsSysCommFuncs = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee() { var config, json, rightContentItems, checkedKeys; return _regenerator["default"].wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: config = { url: 'commonfuctions/isSysCommFuncs', method: 'POST' }; _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.setState({ isAuto: json.data }); if (json.data == true) { this.setState({ rightContentItems: [], checkedKeys: [] }); } else { rightContentItems = this.state.dataSource; checkedKeys = []; rightContentItems.forEach(function (ele) { checkedKeys.push(ele.code); }); this.setState({ rightContentItems: rightContentItems, checkedKeys: checkedKeys }); } case 9: case "end": return _context.stop(); } } }, _callee, this); })); function getIsSysCommFuncs() { return _getIsSysCommFuncs.apply(this, arguments); } return getIsSysCommFuncs; }() }, { key: "getCommomFunctions", value: function () { var _getCommomFunctions = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2() { var config, json, checkedKeys, rightContentItems; return _regenerator["default"].wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: config = { url: 'commonfuctions/list', method: 'GET' }; _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: checkedKeys = []; rightContentItems = []; json.data.forEach(function (ele) { checkedKeys.push(ele.code); rightContentItems.push(ele); }); this.setState({ dataSource: json.data }); case 11: case "end": return _context2.stop(); } } }, _callee2, this); })); function getCommomFunctions() { return _getCommomFunctions.apply(this, arguments); } return getCommomFunctions; }() }, { key: "onSave", value: function () { var _onSave = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3(bSystem, commonFuncList) { var params, config, json; return _regenerator["default"].wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: if (bSystem == true) { params = { bSystem: bSystem }; } else { params = { bSystem: bSystem, commonFuncList: commonFuncList }; } config = { url: 'commonfuctions/setCommonFuncs', method: 'POST', params: params }; _context3.next = 4; return (0, _util.proxy)(config); case 4: json = _context3.sent; if (!(json.code !== 200)) { _context3.next = 8; break; } cb.utils.alert('保存失败!' + json.message, 'error'); return _context3.abrupt("return"); case 8: cb.utils.alert('保存成功!', 'success'); this.setState({ bShowModal: false }); this.getCommomFunctions(); case 11: case "end": return _context3.stop(); } } }, _callee3, this); })); function onSave(_x, _x2) { return _onSave.apply(this, arguments); } return onSave; }() }, { key: "handleClick", value: function handleClick(menuCode) { var execHandler = this.props.execHandler; execHandler(menuCode); } }, { key: "getControl", value: function getControl() { var _this6 = this; var dataSource = this.state.dataSource; if (!dataSource.length) return null; var items = []; dataSource.forEach(function (item, index) { var extraProps = {}; if (index === 0) extraProps.color = 'red'; items.push(_react["default"].createElement(_basic.Col, { span: 6 }, _react["default"].createElement(_baseui.Tag, (0, _extends2["default"])({}, extraProps, { onClick: function onClick() { return _this6.handleClick(item.code); } }), item.name))); }); return _react["default"].createElement(_basic.Row, null, items); } }, { key: "handleOk", value: function handleOk() { var _this$state = this.state, isAuto = _this$state.isAuto, rightContentItems = _this$state.rightContentItems; if (rightContentItems.length > 16) { cb.utils.alert('最多选择16项菜单!', 'error'); return; } var commonFuncList = []; rightContentItems.forEach(function (ele, index) { commonFuncList.push({ code: ele.code, iOrder: index + 1 }); }); if (isAuto == false && commonFuncList.length == 0) { cb.utils.alert('请选择菜单!', 'error'); return; } this.onSave(isAuto, commonFuncList); } }, { key: "handleCancel", value: function handleCancel() { this.setState({ bShowModal: false, rightContentItems: [], expandedKeys: [] }); } }, { key: "renderTreeNodes", value: function renderTreeNodes(treeData) { var _this7 = this; return treeData.map(function (item) { var children = item.children, name = item.name, code = item.code; if (children) return _react["default"].createElement(TreeNode, { title: name, key: code }, _this7.renderTreeNodes(children || [])); return _react["default"].createElement(TreeNode, { title: name, key: code, isLeaf: true }); }); } }, { key: "editAuto", value: function editAuto(val) { this.setState({ isAuto: val, rightContentItems: [], checkedKeys: [] }); } }, { key: "deleteItem", value: function deleteItem(val) { var rightContentItems = this.state.rightContentItems; rightContentItems.splice(rightContentItems.indexOf(val), 1); var checked = []; rightContentItems.forEach(function (ele) { checked.push(ele.code); }); this.setState({ rightContentItems: rightContentItems, checkedKeys: checked }); } }, { key: "changeRightContent", value: function changeRightContent(items) { this.setState({ rightContentItems: items }); } }, { key: "onRightContentDrag", value: function onRightContentDrag(items) { var rightContentItems = this.state.rightContentItems; var afterDragItems = []; items.forEach(function (ele, index) { rightContentItems.forEach(function (val) { if (val.code == ele) { afterDragItems.push(val); } }); }); this.setState({ rightContentItems: afterDragItems }); } }, { key: "getInnerRender", value: function getInnerRender() { var _this8 = this; var _this$state2 = this.state, isAuto = _this$state2.isAuto, rightContentItems = _this$state2.rightContentItems, expandedKeys = _this$state2.expandedKeys, checkedKeys = _this$state2.checkedKeys, bShowModal = _this$state2.bShowModal; var treeData = this.props.tree.TreeData; var leftContentRender = _react["default"].createElement(SearchTreeControl, { dataSource: treeData, changeRightContent: function changeRightContent(checkedItem) { return _this8.changeRightContent(checkedItem); }, expandedKeys: expandedKeys, setExpandedKeys: this.setExpandedKeys, checkedKeys: checkedKeys, setCheckedKeys: this.setCheckedKeys, isAuto: isAuto, bShowModal: bShowModal }); return _react["default"].createElement("div", null, _react["default"].createElement(_basic.Row, { colCount: 12, className: "crosstype" }, _react["default"].createElement(_basic.Col, { span: 5, className: "crosscheckbox" }, _react["default"].createElement(_baseui.Checkbox, { checked: isAuto, onChange: function onChange(e) { return _this8.editAuto(e.target.checked); } }, "\u6839\u636E\u4F7F\u7528\u9891\u7387\u81EA\u52A8\u8BBE\u7F6E\u5E38\u7528\u529F\u80FD")), _react["default"].createElement(_basic.Col, { span: 7 })), _react["default"].createElement(_basic.Row, { colCount: 12 }, _react["default"].createElement(_basic.Col, { span: 5, className: "crossadddata" }, _react["default"].createElement("div", null, _react["default"].createElement(_basic.Row, { className: "crossaddnamemargin" }, "\u9009\u62E9\u9700\u8981\u6DFB\u52A0\u81F3\u5E38\u7528\u529F\u80FD\u7684\u83DC\u5355"), _react["default"].createElement("div", { className: "crossselectborder" }, _react["default"].createElement(_basic.Row, { className: "searchtree" }, leftContentRender)))), _react["default"].createElement(_basic.Col, { span: 2, className: "crossbtncount" }, _react["default"].createElement(_baseui.Button, { className: "icon-right-disabled", style: { visibility: "hidden" } }), _react["default"].createElement(_baseui.Button, { className: "icon-left-disabled", style: { visibility: "hidden" } })), _react["default"].createElement(_basic.Col, { span: 5, className: "selecteddata" }, _react["default"].createElement("div", null, _react["default"].createElement(_basic.Row, { className: "crossaddnamemargin" }, "\u5DF2\u9009\u83DC\u5355", _react["default"].createElement("span", null, "\uFF08\u6700\u591A\u663E\u793A16\u9879\uFF09")), _react["default"].createElement("div", { className: "crossselectborder", style: { overflow: 'auto' } }, _react["default"].createElement("div", null, _react["default"].createElement(_sortableList["default"], { items: rightContentItems, closeDisabled: isAuto, onChange: function onChange(items) { _this8.onRightContentDrag(items); }, onDelete: function onDelete(val) { _this8.deleteItem(val); } })))), _react["default"].createElement(_basic.Row, { className: "selectattention" }, "\u6309\u60A8\u559C\u6B22\u7684\u987A\u5E8F\u62D6\u653E\u83DC\u5355")))); } }, { key: "getModalRender", value: function getModalRender() { var _this9 = this; var content; var card; card = this.getInnerRender(); content = _react["default"].createElement(_baseui.Modal, { className: "crossGroupingModal commonfunctions", title: "\u5E38\u7528\u529F\u80FD\u8BBE\u7F6E", onOk: function onOk(e) { return _this9.handleOk(e); }, onCancel: function onCancel(e) { return _this9.handleCancel(e); }, visible: this.state.bShowModal }, card); return content; } }, { key: "showModal", value: function showModal() { this.getIsSysCommFuncs(); this.setState({ bShowModal: true }); } }, { key: "render", value: function render() { var _this10 = this; var settingCard = this.getModalRender(); var control = this.getControl(); var button = _react["default"].createElement(_baseui.Icon, { type: "changyonggongnengshezhi", style: { cursor: "pointer" }, onClick: function onClick() { return _this10.showModal(); } }); return _react["default"].createElement("div", { className: "home-panel-5 home-panel-6" }, _react["default"].createElement(_baseui.Card, { title: this.state.title, bordered: false, style: this.state.style, extra: button }, control), _react["default"].createElement("div", { className: "groupCondition" }, settingCard)); } }]); return echartCommonFunctions; }(_react.Component); function mapStateToProps(state) { return { tree: state.tree.toJS() }; } function mapDispatchToProps(dispatch) { return { execHandler: (0, _redux.bindActionCreators)(_tree.execHandler, dispatch) }; } var _default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(echartCommonFunctions); exports["default"] = _default; //# sourceMappingURL=echartCommonFunctions.js.map