| | |
| | | import React, {Component} from 'react' |
| | | import PropTypes from 'prop-types' |
| | | import { is, fromJS } from 'immutable' |
| | | import { BackTop, Button, message } from 'antd' |
| | | import { BackTop } from 'antd' |
| | | import Api from '@/api' |
| | | import MainSearch from '@/components/mainSearch' |
| | | import MainAction from '@/components/mainAction' |
| | |
| | | } |
| | | |
| | | state = { |
| | | dict: (!sessionStorage.getItem('lang') || sessionStorage.getItem('lang') === 'zh-CN') ? zhCN : enUS, |
| | | dict: sessionStorage.getItem('lang') !== 'en-US' ? zhCN : enUS, |
| | | searchlist: null, |
| | | actions: null, |
| | | columns: null, |
| | |
| | | orderColumn: '', |
| | | orderType: '', |
| | | search: '' |
| | | } |
| | | }, |
| | | fixed: {} |
| | | } |
| | | |
| | | async loadconfig () { |
| | |
| | | newconfig.columns = result.columns.map(column => { |
| | | return column |
| | | }) |
| | | // newconfig.columns.length = 4 |
| | | newconfig.columns.length = 3 |
| | | } |
| | | newconfig.fixed = { |
| | | fixaction: true, |
| | | fixtable: true |
| | | } |
| | | newconfig.select = result.select |
| | | this.setState(newconfig) |
| | |
| | | } |
| | | |
| | | refreshbysearch = (searches) => { |
| | | console.log(searches) |
| | | // 搜索条件变化 |
| | | this.loadmaindata(this.state.param.pageIndex, this.state.param.pageSize, this.state.param.orderColumn, this.state.param.orderType, searches) |
| | | let param = Object.assign({}, this.state.param, { |
| | | search: searches |
| | |
| | | loading: true, |
| | | param: param |
| | | }) |
| | | // window.print() |
| | | } |
| | | |
| | | refreshbytable = (pagination, filters, sorter) => { |
| | | // 表格查询条件修改 |
| | | console.log(filters) |
| | | if (sorter.order) { |
| | | let _chg = { |
| | |
| | | }) |
| | | } |
| | | |
| | | copyMenuNo = (e) => { |
| | | e.stopPropagation() |
| | | let oInput = document.createElement('input') |
| | | oInput.value = this.props.MenuNo |
| | | document.body.appendChild(oInput) |
| | | oInput.select() |
| | | document.execCommand('Copy') |
| | | oInput.className = 'oInput' |
| | | oInput.style.display='none' |
| | | message.success(this.state.dict['main.copy.success']) |
| | | refreshbyaction = () => { |
| | | // 按钮操作后刷新表格,重置页码及选择项 |
| | | this.refs.mainTable.resetTable() |
| | | this.loadmaindata(1, this.state.param.pageSize, this.state.param.orderColumn, this.state.param.orderType, this.state.param.search) |
| | | this.setState({ |
| | | loading: true |
| | | }) |
| | | } |
| | | |
| | | gettableselected = () => { |
| | | // 获取表格选择项 |
| | | let data = [] |
| | | this.refs.mainTable.state.selectedRowKeys.forEach(item => { |
| | | data.push(this.refs.mainTable.props.data[item]) |
| | | }) |
| | | return data |
| | | } |
| | | |
| | | UNSAFE_componentWillMount () { |
| | |
| | | return !is(fromJS(this.props), fromJS(nextProps)) || !is(fromJS(this.state), fromJS(nextState)) |
| | | } |
| | | |
| | | componentDidMount () { |
| | | // console.log(this.props.MenuNo) |
| | | } |
| | | |
| | | render() { |
| | | return ( |
| | | <div className="commontable"> |
| | | {!this.state.searchlist && <Loading />} |
| | | {this.state.searchlist && <MainSearch refreshdata={this.refreshbysearch} searchlist={this.state.searchlist} dict={this.state.dict} />} |
| | | {this.state.actions && <MainAction actions={this.state.actions} dict={this.state.dict} />} |
| | | {this.state.columns && <MainTable refreshdata={this.refreshbytable} columns={this.state.columns} data={this.state.data} select={this.state.select} total={this.state.total} loading={this.state.loading} dict={this.state.dict} />} |
| | | <Button className="main-copy" icon="copy" onClick={this.copyMenuNo} shape="circle" /> |
| | | {this.state.searchlist && |
| | | <MainSearch |
| | | refreshdata={this.refreshbysearch} |
| | | searchlist={this.state.searchlist} |
| | | dict={this.state.dict} |
| | | /> |
| | | } |
| | | {this.state.actions && |
| | | <MainAction |
| | | MenuNo={this.props.MenuNo} |
| | | fixed={this.state.fixed.fixaction} |
| | | refreshdata={this.refreshbyaction} |
| | | gettableselected={this.gettableselected} |
| | | actions={this.state.actions} |
| | | dict={this.state.dict} |
| | | /> |
| | | } |
| | | {this.state.columns && |
| | | <MainTable |
| | | ref="mainTable" |
| | | MenuNo={this.props.MenuNo} |
| | | fixed={this.state.fixed} |
| | | refreshdata={this.refreshbytable} |
| | | columns={this.state.columns} |
| | | data={this.state.data} |
| | | select={this.state.select} |
| | | total={this.state.total} |
| | | loading={this.state.loading} |
| | | dict={this.state.dict} |
| | | /> |
| | | } |
| | | <BackTop> |
| | | <div className="ant-back-top"> |
| | | <div className="ant-back-top-content"> |