import { inject, observer, } from 'mobx-react'; import { WeaTop, WeaInput, WeaEchart, WeaRightMenu, WeaRadioGroup, WeaMoreButton, } from 'ecCom'; import { Row, Col, Tabs, Spin, Button, } from 'antd' import React from 'react' import * as mobx from 'mobx' import RadioGroupWrapper from './RadioGroupWrapper' import ReportChart from './ReportChart' import DataStatistics from './DataStatistics' import More from './More' import {addContentPath} from '../../util/index.js' import '../../style/report.css'; import { i18n } from '../../public/i18n'; import {Authority} from '../../public/coms/index.js'; const toJS = mobx.toJS; const TabPane = Tabs.TabPane; @inject('hrmPerStatusReport') @observer class BasicConditionAnalysis extends React.Component { constructor(props) { super(props); } componentWillMount() { this.pre(); } componentDidMount() { const{hrmPerStatusReport:store}=this.props; store.getRight().then(hasRight=>{ hasRight && this.init(); }) } componentWillReceiveProps(nextProps) { const { hrmPerStatusReport } = this.props; if (this.props.location.key !== nextProps.location.key) { this.pre(nextProps); hrmPerStatusReport.optionReset(); hrmPerStatusReport.conditionReset(); hrmPerStatusReport.paramReset(); hrmPerStatusReport.apiFinishedStatusReset(); hrmPerStatusReport.getSearchCondition(); hrmPerStatusReport.tabKeyReset(); this.refs.page && this.refs.page.click(); this.init(); } } pre(nextProps) { const { hrmPerStatusReport } = this.props; let pathname; if (!nextProps) { pathname = this.props.location.pathname.split('/').pop(); } else { pathname = nextProps.location.pathname.split('/').pop(); } hrmPerStatusReport.optionReset(); hrmPerStatusReport.setPathName(pathname); hrmPerStatusReport.pathToTitle(); hrmPerStatusReport.getCurWindowWidth(); } init() { const { hrmPerStatusReport } = this.props; const { pathname } = hrmPerStatusReport; hrmPerStatusReport.setKey('1'); if (pathname !== 'basicConditionAnalysis') hrmPerStatusReport.setIntervalShow(false); } getTabPanes() { const { hrmPerStatusReport } = this.props; const { tabKey } = hrmPerStatusReport; return (
{hrmPerStatusReport.setKey(key); hrmPerStatusReport.getData()}} type="card"> {this.getChart(hrmPerStatusReport.getTabName())}
) } getChart(tagName) { const { hrmPerStatusReport } = this.props; const { option1, option2, isIntervalShow, interval, tabKey, pathname, chartTitle1, chartTitle2, isEchartsShow, isLeftEchartsShow, isRightEchartsShow, ids, yAxisData, linkList, winWidth } = hrmPerStatusReport; return ( hrmPerStatusReport.setGap(val)} getData={(tag) => hrmPerStatusReport.getData(tag)} /> ) } getDeadline() { const { hrmPerStatusReport } = this.props; const { deadline } = hrmPerStatusReport; return (

{deadline}

) } search(v) { const { hrmPerStatusReport } = this.props; hrmPerStatusReport.setSearchCondition(v); hrmPerStatusReport.getData('search'); } handleMenuClick(key) { if (key == '0') this.refs.a.click(); } render() { const { hrmPerStatusReport } = this.props; const { title, pathname, countDatas, visible, tableStore, strokeColor, href, paramsStr, isApiOneFinished, isApiTwoFinished, authorityStore, } = hrmPerStatusReport; const btn = [ (), (), () ] const btn1 = btn.slice(0, 1); const btn2 = btn.slice(1, 3); const dropMenuDatas = [{ key: '0', content: i18n.button.export1(), icon: }, { key: '1', content: i18n.button.more(), disabled: true, icon: }, ] const dropMenuDatas1 = dropMenuDatas.slice(0, 1); const dropMenuDatas2 = dropMenuDatas.slice(1, 2); return (
this.handleMenuClick(e)} collectParams={{favname: title,favouritetype:5}} > } iconBgcolor='#217346' loading={true} buttons={ (pathname == 'departmentStatistics' || pathname == 'postStatistics') ? btn1 : []} showDropIcon={true} dropMenuDatas={(pathname == 'departmentStatistics' || pathname == 'postStatistics') ? dropMenuDatas1 : dropMenuDatas2} onDropMenuClick={(e) => this.handleMenuClick(e)} > {pathname == 'basicConditionAnalysis' ? this.getTabPanes() : ''} {pathname !== 'basicConditionAnalysis' ? : '' } {pathname !== 'basicConditionAnalysis' ? this.getChart() : '' } {this.getDeadline()} hrmPerStatusReport.setVisible(false)} search={(v) => this.search(v)} tableStore={tableStore} loading={tableStore.loading} strokeColor={'#6FBCEA'} />
) } } export default BasicConditionAnalysis