import React from "react"; import { WeaDialog, WeaLocaleProvider, WeaTab } from "ecCom"; import { Button, message } from "antd"; import { getSysItemList, saveSysItem } from "../../apis/item"; import UnifiedTable from "../../components/UnifiedTable"; import "./index.less"; const { getLabel } = WeaLocaleProvider; export default class SystemSalaryItemModal extends React.Component { constructor(props) { super(props); this.state = { dataSource: [], columns: [], name: "", loading: false, saveLoading: false, selectedRowKeys: [], pageInfo: { current: 1, pageSize: 10, total: 0 } }; } componentDidMount() { this.getSysItemList(); } getSysItemList = () => { this.setState({ loading: true }); const { pageInfo, name } = this.state; getSysItemList({ ...pageInfo, name }).then(({ status, data }) => { this.setState({ loading: false }); if (status) { const { columns, list: dataSource, pageNum: current, pageSize, total } = data; this.setState({ columns: _.map(columns, item => { return { ...item, render: (text) => { return {text}; } }; }), dataSource, pageInfo: { ...pageInfo, current, pageSize, total } }); } }).catch(() => this.setState({ loading: false })); }; handleAdd = () => { const { selectedRowKeys } = this.state; if (_.isEmpty(selectedRowKeys)) { message.info(getLabel(111, "未选择任何条目")); return; } this.setState({ saveLoading: true }); saveSysItem(selectedRowKeys).then(({ status, errormsg }) => { this.setState({ saveLoading: false }); if (status) { message.success(getLabel(111, "添加成功")); this.setState({ selectedRowKeys: [] }, () => { this.props.onInitTableList(); this.props.onCancel(); }); } else { message.error(errormsg); } }).catch(() => this.setState({ saveLoading: false })); }; render() { const { selectedRowKeys, pageInfo, loading, columns, dataSource, saveLoading } = this.state; const pagination = { current: pageInfo.current, pageSize: pageInfo.pageSize, total: pageInfo.total, showTotal: total => `${getLabel(111, "共")} ${total} ${getLabel(111, "条")}`, showQuickJumper: true, showSizeChanger: true, pageSizeOptions: ["10", "20", "50", "100"], onShowSizeChange: (current, pageSize) => { this.setState({ pageInfo: { ...pageInfo, current, pageSize } }, () => { this.getSysItemList(); }); }, onChange: current => { this.setState({ pageInfo: { ...pageInfo, current } }, () => { this.getSysItemList(); }); } }; const rowSelection = { selectedRowKeys, onChange: (selectedRowKeys) => this.setState({ selectedRowKeys }) }; return ( { this.setState({ selectedRowKeys: [] }, () => { this.props.onCancel(); }); }} style={{ width: "60vw" }} scalable buttons={[ ]} >
this.setState({ name })} onSearch={this.getSysItemList} />
); } }