import '../../style/index.less'; import React, { Component } from 'react'; import { inject, observer } from 'mobx-react'; import { WeaTop, WeaAlertPage, WeaLeftTree, WeaLeftRightLayout, WeaDropdown } from 'ecCom'; import {Spin} from 'antd'; import Tabs from './Tabs'; import FieldDef from './FieldDef'; import { i18n } from '../../public/i18n'; const { ButtonSelect } = WeaDropdown; @inject('fieldDefined') @observer export default class FieldDefined extends Component { constructor(props) { super(props); this.state = { logSmallType: '' } } componentDidMount() { this.init(this.props); } componentWillReceiveProps(nextProps) { if (this.props.location.key !== nextProps.location.key) { this.init(nextProps); } } init = (props) => { const { fieldDefined: store, params } = props, { checkAuthorized, initData, initResourceData } = store, { type: moduleType } = params let moduleName, logSmallType; if(moduleType === 'subCompany'){ moduleName = 'subcompanyfielddefined'; logSmallType = 'HRM_ENGINE_SUBCOMPANYFIELDDEFINED'; }else if(moduleType === 'department'){ moduleName = 'departmentfielddefined'; logSmallType = 'HRM_ENGINE_DEPARTMENTFIELDDEFINED'; }else{ moduleName = 'resourcefielddefined'; logSmallType = 'HRM_ENGINE_RESOURCEFIELDDEFINED'; } let callbackFunc = () => initData(false, true, moduleName); if (moduleType === 'resource') callbackFunc = () => initResourceData(moduleName); checkAuthorized(moduleName, null, callbackFunc); this.setState({logSmallType}) } tabChangeHandle = (key) => { const { fieldDefined: store } = this.props, { tabConfig } = store; store.setActiveTab(tabConfig, key); } render() { const { fieldDefined: store, params } = this.props, { containerInitFinished, refreshMainTabComponent, spinning } = store, { type: moduleType } = params, { tabConfig, btnsAndMenus, formTarget, activeTabInfo, treeConfig, refreshTree, selectedTreeNodeInfo, dropdownProps, feildDefRemoveable } = store, { btns, menus, tabBtnDef } = btnsAndMenus(tabConfig), { conditionForm: form, conditionFormFields: fields, } = formTarget, tabProps = { tabConfig: tabConfig, tabChangeHandle: this.tabChangeHandle, activeTabInfo, rightMenu: menus, store: store, conditionForm: form, conditionFormFields: fields, tabBtnDef: [ ...tabBtnDef, ] }, title = moduleType === 'subCompany' ? i18n.module.subCompanyFieldDef() : moduleType === 'department' ? i18n.module.departmentFieldDef() : i18n.module.resourceFieldDef(), topProps = { title, icon: , iconBgcolor: '#217346', showDropIcon: true, buttons: btns, dropMenuDatas: menus }; let logType; if(selectedTreeNodeInfo){ if(selectedTreeNodeInfo.viewAttr == 1){ logType = 'HRM_ENGINE_RESOURCEFIELDDEFINED'; }else{ logType = 'HRM_ENGINE_RESOURCEFIELDDEFINED_DETAIL'; } } let children = []; if (containerInitFinished.init && containerInitFinished.authorized) { switch (moduleType) { case 'resource': const { data, onSelectedTreeNode, selectedKeys, onExpand, treeExpandKeys } = store.toJS(treeConfig); const treeCom = ( ) children = [ ( { } ) ] break; default: children = [ ( ) ] break; } } else if (containerInitFinished.init && !containerInitFinished.authorized) { children = [ (
{i18n.message.authFailed()}
) ]; } return (
{children}
) } }