import { inject, observer, } from 'mobx-react'; import { Row, Col, Icon, Modal, Button, } from 'antd' import { WeaFormItem, WeaSearchGroup, } from 'ecCom' import React from 'react' import * as mobx from 'mobx' import { WeaSwitch } from 'comsMobx'; import '../../style/addgroup.css' import { i18n } from '../../public/i18n'; import {addContentPath} from '../../util/index.js' const toJS = mobx.toJS; const confirm = Modal.confirm; @inject('hrmAddGroup') @observer class AddGroup extends React.Component { constructor(props) { super(props); } componentDidMount() { const { hrmAddGroup } = this.props; const hrmId = this.props.params.hrmId || ''; hrmAddGroup.setHrmId(hrmId); hrmAddGroup.getForm(); hrmAddGroup.getTableInfo(); } getComponents(condition, form, isLinkage) { let arr = []; let formParams = form.getFormParams(); const { isFormInit } = form; isFormInit && condition.map(c => { let items = c.items; for (let i = 0; i < items.length; i++) { let field = items[i]; arr.push( {} ) } }) return arr; } getGroup(columns, dataSource, arg) { const { hrmAddGroup } = this.props; const { key, authority } = hrmAddGroup; let arr = []; if (columns && columns.length > 0) { arr.push(
  • {columns[0].title}
  • ); } if (dataSource && dataSource.length > 0) { for (let i = 0; i < dataSource.length; i++) { arr.push(
  • this.handleMouseOver(dataSource[i].key)} onMouseLeave={() => this.handleMouseLeave()}> {dataSource[i].groupname} { ( (arg == '1' && key == dataSource[i].key) || (arg == '2' && authority && key == dataSource[i].key) ) && dataSource[i].canedit ? this.del(dataSource[i].key, dataSource, arg)} className='icon-coms-delete'> : ''}
  • ); } } if (!dataSource || dataSource.length == 0) { arr.push(
  • {i18n.label.dataNone()}
  • ) } return } handleMouseOver(key) { const { hrmAddGroup } = this.props; hrmAddGroup.setKey(key); } handleMouseLeave() { const { hrmAddGroup } = this.props; hrmAddGroup.setKey(''); } del(groupid, dataSource, arg) { const { hrmAddGroup } = this.props; hrmAddGroup.setGroupId(groupid); this.showConfirm(groupid, dataSource, arg, hrmAddGroup); } getIndex(key, dataSource) { let arr = []; if (dataSource instanceof Array) { for (let i = 0; i < dataSource.length; i++) { arr.push(dataSource[i].key); } } return arr.indexOf(key); } showConfirm(groupid, dataSource, arg, hrmAddGroup) { let _this = this; confirm({ title: i18n.confirm.defaultTitle(), content: i18n.confirm.deleteSelected(), okText: i18n.button.ok(), cancelText: i18n.button.cancel(), onOk() { dataSource.splice(_this.getIndex(groupid, dataSource), 1); if (arg == '1') hrmAddGroup.setDataSource('1', dataSource); if (arg == '2') hrmAddGroup.setDataSource('2', dataSource); hrmAddGroup.delete(); }, onCancel() { return false; }, }); } render() { const { hrmAddGroup } = this.props; const { condition, form, btnName1, btnName2, title } = hrmAddGroup; const { columns1, dataSource1, columns2, dataSource2 } = hrmAddGroup; return (
    {this.getComponents(condition, form, false)}
    {this.getGroup(toJS(columns2), toJS(dataSource2), '2')}
    {this.getGroup(toJS(columns1), toJS(dataSource1), '1')}
    ) } } export default AddGroup