import React from 'react' import * as mobx from 'mobx' import { inject, observer, } from 'mobx-react' import { WeaTop, WeaTab, WeaFormItem, WeaRightMenu, WeaLeftRightLayout, WeaOrgTree, WeaLocaleProvider } from 'ecCom' import { Row, Col, Spin, Modal, Button, message, Switch, Menu, Dropdown, Icon, Select,Progress } from 'antd' import { WeaSwitch, WeaTableNew } from 'comsMobx' import { i18n } from '../../public/i18n'; import '../../style/resume.less'; import SearchPanelDialog from '../SearchPanelDialog'; import { renderNoright } from '../../util'; import { exportWord } from '../mhtmlToWord' const Option = Select.Option; const toJS = mobx.toJS; const confirm = Modal.confirm; const getLabel = WeaLocaleProvider.getLabel; @inject('personnelResume') @observer export default class PersonnelResume extends React.Component { constructor(props) { super(props); } componentWillMount() { } componentDidMount() { this.init(); } componentWillReceiveProps(nextProps) { const { personnelResume } = this.props; if (this.props.location.key !== nextProps.location.key) { this.init(); } } init() { const { personnelResume } = this.props; let { hash } = window.location; hash = hash.split("?")[0]; let id = hash.match("[^/]+(?=/$|$)")[0]; personnelResume.resourceId = id;; personnelResume.getHasRight(); } onSelect = (e) => { const { personnelResume } = this.props,{ form, show } = personnelResume; personnelResume.show = ! show; personnelResume.params = { ...form.getFormParams() } } //左侧树 getTree = () => { const { personnelResume } = this.props; const { companysId, params } = personnelResume; let tree = ( ${i18n.label.organization()}`} treeNodeClick={this.treeNodeClick} expandAllChildrenOnSearch={true} renderNode={item => this.renderNode(item)} /> ) return tree; } renderNode(item) { return
{item.name} {item.canceled && ({i18n.label.forbidden()})}
} treeNodeClick = (event, ids, nodeids, nodes) => { const { personnelResume } = this.props; const { companysId } = personnelResume; const type = event.node.props.type || '0'; const id = event.node.props.id || ''; personnelResume.nodeType = type; if (type == '4') { personnelResume.resourceId = id; setTimeout(function() { personnelResume.getPersonnelResume(); },1000) } } getTopMenuBtns() { const { personnelResume } = this.props; const { topMenu, tableStore } = personnelResume; let btns = []; btns.push() topMenu.map((item, i) => { if (item.menuFun === 'screening') { btns.push(); }else { btns.push(); } }); return btns; } handleClick(item) { this[item.menuFun] && this[item.menuFun](); } //模板修改 handleChange(value) { } // log = () => { // window.setLogViewProp({ // logMoudleType: 11, // keys: new Date().getTime(), // }); // } getDropMenuDatas() { const { personnelResume } = this.props; const { rightMenu } = personnelResume; let menus = []; toJS(rightMenu).map((item, index) => { let obj = { key: item.menuFun, icon: , content: item.menuName, } if (item.menuFun == 'collection' || item.menuFun == 'help' || item.menuFun == 'pageAddress') { obj.disabled = true; } menus.push(obj); }) return menus; } handleMenuClick(key) { this[key] && this[key](); } //人员筛选 screening() { const { personnelResume } = this.props,{ show,form } = personnelResume; form.reset(); personnelResume.show = ! show; personnelResume.getSearchCondition(); } //导出当前 currentExport() { const { personnelResume } = this.props; const { resumeList } = personnelResume; exportWord({ filename:`${getLabel(547238,'人员简历')}-${resumeList.lastName}`, selector:"#personnel-resume", style:`.title { font-size: 18px; font-weight: 900; text-align: center; } .photos{ width: 100px; height: 120px; }` }) } //合并导出 mergeExport() { const { personnelResume } = this.props; personnelResume.downloadPerResume(0); } //全部导出 allExport() { const { personnelResume } = this.props; personnelResume.downloadPerResume(1); } isEmptyObject(obj) { for (let key in obj) { return false; } return true; } render() { const { personnelResume } = this.props; const { hasRight, defaultShowLeft, resumeList,percent,show,form,condition,dialogLoading } = personnelResume; if (hasRight === false) { return renderNoright(); } return ( hasRight &&
this.handleMenuClick(key)} > } iconBgcolor='#217346' loading={true} buttons={this.getTopMenuBtns()} showDropIcon={true} dropMenuDatas={this.getDropMenuDatas()} onDropMenuClick={(e) => this.handleMenuClick(e)} > { !this.isEmptyObject(resumeList) ?

人员简历信息

{ resumeList.tables.map((item, index) => { return ( { item.columns.map(column => { return ( ) }) } { item.datas.map(data => { return ( { data.map((row, index) => { return ( ) }) } ) }) } ) }) }
一、基本信息
姓名 {resumeList.lastName} 性别 {resumeList.sex} 出生年月 {resumeList.birthday}
籍贯 {resumeList.native} 政治面貌 {resumeList.politics} 部门 {resumeList.department}
婚姻状况 {resumeList.marriage} 岗位 {resumeList.jobtitle} 入职时间 {resumeList.companystartdate}
参加工作时间 {resumeList.workstartdate} 身份证号 {resumeList.idCard}
家庭地址 {resumeList.address} 联系电话 {resumeList.telephone}
E-mail {resumeList.email}
{item.title}
{column.name}
{row.value}
个人自述 {resumeList.selfStatement}
: }
this.onSelect()} onCancel={() => personnelResume.show = ! show} />
) } }