UNPKG

app-base-react

Version:
1 lines 4.55 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _treeSelect=require("antd/lib/tree-select"),_treeSelect2=_interopRequireDefault(_treeSelect),_spin=require("antd/lib/spin"),_spin2=_interopRequireDefault(_spin),_extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r,a=arguments[t];for(r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},_createClass=function(){function a(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(e,t,r){return t&&a(e.prototype,t),r&&a(e,r),e}}(),_react=(require("antd/lib/tree-select/style/css"),require("antd/lib/spin/style/css"),require("react")),_react2=_interopRequireDefault(_react),_antd=require("antd"),_utilAxios=require("../util-axios"),_utilAxios2=_interopRequireDefault(_utilAxios);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(e,t){if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var SelectDepartment=function(){function a(e){_classCallCheck(this,a);var t=_possibleConstructorReturn(this,(a.__proto__||Object.getPrototypeOf(a)).call(this,e)),r=t.props.multiple&&t.props.value?JSON.parse(t.props.value):t.props.value;return t.state={value:r,params:t.props.params||{type:[0,1,2,997,998]},placeholder:t.props.placeholder||"请选择",showSearch:0!=t.props,treeData:[],loading:!1,multiple:t.props.multiple,treeNodeFilterProp:t.props.treeNodeFilterProp||"title",treeDefaultEexpandAll:1==t.props.treeDefaultEexpandAll,treeCheckStrictly:t.props.treeCheckStrictly||!1,showCheckedStrategy:t.props.showCheckedStrategy||"SHOW_CHILD",disabled:"1"==_utilAxios2.default.getUser().source||t.props.disabled||!1,onlySelectLeaf:e.onlySelectLeaf||!1,extraTreeData:e.extraTreeData||[]},t}return _inherits(a,_react2.default.Component),_createClass(a,[{key:"componentDidMount",value:function(){this.onLoad(this.state.params)}},{key:"onLoad",value:function(e){var t=this;t.setState({loading:!0}),_utilAxios2.default.get("SysDepartment/listTreeDept",e,function(e){e.success&&(e=e.data.treeData,t.transformTree(e),t.setState({treeData:e,loading:!1}))})}},{key:"componentWillReceiveProps",value:function(e){var t;this.props.value!=e.value&&(t=e.multiple&&e.value?JSON.parse(e.value):e.value,this.setState({value:t})),this.props.params!=e.params&&(t=e.params,this.onLoad(t)),this.props.extraTreeData!=e.extraTreeData&&(t=e.extraTreeData,this.setState({extraTreeData:t})),this.props.disabled!=e.disabled&&(t=e.disabled,this.setState({disabled:t}))}},{key:"transformTree",value:function(e){var r=this,a=this;e.map(function(e){var t=r.state.onlySelectLeaf;e.title=e.name,e.value=e.id,e.children&&0<e.children.length&&(t&&(e.disabled=!0),a.transformTree(e.children))})}},{key:"onChange",value:function(e,t,r){this.setState({value:e}),this.props.onChange&&(e&&e instanceof Array&&(e=JSON.stringify(e)),this.props.onChange(e,t))}},{key:"onSelect",value:function(e,t,r){this.props.onSelect&&this.props.onSelect(t)}},{key:"render",value:function(){var e;return this.state.loading?_react2.default.createElement("div",{style:{textAlign:"center"}},_react2.default.createElement(_spin2.default,null)):(e={style:{width:"100%"},value:this.state.value,dropdownStyle:{maxHeight:400,overflow:"auto"},treeData:this.state.treeData.concat(this.state.extraTreeData),placeholder:this.state.placeholder,treeDefaultExpandAll:this.state.treeDefaultEexpandAll,showSearch:this.state.showSearch,treeNodeFilterProp:this.state.treeNodeFilterProp,onChange:this.onChange.bind(this),onSelect:this.onSelect.bind(this),disabled:this.state.disabled},this.state.multiple&&(e.treeCheckable=!0,e.showCheckedStrategy=this.state.showCheckedStrategy,e.treeCheckStrictly=this.state.treeCheckStrictly),_react2.default.createElement(_treeSelect2.default,_extends({className:"app-select-department"},e,{getPopupContainer:function(e){return e||document.body}})))}}]),a}();exports.default=SelectDepartment;