331 lines
9.3 KiB
TypeScript
331 lines
9.3 KiB
TypeScript
// import type {
|
|
// ActionType,
|
|
// ProColumns,
|
|
// ProDescriptionsItemProps,
|
|
// } from '@ant-design/pro-components';
|
|
// import {
|
|
// FooterToolbar,
|
|
// PageContainer,
|
|
// ProDescriptions,
|
|
// ProTable,
|
|
// } from '@ant-design/pro-components';
|
|
// import { FormattedMessage, useIntl, useRequest } from '@umijs/max';
|
|
// import { Button, Drawer, Input, message } from 'antd';
|
|
// import React, { useCallback, useRef, useState } from 'react';
|
|
// import { removeRule, rule } from '@/services/ant-design-pro/api';
|
|
// import CreateForm from './components/CreateForm';
|
|
// import UpdateForm from './components/UpdateForm';
|
|
|
|
// const TableList: React.FC = () => {
|
|
// const actionRef = useRef<ActionType | null>(null);
|
|
|
|
// const [showDetail, setShowDetail] = useState<boolean>(false);
|
|
// const [currentRow, setCurrentRow] = useState<API.RuleListItem>();
|
|
// const [selectedRowsState, setSelectedRows] = useState<API.RuleListItem[]>([]);
|
|
|
|
// /**
|
|
// * @en-US International configuration
|
|
// * @zh-CN 国际化配置
|
|
// * */
|
|
// const intl = useIntl();
|
|
|
|
// const [messageApi, contextHolder] = message.useMessage();
|
|
|
|
// const { run: delRun, loading } = useRequest(removeRule, {
|
|
// manual: true,
|
|
// onSuccess: () => {
|
|
// setSelectedRows([]);
|
|
// actionRef.current?.reloadAndRest?.();
|
|
|
|
// messageApi.success('Deleted successfully and will refresh soon');
|
|
// },
|
|
// onError: () => {
|
|
// messageApi.error('Delete failed, please try again');
|
|
// },
|
|
// });
|
|
|
|
// const columns: ProColumns<API.RuleListItem>[] = [
|
|
// {
|
|
// title: (
|
|
// <FormattedMessage
|
|
// id="pages.searchTable.updateForm.ruleName.nameLabel"
|
|
// defaultMessage="Rule name"
|
|
// />
|
|
// ),
|
|
// dataIndex: 'name',
|
|
// render: (dom, entity) => {
|
|
// return (
|
|
// <a
|
|
// onClick={() => {
|
|
// setCurrentRow(entity);
|
|
// setShowDetail(true);
|
|
// }}
|
|
// >
|
|
// {dom}
|
|
// </a>
|
|
// );
|
|
// },
|
|
// },
|
|
// {
|
|
// title: (
|
|
// <FormattedMessage
|
|
// id="pages.searchTable.titleDesc"
|
|
// defaultMessage="Description"
|
|
// />
|
|
// ),
|
|
// dataIndex: 'desc',
|
|
// valueType: 'textarea',
|
|
// },
|
|
// {
|
|
// title: (
|
|
// <FormattedMessage
|
|
// id="pages.searchTable.titleCallNo"
|
|
// defaultMessage="Number of service calls"
|
|
// />
|
|
// ),
|
|
// dataIndex: 'callNo',
|
|
// sorter: true,
|
|
// hideInForm: true,
|
|
// renderText: (val: string) =>
|
|
// `${val}${intl.formatMessage({
|
|
// id: 'pages.searchTable.tenThousand',
|
|
// defaultMessage: ' 万 ',
|
|
// })}`,
|
|
// },
|
|
// {
|
|
// title: (
|
|
// <FormattedMessage
|
|
// id="pages.searchTable.titleStatus"
|
|
// defaultMessage="Status"
|
|
// />
|
|
// ),
|
|
// dataIndex: 'status',
|
|
// hideInForm: true,
|
|
// valueEnum: {
|
|
// 0: {
|
|
// text: (
|
|
// <FormattedMessage
|
|
// id="pages.searchTable.nameStatus.default"
|
|
// defaultMessage="Shut down"
|
|
// />
|
|
// ),
|
|
// status: 'Default',
|
|
// },
|
|
// 1: {
|
|
// text: (
|
|
// <FormattedMessage
|
|
// id="pages.searchTable.nameStatus.running"
|
|
// defaultMessage="Running"
|
|
// />
|
|
// ),
|
|
// status: 'Processing',
|
|
// },
|
|
// 2: {
|
|
// text: (
|
|
// <FormattedMessage
|
|
// id="pages.searchTable.nameStatus.online"
|
|
// defaultMessage="Online"
|
|
// />
|
|
// ),
|
|
// status: 'Success',
|
|
// },
|
|
// 3: {
|
|
// text: (
|
|
// <FormattedMessage
|
|
// id="pages.searchTable.nameStatus.abnormal"
|
|
// defaultMessage="Abnormal"
|
|
// />
|
|
// ),
|
|
// status: 'Error',
|
|
// },
|
|
// },
|
|
// },
|
|
// {
|
|
// title: (
|
|
// <FormattedMessage
|
|
// id="pages.searchTable.titleUpdatedAt"
|
|
// defaultMessage="Last scheduled time"
|
|
// />
|
|
// ),
|
|
// sorter: true,
|
|
// dataIndex: 'updatedAt',
|
|
// valueType: 'dateTime',
|
|
// renderFormItem: (item, { defaultRender, ...rest }, form) => {
|
|
// const status = form.getFieldValue('status');
|
|
// if (`${status}` === '0') {
|
|
// return false;
|
|
// }
|
|
// if (`${status}` === '3') {
|
|
// return (
|
|
// <Input
|
|
// {...rest}
|
|
// placeholder={intl.formatMessage({
|
|
// id: 'pages.searchTable.exception',
|
|
// defaultMessage: 'Please enter the reason for the exception!',
|
|
// })}
|
|
// />
|
|
// );
|
|
// }
|
|
// return defaultRender(item);
|
|
// },
|
|
// },
|
|
// {
|
|
// title: (
|
|
// <FormattedMessage
|
|
// id="pages.searchTable.titleOption"
|
|
// defaultMessage="Operating"
|
|
// />
|
|
// ),
|
|
// dataIndex: 'option',
|
|
// valueType: 'option',
|
|
// render: (_, record) => [
|
|
// <UpdateForm
|
|
// trigger={
|
|
// <a>
|
|
// <FormattedMessage
|
|
// id="pages.searchTable.config"
|
|
// defaultMessage="Configuration"
|
|
// />
|
|
// </a>
|
|
// }
|
|
// key="config"
|
|
// onOk={actionRef.current?.reload}
|
|
// values={record}
|
|
// />,
|
|
// <a key="subscribeAlert" href="https://procomponents.ant.design/">
|
|
// <FormattedMessage
|
|
// id="pages.searchTable.subscribeAlert"
|
|
// defaultMessage="Subscribe to alerts"
|
|
// />
|
|
// </a>,
|
|
// ],
|
|
// },
|
|
// ];
|
|
|
|
// /**
|
|
// * Delete node
|
|
// * @zh-CN 删除节点
|
|
// *
|
|
// * @param selectedRows
|
|
// */
|
|
// const handleRemove = useCallback(
|
|
// async (selectedRows: API.RuleListItem[]) => {
|
|
// if (!selectedRows?.length) {
|
|
// messageApi.warning('请选择删除项');
|
|
|
|
// return;
|
|
// }
|
|
|
|
// await delRun({
|
|
// data: {
|
|
// key: selectedRows.map((row) => row.key),
|
|
// },
|
|
// });
|
|
// },
|
|
// [delRun, messageApi.warning],
|
|
// );
|
|
|
|
// return (
|
|
// <PageContainer>
|
|
// {contextHolder}
|
|
// <ProTable<API.RuleListItem, API.PageParams>
|
|
// headerTitle={intl.formatMessage({
|
|
// id: 'pages.searchTable.title',
|
|
// defaultMessage: 'Enquiry form',
|
|
// })}
|
|
// actionRef={actionRef}
|
|
// rowKey="key"
|
|
// search={{
|
|
// labelWidth: 120,
|
|
// }}
|
|
// toolBarRender={() => [
|
|
// <CreateForm key="create" reload={actionRef.current?.reload} />,
|
|
// ]}
|
|
// request={rule}
|
|
// columns={columns}
|
|
// rowSelection={{
|
|
// onChange: (_, selectedRows) => {
|
|
// setSelectedRows(selectedRows);
|
|
// },
|
|
// }}
|
|
// />
|
|
// {selectedRowsState?.length > 0 && (
|
|
// <FooterToolbar
|
|
// extra={
|
|
// <div>
|
|
// <FormattedMessage
|
|
// id="pages.searchTable.chosen"
|
|
// defaultMessage="Chosen"
|
|
// />{' '}
|
|
// <a style={{ fontWeight: 600 }}>{selectedRowsState.length}</a>{' '}
|
|
// <FormattedMessage
|
|
// id="pages.searchTable.item"
|
|
// defaultMessage="项"
|
|
// />
|
|
//
|
|
// <span>
|
|
// <FormattedMessage
|
|
// id="pages.searchTable.totalServiceCalls"
|
|
// defaultMessage="Total number of service calls"
|
|
// />{' '}
|
|
// {selectedRowsState.reduce(
|
|
// (pre, item) => pre + (item.callNo ?? 0),
|
|
// 0,
|
|
// )}{' '}
|
|
// <FormattedMessage
|
|
// id="pages.searchTable.tenThousand"
|
|
// defaultMessage="万"
|
|
// />
|
|
// </span>
|
|
// </div>
|
|
// }
|
|
// >
|
|
// <Button
|
|
// loading={loading}
|
|
// onClick={() => {
|
|
// handleRemove(selectedRowsState);
|
|
// }}
|
|
// >
|
|
// <FormattedMessage
|
|
// id="pages.searchTable.batchDeletion"
|
|
// defaultMessage="Batch deletion"
|
|
// />
|
|
// </Button>
|
|
// <Button type="primary">
|
|
// <FormattedMessage
|
|
// id="pages.searchTable.batchApproval"
|
|
// defaultMessage="Batch approval"
|
|
// />
|
|
// </Button>
|
|
// </FooterToolbar>
|
|
// )}
|
|
|
|
// <Drawer
|
|
// width={600}
|
|
// open={showDetail}
|
|
// onClose={() => {
|
|
// setCurrentRow(undefined);
|
|
// setShowDetail(false);
|
|
// }}
|
|
// closable={false}
|
|
// >
|
|
// {currentRow?.name && (
|
|
// <ProDescriptions<API.RuleListItem>
|
|
// column={2}
|
|
// title={currentRow?.name}
|
|
// request={async () => ({
|
|
// data: currentRow || {},
|
|
// })}
|
|
// params={{
|
|
// id: currentRow?.name,
|
|
// }}
|
|
// columns={columns as ProDescriptionsItemProps<API.RuleListItem>[]}
|
|
// />
|
|
// )}
|
|
// </Drawer>
|
|
// </PageContainer>
|
|
// );
|
|
// };
|
|
|
|
// export default TableList;
|