import { Button, Modal,message,Row,Col, Spin} from 'antd'; import isEmpty from 'lodash/isEmpty' import debounce from 'lodash/debounce' import cloneDeep from 'lodash/cloneDeep' import toString from 'lodash/toString' import forEach from 'lodash/forEach' import { WeaAlertPage, WeaTools,WeaTableEdit,WeaSearchGroup,WeaRightMenu, WeaFormItem,WeaTab} from 'ecCom' import {WeaSwitch} from 'comsMobx'; import { inject, observer} from 'mobx-react'; import * as mobx from 'mobx'; import {i18n} from '../../public/i18n'; const toJS = mobx.toJS; class CustComp extends React.Component{ onChangeHandle = v => { const {fieldConfig, form, hrmWork} = this.props; if (fieldConfig.domkey[0]=='companystartdate' || fieldConfig.domkey[0]=='workstartdate') { let value = 0.00; let obj = {}; let domKey = ''; if (fieldConfig.domkey[0]=='companystartdate') { domKey = 'companyworkyear'; }else if(field.domkey[0]=='workstartdate'){ domKey = 'workyear'; } value = hrmWork.calYear(v[fieldConfig.domkey[0]].value); obj[domKey]={value}; form.updateFields(obj); } } render(){ const {fieldConfig, form} = this.props; return ( ) } } @inject('hrmWork') @inject('hrmCard') @observer class Work extends React.Component { componentDidMount(){ const {hrmCard} = this.props; hrmCard.setTopButtons(this.getTopButtons.bind(this)); hrmCard.setTopRightMenus(this.getRightMenu.bind(this)); hrmCard.setTopShowDropIcon(true); this.init(); } init = () => { const {hrmWork} = this.props; const hrmId = this.props.params.hrmId || ''; hrmWork.init(); hrmWork.hrmId=hrmId; hrmWork.getData(); } getTabChildren = () => { const {hrmWork} = this.props; let {tableInfo, isEditor, tabkey} = hrmWork; let tabChildren = []; tableInfo = toJS(tableInfo); tableInfo && tableInfo.map((t,i)=>{ if(tabkey==i){ tabChildren.push( null} /> ); } }) return tabChildren; } getSearchs = () => { const {hrmWork} = this.props; let {form, conditions, isEditor} = hrmWork; const {isFormInit} = form; let group = []; let tipPosition = 'bottom'; window.e9HideFormFieldKeys = []; isFormInit && conditions.forEach((c, i) =>{ let items = []; c.items.forEach( (field, j) => { if(c.hide || (!isEmpty(field.otherParams) && field.otherParams.hide)){ window.e9HideFormFieldKeys.push(field.domkey[0]); }else{ items.push({ com:( {/* { if (field.domkey[0]=='companystartdate' || field.domkey[0]=='workstartdate') { let value = 0.00; let obj = {}; let domKey = ''; if (field.domkey[0]=='companystartdate') { domKey = 'companyworkyear'; }else if(field.domkey[0]=='workstartdate'){ domKey = 'workyear'; } value = hrmWork.calYear(v[field.domkey[0]].value); obj[domKey]={value}; form.updateFields(obj); } }}/> */} ), colSpan: 1 }); } }); group.push() }); return group; } tableEditChange = (data) => { const {hrmWork} = this.props; let {tabkey = '0', tableInfo} = hrmWork; tableInfo = toJS(tableInfo); let d = cloneDeep(tableInfo); d[Number(tabkey)].tabinfo.datas = data; hrmWork.updateTableInfo(d); } onTabChange = (key) => { const {hrmWork} = this.props; hrmWork.changeTab(key); } getRightMenu = () => { const {hrmWork, hrmCard} = this.props; const {isEditor, buttons,hrmId} = hrmWork; let arr = []; try{ if(buttons.hasEdit){ if (isEditor){ arr = [{ icon: , content: i18n.button.save(), key: 'save', onClick: key =>{ this.saveEditCard(); } }, { icon: , content: i18n.button.back(), key: 'back', onClick: key =>{ this.backCard(); } }] } else { arr = [{ icon: , content:i18n.button.modify(), key: 'editCard', onClick: key =>{ this.editCard(); } } ] arr.push( { icon: , content:i18n.button.log(), key: 'showLog', onClick: key =>{ window.setLogViewProps({logSmallType:i18n.smallType.HRM_RSOURCE_CARD_WORK,targetId:hrmId}); } } ) } } }catch(e){} return arr; } getTopButtons = () => { const {hrmWork} = this.props; const {isEditor, buttons} = hrmWork; const save = ; const back = ; const edit = ; const btns = []; try{ if (isEditor) { if (buttons.hasSave) { btns.push(save); btns.push(back); } } else { if (buttons.hasEdit) { btns.push(edit); } } }catch(e){} return btns; } editCard = () => { const {hrmWork} = this.props; hrmWork.edit(); } saveEditCard = () => { const {hrmWork} = this.props; hrmWork.save(); } backCard = () => { this.init(); } render() { const {hrmWork} = this.props; const {loading, tabkey, tabInfo, date} = hrmWork; try{ return (
{this.getSearchs()} { !isEmpty(tabInfo) &&
{ hrmWork.updateTabkey(v); }} /> {this.getTabChildren()}
}
) }catch(e){ return (
{i18n.message.authFailed()}
) } } } export default Work;