import React from 'react'; import { connect } from 'dva'; import { Button, Row, Col, Form, Input,Select,Checkbox,Modal,Transfer,Spin,message } from 'antd'; import { extend, extendRule, initFilter, initQueryFilter, getOnlyPropertyData, extendInclude } from "../../../utils/common"; import DropDownPagination from '../../common/DropDownPaginationEx'; const FormItem = Form.Item; const Option = Select.Option; const { TextArea } = Input; class RoleGroupEditPage extends React.Component { constructor(props) { super(props); this.state = { data: {}, btns:[], userGroupTargetKeys:[], roleTargetKeys:[], roleGroupTargetKeys:[], }; }; componentDidMount() { this.props.form.resetFields(); this.loadData(); } componentWillReceiveProps(NextProps) { const {data}=this.props; let {id}=data?data:{}; if(!id) id=''; if (NextProps.custom['roleGroupEditClick'+id] ) { this.props.form.resetFields(); this.loadData(); this.props.dispatch({ type: 'custom/save', payload: { ['roleGroupEditClick'+id]:false }, }); } } loadDataSource=(orgId)=>{ const {dispatch}=this.props; const roleJson = initFilter(orgId,'','CODE',1); extendRule(roleJson,'ENABLE_STATUS',1,0); roleJson.OrgType=1; dispatch({ type: 'FMBase/getRoleDatasource', payload: roleJson, }); }; loadData=()=> { const {data,formId,login,dispatch}=this.props; const {id}=data?data:{}; if(id){ const userGroupJson = initFilter(this.props.login.OrgId); extendInclude(userGroupJson,'Nav_BelongRoles'); extendRule(userGroupJson, 'ID', 1, id); this.props.dispatch({ type: 'FMRoleGroupEdit/getRoleGroup', payload: userGroupJson, onComplete: (ret) => { if(ret){ let role=[]; if(ret.Nav_BelongRoles){ ret.Nav_BelongRoles.map(item=>{ role.push(item.BELONG_ROLE_ID.toString().toUpperCase()); }) } this.setState({ data: ret, roleTargetKeys:role, }); this.loadDataSource(ret.ORG_ID); } } }); } else{ this.loadDataSource(login.OrgId); this.setState({ data:{ ...this.state.data, ORG_ID:this.props.login.OrgId, } }); const {form,} = this.props; const { setFieldsValue} = form; if(this.props.login.OrgCode){ setFieldsValue({ CODE:(this.props.login.OrgCode), }) } } if(formId){ const btnJson = initFilter(this.props.login.OrgId,'','NUM',0); extendRule(btnJson, 'PAGE_CUSTOM_FORM_ID', 1, formId); this.props.dispatch({ type: 'FMUserGroupEdit/getBtnList', payload: btnJson, onComplete: (ret) => { if(ret){ this.setState({ btns: ret, }); } } }); } }; getBtns=()=>{ if(this.state.btns){ return this.state.btns.map(item=>{ if (item.BTN_TYPE == 1) { return ; } }); } }; handleOk = () => { const {form,dispatch,data} = this.props; const {getFieldValue, getFieldDecorator, validateFields, validateFieldsAndScroll, setFieldsValue} = form; validateFieldsAndScroll((errors, values) => { if (errors) return; extend(this.state.data,values); let updateData=getOnlyPropertyData(this.state.data); const ret=this.state.data; let role=[]; if(this.state.roleTargetKeys){ this.state.roleTargetKeys.map(item=>{ let isGet=false; if(ret.Nav_BelongRoles){ ret.Nav_BelongRoles.map(t=>{ if(t.BELONG_ROLE_ID.toString().toUpperCase()==item) { role.push(t); isGet = true; } }); } if(!isGet){ role.push({BELONG_ROLE_ID:item,ORG_ID:updateData.ORG_ID}); } }); } updateData['Nav_BelongRoles']=role; dispatch({ type: 'FMRoleGroupEdit/updateRoleGroup', payload: updateData, onComplete: (ret) => { if(ret) { if(data.close){ data.close(); } message.success('执行成功'); } } }); }) }; render() { const {form, location, dispatch, match,loading} = this.props; const {getFieldValue, getFieldDecorator, validateFields, validateFieldsAndScroll, setFieldsValue} = form; const handleRoleChange = (nextTargetKeys, direction, moveKeys) => { this.setState({roleTargetKeys: nextTargetKeys}); } const formItemLayout = { labelCol: {span: 6}, wrapperCol: {span: 14}, }; return (
{getFieldDecorator('NAME', { validateTrigger: 'onBlur', initialValue: this.state.data.NAME, rules: [{required: true, message: '请输入角色组名称'}], })()} {getFieldDecorator('CODE', { validateTrigger: 'onBlur', initialValue: this.state.data.CODE, rules: [{required: true, message: '请输入角色组编码'}], })()} {getFieldDecorator('ENABLE_STATUS', { validateTrigger: 'onBlur', initialValue: this.state.data.ENABLE_STATUS?this.state.data.ENABLE_STATUS.toString():"0", rules: [], })()} {getFieldDecorator('REMARK', { initialValue: this.state.data.REMARK, })(