From c7f79abded9ad2e29f297da4a04a641b96b61c5e Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期六, 12 十月 2019 09:51:22 +0800 Subject: [PATCH] add-datamanage --- src/tabviews/commontable/index.jsx | 82 +++++++++++++++++++++++++++++------------ 1 files changed, 58 insertions(+), 24 deletions(-) diff --git a/src/tabviews/commontable/index.jsx b/src/tabviews/commontable/index.jsx index fc17a2b..f9a9948 100644 --- a/src/tabviews/commontable/index.jsx +++ b/src/tabviews/commontable/index.jsx @@ -1,7 +1,7 @@ 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' @@ -17,7 +17,7 @@ } 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, @@ -31,7 +31,8 @@ orderColumn: '', orderType: '', search: '' - } + }, + fixed: {} } async loadconfig () { @@ -54,7 +55,11 @@ 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) @@ -78,7 +83,7 @@ } 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 @@ -87,10 +92,10 @@ loading: true, param: param }) - // window.print() } refreshbytable = (pagination, filters, sorter) => { + // 琛ㄦ牸鏌ヨ鏉′欢淇敼 console.log(filters) if (sorter.order) { let _chg = { @@ -112,16 +117,22 @@ }) } - 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 () { @@ -134,18 +145,41 @@ 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"> -- Gitblit v1.8.0