// 核心库 import React from 'react' import { connect } from 'dva' // 组件库 import { Form, Select } from 'antd' import { LocalSearch, FullDatePicker ,LayoutCard, ExportToExcel} from '@woowalker/feui' import CommonChart from '../../Chart/CommonChart' import EditableTable from '../../EditListTable/EditableTable' import EditListTable from '../../EditListTable' // 工具库 import { initFilter, addRuleAndGroups } from '../../../utils/common' import moment from 'moment' import { isEqual } from 'lodash' const { Option } = Select class EDUnitUseByPersonPage extends React.Component { constructor (props) { super(props) this.state = { dateType: '1', dateString: moment().format('YYYY-MM'), orderType: 0, energyType:0, searchSize: undefined, columns: [], dataSource: [], chartData: {} } } updateRelatedFieldConfigs = () => { const { dateType, dateString } = this.state /** * payload: { * code: 'EM079', // 配置了导出按钮的表格(ListPage或者ListTable)的 formCode * relatedTo: 'EM048', // 需要额外插入查询条件的 Search 组件的 formCode,如果是 LocalSearch 则这个属性可以缺省 * extraRows: ['额外插入的标题'] // 导出按钮需要插入的额外的导出标题 * } * relatedTo 可以缺省,缺省的话只是插入 extraRows 作为额外的标题, * 不缺省的话,通过 relatedTo 关联的 formCode 获取到对应的 Search 组件,并进一步获取到查询条件, * 然后把查询条件连同 extraRows 一同作为额外的标题,插入到导出的文件中 */ this.props.dispatch({ type: 'search/setRelatedFieldConfigs', payload: { code: 'ED079', extraRows: [`${dateString}${dateType === '0' ? '年' : dateType === '1' ? '月' : '日'}`] } }) } handleSearch = (value) => { this.updateRelatedFieldConfigs() const { data } = this.props const { dateType, dateString, orderType ,energyType} = this.state value.rules.push({ field: 'Parameter1', operator: 0, value: orderType, isCustom: true, isSysParam: false, }) value.rules.push({ field: 'Parameter2', operator: 0, value: dateType, isCustom: true, isSysParam: false, }) value.rules.push({ field: 'Parameter3', operator: 0, value: dateString, isCustom: true, isSysParam: false, }) value.rules.push({ field: 'Parameter4', operator: 0, value: data.selectedNodes ? data.selectedNodes[0].node.id : null, isCustom: true, isSysParam: false, }) value.rules.push({ field: 'Parameter5', operator: 0, value: energyType, isCustom: true, isSysParam: false, }) // 获取数据 const { login ,dispatch } = this.props const json = initFilter(login.OrgId) addRuleAndGroups(json, value) dispatch({ type: 'app/getDataByPost', url: 'ED/EDUnitUse/GetUnitUseDataByPerson', payload: json }).then(res => { if (res) { const { chartData, listData } = res this.setState({ columns: listData.columns, dataSource: listData.data, chartData: { xAxis: chartData?.XAxis[0].Data, yAxis: chartData?.YAxis, data: chartData?.Data } }) } }) /* this.setState({ searchParams: value }, () => { this.refOfTable && this.refOfTable.loadData(this.state.searchParams) }) */ } handleSize = (searchSize) => { !isEqual(searchSize, this.state.searchSize) && this.setState({ searchSize }) } handleChange = (value) => { this.setState({ orderType: value }) } handleEnergyChange = (value) => { this.setState({ energyType: value }) } render () { const { orderType,energyType ,searchSize,dataSource, columns, chartData } = this.state return (