UNPKG

app-base-react

Version:
1 lines 16.3 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _modal=require("antd/lib/modal"),_modal2=_interopRequireDefault(_modal),_button=require("antd/lib/button"),_button2=_interopRequireDefault(_button),_tree=require("antd/lib/tree"),_tree2=_interopRequireDefault(_tree),_table=require("antd/lib/table"),_table2=_interopRequireDefault(_table),_row=require("antd/lib/row"),_row2=_interopRequireDefault(_row),_col=require("antd/lib/col"),_col2=_interopRequireDefault(_col),_input=require("antd/lib/input"),_input2=_interopRequireDefault(_input),_tag=require("antd/lib/tag"),_tag2=_interopRequireDefault(_tag),_regenerator=require("babel-runtime/regenerator"),_regenerator2=_interopRequireDefault(_regenerator),_message2=require("antd/lib/message"),_message3=_interopRequireDefault(_message2),_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/button/style/css"),require("antd/lib/tree/style/css"),require("antd/lib/table/style/css"),require("antd/lib/row/style/css"),require("antd/lib/col/style/css"),require("antd/lib/input/style/css"),require("antd/lib/tag/style/css"),require("antd/lib/message/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),_userInfo=require("../user-info"),_userInfo2=_interopRequireDefault(_userInfo),_jquery=require("../jquery"),_jquery2=_interopRequireDefault(_jquery);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _asyncToGenerator(e){return function(){var l=e.apply(this,arguments);return new Promise(function(s,i){return function t(e,a){try{var r=l[e](a),n=r.value}catch(e){return void i(e)}if(!r.done)return Promise.resolve(n).then(function(e){t("next",e)},function(e){t("throw",e)});s(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 c=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return c.onOk=function(){_utilAxios2.default.post("SysUser/setUserOptions",{user:JSON.stringify(c.state._value)}),c.setState({visible:!1,value:c.state._value},function(){c.props.onChange&&c.props.onChange(JSON.stringify(c.state._value)),console.log("选择的用户:",c.state._value)})},c.onCancel=function(){c.setState({visible:!1,_value:c.state.value},function(){c.props.onChange&&c.props.onChange(JSON.stringify(c.state.value))})},c.onClick=function(e){var t;1!=c.state.isView&&("1"==_utilAxios2.default.getUser().source&&0==c.state.isServerOrg?_message3.default.warn("无权操作,谢谢!"):((t=c.state).visible=!c.state.visible,c.setState(t),c.onLoadUserOptions({})))},c.colseTag=function(e){var t=[].concat(_toConsumableArray(c.state.value)),a=(t.splice(e,1),[].concat(_toConsumableArray(c.state._value)));a.splice(e,1),c.setState({value:t,_value:a},function(){c.onLoadMyDept(),c.props.onChange&&c.props.onChange(JSON.stringify(t))})},c.onChangeTab=function(e){c.setState({activeTabKey:e}),"_tab1"==e?c.onLoadUserOptions({}):"_tab2"==e&&c.onLoadMyDept(c.state.params)},c.toRight=function(){var e=c.state,t=[].concat(_toConsumableArray(e._value)),a=[].concat(_toConsumableArray(e.dataMyDept)),r=[].concat(_toConsumableArray(e.dataUserOptions));if(e.single&&(1<e.selectedMyDept.length||1<e.selectedUserOptions.length||0<t.length))_message3.default.info("只能进行单选");else if("_tab1"==c.state.activeTabKey){for(var n=r.length-1;0<=n;n--)for(var s=0;s<e.selectedUserOptions.length;s++)if(r[n].id==e.selectedUserOptions[s]){var i=r.splice(n,1)[0];_utilArray2.default.getRecordIndex(t,"id",i.id)<0&&t.push({id:i.id+"",name:i.name,code:i.code,company:i.company,source:c.state.isServerOrg?"1":i.source});break}e._value=t,e.dataUserOptions=r,e.selectedUserOptions=[],c.setState(e)}else if("_tab2"==c.state.activeTabKey){for(n=a.length-1;0<=n;n--)for(s=0;s<e.selectedMyDept.length;s++)if(a[n].id==e.selectedMyDept[s]){var l=a.splice(n,1)[0];_utilArray2.default.getRecordIndex(t,"id",l.id)<0&&t.push({id:l.id+"",name:l.name,code:l.code,company:l.company,source:c.state.isServerOrg?"1":l.source});break}e._value=t,e.dataMyDept=a,e.selectedMyDept=[],c.setState(e)}else if("_tab3"==c.state.activeTabKey){for(var o=e.selectedNodes,n=o.length-1;0<=n;n--){var u=o.splice(n,1)[0];_utilArray2.default.getRecordIndex(t,"id",u.id)<0&&(c.state.isServerOrg&&(u.source="1"),t.push(u));for(s=a.length-1;0<=s;s--)a[n].id==u.id&&a.splice(n,1)[0]}e.dataMyDept=a,e._value=t,e.selectedNodes=[],c.setState(e)}},c.toLeft=function(){for(var e=c,t=c.state,a=[].concat(_toConsumableArray(t._value)),r=c.state.selected.length-1;0<=r;r--){var n=_utilArray2.default.getRecordIndex(a,"id",c.state.selected[r]);0<=n&&a.splice(n,1)}t._value=a,t.value=a,t.selected=[],c.setState(t,function(){e.onLoadMyDept({}),e.onLoadUserOptions({})})},c.state={isView:1==c.props.isView,single:c.props.single||!1,title:"用户选择",placeholder:c.props.placeholder||"请选择用户",visible:!1,url:c.props.url||url,params:{},pagination:{pageSize:1e3,defaultPageSize:1e3,hideOnSinglePage:!0},selectedUserOptions:[],selectedMyDept:[],selected:[],dataUserOptions:[],dataMyDept:[],value:c.props.value?Array.isArray(c.props.value)?c.props.value:JSON.parse(c.props.value):[],_value:c.props.value?Array.isArray(c.props.value)?c.props.value:JSON.parse(c.props.value):[],targetKeys:[],loading:!1,paramsTree:_extends({parentId:c.props.params&&0<=_utilArray2.default.getIndex(c.props.params.type,998)?["0"]:["0","10000000"]},c.props.params),treeKey:_utilString2.default.uuid(),treeData:[],defaultExpandedKeys:[],selectedKeys:[],selectedNodes:[],activeTabKey:c.props.params&&0<=_utilArray2.default.getIndex(c.props.params.type,998)?"_tab3":"_tab1",isServerOrg:!!(c.props.params&&0<=_utilArray2.default.getIndex(c.props.params.type,998))},c.columns=[{title:"名称",dataIndex:"name",width:100,render:function(e,t){return _react2.default.createElement(_userInfo2.default,{showCompany:"0",key:_utilString2.default.uuid(),value:t})}},{title:"组织结构",dataIndex:"company",width:250},{title:"账号",dataIndex:"code",width:130}],c}var a,e,r,n,s;return _inherits(t,_react2.default.Component),_createClass(t,[{key:"componentDidMount",value:function(){1!=this.state.isView&&(this.state.isServerOrg?this.setState({activeTabKey:"_tab3"}):this.onLoadUserOptions(this.state.params),this.initTreeData(),(0,_jquery2.default)(window).resize())}},{key:"onLoadUserOptions",value:(s=_asyncToGenerator(_regenerator2.default.mark(function e(){var t,a,r;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/getUserOptions");case 3:for(t=e.sent,a=t.data,r=a.length-1;0<=r;r--)0<=_utilArray2.default.getRecordIndex(this.state._value,"id",a[r].id)&&a.splice(r,1);this.setState({loading:!1,activeTabKey:"_tab1",dataUserOptions:a});case 7:case"end":return e.stop()}},e,this)})),function(){return s.apply(this,arguments)})},{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,activeTabKey:"_tab2",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=13);break;case 4:return(a=(a=this.state.params)||{}).name=t,a.searchType=this.state.isServerOrg,a.source=this.state.isServerOrg?"1":"0",e.next=11,_utilAxios2.default.get("SysUser/getList",a);case 11:r=e.sent,this.setState({loading:!1,params:a,activeTabKey:"_tab1",dataUserOptions:r.data});case 13: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):_utilArray2.default.getIndex(r.parentId,a.node.id)<0&&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,source:this.state.isServerOrg?"1":t.checkedNodes[r].source});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})}}}),r=_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-select-user"},this.state.isView?_react2.default.createElement("div",null,0<this.state.value.length?this.state.value.map(function(e,t){return _react2.default.createElement(_tag2.default,{style:{padding:"0",height:"32px",fontSize:"14px",color:"rgba(0, 0 , 0, 0.25)",lineHeight:"32px",width:"100%"},className:"ant-select-selection-item disabled",key:e.code||e.id,closable:!1,onClose:function(e){a.colseTag(t)}},"  ",a.state.isServerOrg?"["+e.company+"]/"+e.name:e.name,"  ")}):_react2.default.createElement(_input2.default,{disabled:!0,placeholder:this.state.placeholder})):_react2.default.createElement("div",{className:"ant-select ant-select-multiple ant-select-show-search",style:{width:"100%",padding:"0 3px"}},_react2.default.createElement("div",{className:"ant-select-selector",style:{minHeight:"32px"},onClick:this.onClick},0<this.state.value.length?this.state.value.map(function(e,t){return _react2.default.createElement(_tag2.default,{className:"ant-select-selection-item",key:e.code||e.id,closable:!0,onClose:function(e){a.colseTag(t)}},"  ",a.state.isServerOrg?"["+e.company+"]/"+e.name:e.name,"  ")}):_react2.default.createElement("span",{className:"ant-select-selection-placeholder"},this.state.placeholder)),_react2.default.createElement("span",{className:"ant-select-arrow",style:{fontSize:"16px",top:"12px",right:"12px",width:"20px",height:"20px"}},_react2.default.createElement("i",{className:"iconfont icon-search"}))),_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))],wrapClassName:"select-user-modal",centered:!0,visible:this.state.visible,onOk:this.onOk,onCancel:function(){a.setState({visible:!1})},width:"1200px",footer:null,bodyStyle:{maxHeight:"620px",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),activeKey:this.state.activeTabKey,defaultActiveKey:this.state.activeTabKey,type:"card",tabBarGutter:"10",style:{height:"100%"}},_react2.default.createElement(TabPane,{tab:"最近使用",key:"_tab1"},_react2.default.createElement(_table2.default,t)),_react2.default.createElement(TabPane,{tab:"我的部门",key:"_tab2"},_react2.default.createElement(_table2.default,r)),_react2.default.createElement(TabPane,{tab:this.state.isServerOrg?"服务机构":"组织结构",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:"70px",lineHeight:"70px",textAlign:"center"}},_react2.default.createElement(_button2.default,{type:"primary",onClick:this.onOk}," 确定 "),"   ",_react2.default.createElement(_button2.default,{onClick:this.onCancel}," 取消 ")))))}}]),t}();exports.default=SelectUser;