import { PlusOutlined } from '@ant-design/icons';
import { Space, Tag, Button, message, Input, Drawer } from 'antd';
import React, { useState, useRef } from 'react';
import { PageContainer, FooterToolbar } from '@ant-design/pro-layout';
import ProTable from '@ant-design/pro-table';
import { GetRequestLogPageAsync } from './service';

const key = 'message';

const RequestLogManage = () => {
  const actionRef = useRef();

  /** 国际化配置 */

  const columns = [
    {
      title: '主键',
      dataIndex: 'id',
      hideInSearch: true,
      hideInTable: true,
      tip: '规则名称是唯一的 key',
    },
    // {
    //   title: 'IP',
    //   dataIndex: 'ip',
    //   valueType: 'textarea',
    //   // width: 100,
    //   // fixed: 'left',
    // },
    // {
    //   title: '请求方式',
    //   dataIndex: 'requestMethod',
    //   valueType: 'textarea',
    //   // width: 50,
    //   search: false,
    //   // fixed: 'left',
    //   render: (_, record) => (
    //     <Space>
    //       <Tag
    //         color={
    //           record.requestMethod == 'POST'
    //             ? 'green'
    //             : record.requestMethod == 'PUT'
    //             ? 'gold'
    //             : record.requestMethod == 'DELETE'
    //             ? 'red'
    //             : 'blue'
    //         }
    //       >
    //         {record.requestMethod}
    //       </Tag>
    //     </Space>
    //   ),
    // },
    {
      title: '名称',
      dataIndex: 'methodName',
      valueType: 'textarea',
      ellipsis: true,
      // width: 100,
      // fixed: 'left',
    },
    // {
    //   title: '请求地址',
    //   dataIndex: 'requestURL',
    //   valueType: 'textarea',
    //   // width: 300,
    // },
    // {
    //   title: '来源地址',
    //   dataIndex: 'refererUrl',
    //   valueType: 'textarea',
    //   search: false,
    //   width: 300,
    // },
    // {
    //   title: '方法名',
    //   dataIndex: 'method',
    //   valueType: 'textarea',
    //   search: false,
    //   // width: 150,
    // },
    // {
    //   title: '命名空间',
    //   dataIndex: 'namespace',
    //   valueType: 'textarea',
    //   search: false,
    //   width: 300,
    // },
    {
      title: '操作人',
      dataIndex: 'name',
      valueType: 'textarea',
      // width: 150,
      search: false,
      // fixed: 'right',
    },
    {
      title: '创建时间',
      dataIndex: 'createAt',
      valueType: 'date',
      hideInForm: true,
      // width: 100,
      // fixed: 'right',
    },
  ];

  return (
    <PageContainer>
      <ProTable
        headerTitle="操作日志"
        actionRef={actionRef}
        rowKey="id"
        // scroll={{ x: 2000 }}
        search={{
          labelWidth: 120,
        }}
        request={async (params) => {
          var data = [];
          var total = 0;
          await GetRequestLogPageAsync(params).then((r) => {
            data = r.data.data;
            total = r.data.total;
          });
          return {
            data: data,
            success: true,
            total: total,
          };
        }}
        columns={columns}
        // rowSelection={{}}
      />
    </PageContainer>
  );
};

export default RequestLogManage;
