|
|
@@ -1,7 +1,7 @@
|
|
|
-import { DownOutlined, PlusOutlined } from '@ant-design/icons';
|
|
|
-import { Button, Divider, Dropdown, Menu, message, Input } from 'antd';
|
|
|
+import { PlusOutlined } from '@ant-design/icons';
|
|
|
+import { Button, Divider, message, Input } from 'antd';
|
|
|
import React, { useState, useRef } from 'react';
|
|
|
-import { PageHeaderWrapper } from '@ant-design/pro-layout';
|
|
|
+import { PageContainer, FooterToolbar } from '@ant-design/pro-layout';
|
|
|
import ProTable, { ProColumns, ActionType } from '@ant-design/pro-table';
|
|
|
|
|
|
import CreateForm from './components/CreateForm';
|
|
|
@@ -76,6 +76,7 @@ const TableList: React.FC<{}> = () => {
|
|
|
const [updateModalVisible, handleUpdateModalVisible] = useState<boolean>(false);
|
|
|
const [stepFormValues, setStepFormValues] = useState({});
|
|
|
const actionRef = useRef<ActionType>();
|
|
|
+ const [selectedRowsState, setSelectedRows] = useState<TableListItem[]>([]);
|
|
|
const columns: ProColumns<TableListItem>[] = [
|
|
|
{
|
|
|
title: '规则名称',
|
|
|
@@ -149,50 +150,45 @@ const TableList: React.FC<{}> = () => {
|
|
|
];
|
|
|
|
|
|
return (
|
|
|
- <PageHeaderWrapper>
|
|
|
+ <PageContainer>
|
|
|
<ProTable<TableListItem>
|
|
|
headerTitle="查询表格"
|
|
|
actionRef={actionRef}
|
|
|
rowKey="key"
|
|
|
- toolBarRender={(action, { selectedRows }) => [
|
|
|
+ toolBarRender={() => [
|
|
|
<Button type="primary" onClick={() => handleModalVisible(true)}>
|
|
|
<PlusOutlined /> 新建
|
|
|
</Button>,
|
|
|
- selectedRows && selectedRows.length > 0 && (
|
|
|
- <Dropdown
|
|
|
- overlay={
|
|
|
- <Menu
|
|
|
- onClick={async (e) => {
|
|
|
- if (e.key === 'remove') {
|
|
|
- await handleRemove(selectedRows);
|
|
|
- action.reload();
|
|
|
- }
|
|
|
- }}
|
|
|
- selectedKeys={[]}
|
|
|
- >
|
|
|
- <Menu.Item key="remove">批量删除</Menu.Item>
|
|
|
- <Menu.Item key="approval">批量审批</Menu.Item>
|
|
|
- </Menu>
|
|
|
- }
|
|
|
- >
|
|
|
- <Button>
|
|
|
- 批量操作 <DownOutlined />
|
|
|
- </Button>
|
|
|
- </Dropdown>
|
|
|
- ),
|
|
|
]}
|
|
|
- tableAlertRender={({ selectedRowKeys, selectedRows }) => (
|
|
|
- <div>
|
|
|
- 已选择 <a style={{ fontWeight: 600 }}>{selectedRowKeys.length}</a> 项
|
|
|
- <span>
|
|
|
- 服务调用次数总计 {selectedRows.reduce((pre, item) => pre + item.callNo, 0)} 万
|
|
|
- </span>
|
|
|
- </div>
|
|
|
- )}
|
|
|
request={(params, sorter, filter) => queryRule({ ...params, sorter, filter })}
|
|
|
columns={columns}
|
|
|
- rowSelection={{}}
|
|
|
+ rowSelection={{
|
|
|
+ onChange: (_, selectedRows) => setSelectedRows(selectedRows),
|
|
|
+ }}
|
|
|
/>
|
|
|
+ {selectedRowsState?.length > 0 && (
|
|
|
+ <FooterToolbar
|
|
|
+ extra={
|
|
|
+ <div>
|
|
|
+ 已选择 <a style={{ fontWeight: 600 }}>{selectedRowsState.length}</a> 项
|
|
|
+ <span>
|
|
|
+ 服务调用次数总计 {selectedRowsState.reduce((pre, item) => pre + item.callNo, 0)} 万
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ }
|
|
|
+ >
|
|
|
+ <Button
|
|
|
+ onClick={async () => {
|
|
|
+ await handleRemove(selectedRowsState);
|
|
|
+ setSelectedRows([]);
|
|
|
+ actionRef.current?.reloadAndRest();
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ 批量删除
|
|
|
+ </Button>
|
|
|
+ <Button type="primary">批量审批</Button>
|
|
|
+ </FooterToolbar>
|
|
|
+ )}
|
|
|
<CreateForm onCancel={() => handleModalVisible(false)} modalVisible={createModalVisible}>
|
|
|
<ProTable<TableListItem, TableListItem>
|
|
|
onSubmit={async (value) => {
|
|
|
@@ -230,7 +226,7 @@ const TableList: React.FC<{}> = () => {
|
|
|
values={stepFormValues}
|
|
|
/>
|
|
|
) : null}
|
|
|
- </PageHeaderWrapper>
|
|
|
+ </PageContainer>
|
|
|
);
|
|
|
};
|
|
|
|