/* * @Author: donghao donghao@supervision.ltd * @Date: 2024-04-22 15:23:36 * @LastEditors: donghao donghao@supervision.ltd * @LastEditTime: 2024-05-10 17:07:15 * @FilePath: \general-ai-platform-web\src\pages\Business\BusinessState\components\detailDeviceStateLog.tsx * @Description: 设备日志 * @交互说明 * 1、设备日志列表的分页展示 */ import { getDeviceStateLogList } from '@/services/testApi/businessState'; import type { ActionType, ProColumns } from '@ant-design/pro-components'; import { ProCard, ProTable } from '@ant-design/pro-components'; import { FormattedMessage } from '@umijs/max'; import { useRef, useState } from 'react'; import { proTablePaginationOptions } from '../../../../../config/defaultTable'; const DetailDeviceStateLog: React.FC = () => { const actionRef = useRef<ActionType>(); // 动态设置每页数量 const [currentPageSize, setCurrentPageSize] = useState<number>(10); // 业务模型列表信息 const columns: ProColumns<Record<string, any>>[] = [ { title: <FormattedMessage id="device_state.table.stateLog.list.ip" defaultMessage="名称" />, dataIndex: 'IP', hideInSearch: true, key: 'fixedName', fixed: 'left', width: '40%', }, { title: ( <FormattedMessage id="device_state.table.stateLog.list.runTime" defaultMessage="运行时长" /> ), dataIndex: 'runTime', hideInSearch: true, width: '20%', }, { title: ( <FormattedMessage id="device_state.table.stateLog.list.updateTime" defaultMessage="更新时间" /> ), dataIndex: 'updateTime', hideInSearch: true, valueType: 'dateTime', }, ]; return ( <div className="detailDeviceStateLog_wrap"> <ProCard className="gn_card" bodyStyle={{ padding: 0 }}> <ProTable className="gn_pro_table" cardProps={{ bodyStyle: { padding: 0 }, }} // 标题栏 search={false} options={{ fullScreen: false, setting: false, density: false, reload: false }} actionRef={actionRef} rowKey="id" pagination={{ ...proTablePaginationOptions, pageSize: currentPageSize, onChange: (page, pageSize) => setCurrentPageSize(pageSize), }} columnsState={{ persistenceKey: 'bs_server_log_list', persistenceType: 'localStorage', }} request={async (params = {}) => { const { current, ...rest } = params; const reqParams = { page: current, ...rest, }; let resp = await getDeviceStateLogList({ ...reqParams }); console.log(resp, 'getDeviceStateLogList_resp'); return { data: resp.data?.results, success: resp.success, total: resp.data.count, current: current, pageSize: currentPageSize, }; }} columns={columns} /> </ProCard> </div> ); }; export default DetailDeviceStateLog;