app-base-react
Version:
react development common base package.
1 lines • 11.7 kB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _modal=require("antd/lib/modal"),_modal2=_interopRequireDefault(_modal),_tree=require("antd/lib/tree"),_tree2=_interopRequireDefault(_tree),_table=require("antd/lib/table"),_table2=_interopRequireDefault(_table),_input=require("antd/lib/input"),_input2=_interopRequireDefault(_input),_row=require("antd/lib/row"),_row2=_interopRequireDefault(_row),_col=require("antd/lib/col"),_col2=_interopRequireDefault(_col),_button=require("antd/lib/button"),_button2=_interopRequireDefault(_button),_regenerator=require("babel-runtime/regenerator"),_regenerator2=_interopRequireDefault(_regenerator),_tabs=require("antd/lib/tabs"),_tabs2=_interopRequireDefault(_tabs),_extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a,r=arguments[t];for(a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},_createClass=function(){function r(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(e,t,a){return t&&r(e.prototype,t),a&&r(e,a),e}}(),_react=(require("antd/lib/modal/style/css"),require("antd/lib/tree/style/css"),require("antd/lib/table/style/css"),require("antd/lib/input/style/css"),require("antd/lib/row/style/css"),require("antd/lib/col/style/css"),require("antd/lib/button/style/css"),require("antd/lib/tabs/style/css"),require("react")),_react2=_interopRequireDefault(_react),_antd=require("antd"),_utilAxios=require("../util-axios"),_utilAxios2=_interopRequireDefault(_utilAxios),_utilArray=require("../util-array"),_utilArray2=_interopRequireDefault(_utilArray),_utilString=require("../util-string"),_utilString2=_interopRequireDefault(_utilString);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _asyncToGenerator(e){return function(){var s=e.apply(this,arguments);return new Promise(function(i,l){return function t(e,a){try{var r=s[e](a),n=r.value}catch(e){return void l(e)}if(!r.done)return Promise.resolve(n).then(function(e){t("next",e)},function(e){t("throw",e)});i(n)}("next")})}}function _toConsumableArray(e){if(Array.isArray(e)){for(var t=0,a=Array(e.length);t<e.length;t++)a[t]=e[t];return a}return Array.from(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 TabPane=_tabs2.default.TabPane,url="SysUser/getList",SelectUser=function(){function t(e){_classCallCheck(this,t);var d=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return d.onOk=function(){d.setState({visible:!1}),d.props.onChange&&d.props.onChange(JSON.stringify(d.state.value))},d.onAdd=function(e){var t=d.state;t.visible=!d.state.visible,d.setState(t)},d.onChangeTab=function(e){d.setState({activeTabKey:e})},d.toRight=function(){if("_tab1"!=d.state.activeTabKey)if("_tab2"==d.state.activeTabKey){for(var e=d.state,t=[].concat(_toConsumableArray(e.value)),a=[].concat(_toConsumableArray(e.dataMyDept)),r=a.length-1;0<=r;r--)for(var n=0;n<e.selectedMyDept.length;n++)if(a[r].id==e.selectedMyDept[n]){var i=a.splice(r,1)[0];_utilArray2.default.getRecordIndex(t,"id",i.id)<0&&t.push({id:i.id,name:i.name,code:i.code,company:i.company,tel:i.tel,email:i.email,position:i.position});break}e.value=t,e.dataMyDept=a,e.selectedMyDept=[],d.setState(e)}else if("_tab3"==d.state.activeTabKey){for(var l=d.state,s=[].concat(_toConsumableArray(l.value)),o=[].concat(_toConsumableArray(l.dataMyDept)),u=l.selectedNodes,r=u.length-1;0<=r;r--){var c=u.splice(r,1)[0];_utilArray2.default.getRecordIndex(s,"id",c.id)<0&&s.push(c);for(n=o.length-1;0<=n;n--)o[r].id==c.id&&o.splice(r,1)[0]}l.dataMyDept=o,l.value=s,l.selectedNodes=[],d.setState(l)}},d.toLeft=function(){for(var e=d,t=d.state,a=[].concat(_toConsumableArray(t.value)),r=d.state.selected.length-1;0<=r;r--){var n=_utilArray2.default.getRecordIndex(a,"id",d.state.selected[r]);0<=n&&a.splice(n,1)}t.value=a,t.selected=[],d.setState(t,function(){e.onLoadMyDept({})})},d.state={title:"用户选择",buttonText:d.props.buttonText||"增加用户",placeholder:d.props.placeholder||"请选择用户",visible:!1,url:d.props.url||url,params:{},pagination:{pageSize:1e3,defaultPageSize:1e3,hideOnSinglePage:!0},selectedUserOptions:[],selectedMyDept:[],selected:[],dataUserOptions:[],dataMyDept:[],value:d.props.value?JSON.parse(d.props.value):[],targetKeys:[],loading:!1,paramsTree:{parentId:[0,1e7]},treeKey:_utilString2.default.uuid(),treeData:[],defaultExpandedKeys:[],selectedKeys:[],selectedNodes:[],activeTabKey:"_tab2"},d.columns=[{title:"名称",dataIndex:"name",width:100},{title:"组织结构",dataIndex:"company",width:250},{title:"账号",dataIndex:"code",width:130},{title:"联系电话",dataIndex:"tel",width:130},{title:"邮箱",dataIndex:"email",width:130},{title:"职务",dataIndex:"position",width:130}],d}var a,e,r,n;return _inherits(t,_react2.default.Component),_createClass(t,[{key:"componentDidMount",value:function(){this.onLoadMyDept(this.state.params),this.initTreeData()}},{key:"onLoadMyDept",value:(n=_asyncToGenerator(_regenerator2.default.mark(function e(t){var a,r,n;return _regenerator2.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.setState({loading:!0}),e.next=3,_utilAxios2.default.get("SysUser/getMyDeptUser",t);case 3:for(a=e.sent,r=a.data,n=r.length-1;0<=n;n--)0<=_utilArray2.default.getRecordIndex(this.state.value,"id",r[n].id)&&r.splice(n,1);this.setState({loading:!1,params:t,dataMyDept:r});case 7:case"end":return e.stop()}},e,this)})),function(e){return n.apply(this,arguments)})},{key:"onSearch",value:(r=_asyncToGenerator(_regenerator2.default.mark(function e(t){var a,r;return _regenerator2.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:t?e.next=4:(this.onLoadMyDept({}),e.next=10);break;case 4:return(a=this.state.params).name=t,e.next=8,_utilAxios2.default.get("SysUser/getList",a);case 8:r=e.sent,this.setState({loading:!1,params:a,dataMyDept:r.data});case 10:case"end":return e.stop()}},e,this)})),function(e){return r.apply(this,arguments)})},{key:"initTreeData",value:(e=_asyncToGenerator(_regenerator2.default.mark(function e(){var t;return _regenerator2.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,_utilAxios2.default.get("SysDepartment/listTreeDepartmentAndUser",this.state.paramsTree);case 2:t=e.sent,this.setState({treeData:t.data.treeData,defaultExpandedKeys:t.data.defaultExpandedKeys});case 4:case"end":return e.stop()}},e,this)})),function(){return e.apply(this,arguments)})},{key:"onSelectTree",value:(a=_asyncToGenerator(_regenerator2.default.mark(function e(t,a){var r,n;return _regenerator2.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=this.state.paramsTree,a.node.children?_utilArray2.default.remove(r.parentId,a.node.id):r.parentId.push(a.node.id),e.next=4,_utilAxios2.default.get("SysDepartment/listTreeDepartmentAndUser",r);case 4:n=e.sent,this.setState({treeData:n.data.treeData,defaultExpandedKeys:n.data.defaultExpandedKeys,paramsTree:r,treeKey:_utilString2.default.uuid()});case 6:case"end":return e.stop()}},e,this)})),function(e,t){return a.apply(this,arguments)})},{key:"onCheckTree",value:function(e,t){for(var a=[],r=0;r<t.checkedNodes.length;r++)a.push({id:t.checkedNodes[r].id,name:t.checkedNodes[r].title,code:t.checkedNodes[r].code,company:t.checkedNodes[r].company,tel:t.checkedNodes[r].tel,email:t.checkedNodes[r].email,position:t.checkedNodes[r].position});this.setState({selectedNodes:a})}},{key:"render",value:function(){var a=this,e={scroll:{y:"390px"},size:"middle",rowKey:"id",columns:this.columns,pagination:this.state.pagination,loading:this.state.loading},t=(_extends({},e,{dataSource:this.state.dataUserOptions,rowSelection:{selectedRowKeys:this.state.selectedUserOptions,columnWidth:"30px",onChange:function(e,t){a.setState({selectedUserOptions:e})}}}),_extends({},e,{dataSource:this.state.dataMyDept,rowSelection:{selectedRowKeys:this.state.selectedMyDept,columnWidth:"30px",onChange:function(e,t){a.setState({selectedMyDept:e})}}})),e=_extends({},e,{dataSource:this.state.value,rowSelection:{selectedRowKeys:this.state.selected,columnWidth:"30px",onChange:function(e,t){a.setState({selected:e})}}});return _react2.default.createElement("div",{className:"app-add-user"},_react2.default.createElement(_button2.default,{className:"btn-add",onClick:this.onAdd},_react2.default.createElement("i",{className:"iconfont icon-add"}),this.state.buttonText),_react2.default.createElement(_modal2.default,{title:[_react2.default.createElement(_row2.default,{className:"app-admin"},_react2.default.createElement(_col2.default,{className:"main-title",style:{marginBottom:"5px"}},_react2.default.createElement("i",{className:"iconfont icon-title"}),this.props.title||this.state.title))],centered:!0,visible:this.state.visible,onOk:this.onOk,onCancel:function(){a.setState({visible:!1})},width:"1200px",footer:null,bodyStyle:{height:"600px",padding:"3px"},style:{textAlign:"center"}},_react2.default.createElement(_row2.default,null,_react2.default.createElement(_col2.default,{xs:12,style:{height:"45px",lineHeight:"45px"}},_react2.default.createElement(_input2.default.Search,{placeholder:"请输入用户名称",onSearch:this.onSearch.bind(this)}))),_react2.default.createElement(_row2.default,null,_react2.default.createElement(_col2.default,{xs:11},_react2.default.createElement(_tabs2.default,{onChange:this.onChangeTab.bind(this),defaultActiveKey:this.state.activeTabKey,type:"card",tabBarGutter:"10",style:{height:"100%"}},_react2.default.createElement(TabPane,{tab:"我的部门",key:"_tab2"},_react2.default.createElement(_table2.default,t)),_react2.default.createElement(TabPane,{tab:"组织结构",key:"_tab3",style:{overflow:"scroll"}},_react2.default.createElement(_tree2.default,{style:{height:"435px"},key:this.state.treeKey,checkable:!0,expandedKeys:this.state.defaultExpandedKeys,treeData:this.state.treeData,selectable:!0,onSelect:this.onSelectTree.bind(this),onCheck:this.onCheckTree.bind(this)})))),_react2.default.createElement(_col2.default,{style:{height:"500px",width:"60px",padding:"220px 5px 0 5px",background:"#fafafa"}},_react2.default.createElement(_button2.default,{style:{marginBottom:"20px"},onClick:this.toRight},_react2.default.createElement("i",{className:"iconfont icon-right"})),_react2.default.createElement(_button2.default,{style:{marginBottom:"30px"},onClick:this.toLeft},_react2.default.createElement("i",{className:"iconfont icon-left"}))),_react2.default.createElement(_col2.default,{xs:11},_react2.default.createElement(_tabs2.default,{onChange:this.onChangeTab.bind(this),type:"card",tabBarGutter:"10",style:{height:"100%"}},_react2.default.createElement(TabPane,{tab:"已选择用户",key:"_tab11"},_react2.default.createElement(_table2.default,e))))),_react2.default.createElement(_row2.default,null,_react2.default.createElement(_col2.default,{xs:24,style:{borderTop:"1px solid #d5d5d5",height:"50px",lineHeight:"50px",textAlign:"center"}},_react2.default.createElement(_button2.default,{type:"primary",onClick:this.onOk}," 确定 ")))))}}]),t}();exports.default=SelectUser;