qinglong/src/pages/setting/loginLog.tsx
2021-09-25 00:42:03 +08:00

85 lines
1.7 KiB
TypeScript

import React, { useEffect, useState } from 'react';
import { Typography, Table, Tag, Button, Spin, message } from 'antd';
import { request } from '@/utils/http';
import config from '@/utils/config';
const { Text, Link } = Typography;
enum LoginStatus {
'成功',
'失败',
}
enum LoginStatusColor {
'success',
'error',
}
const columns = [
{
title: '序号',
align: 'center' as const,
width: 50,
render: (text: string, record: any, index: number) => {
return <span style={{ cursor: 'text' }}>{index + 1} </span>;
},
},
{
title: '登陆时间',
dataIndex: 'timestamp',
key: 'timestamp',
align: 'center' as const,
render: (text: string, record: any) => {
return <span>{new Date(record.timestamp).toLocaleString()}</span>;
},
},
{
title: '登陆地址',
dataIndex: 'address',
key: 'address',
align: 'center' as const,
},
{
title: '登陆IP',
dataIndex: 'ip',
key: 'ip',
align: 'center' as const,
},
{
title: '登陆设备',
dataIndex: 'platform',
key: 'platform',
align: 'center' as const,
},
{
title: '登陆状态',
dataIndex: 'status',
key: 'status',
align: 'center' as const,
render: (text: string, record: any) => {
return (
<Tag color={LoginStatusColor[record.status]} style={{ marginRight: 0 }}>
{LoginStatus[record.status]}
</Tag>
);
},
},
];
const LoginLog = ({ data }: any) => {
return (
<>
<Table
columns={columns}
pagination={false}
dataSource={data}
rowKey="_id"
size="middle"
scroll={{ x: 768 }}
/>
</>
);
};
export default LoginLog;