import type { ActionType, ProColumns } from '@ant-design/pro-components'; import React, { useRef } from 'react'; import EnhancedProTable from '@/components/EnhancedProTable'; import ModalDescriptions, { type DescriptionsFormRef, } from '@/components/ModalDescriptions'; import { getOperateLogPage, type OperateLogVO, } from '@/services/system/log/operate'; import { baseTenantColumns, descriptionsColumns } from './config'; const SyStemLogOperate = () => { const tableRef = useRef(null); const descriptionsRef = useRef(null); const onFetch = async ( params: OperateLogVO & { pageSize?: number; current?: number; }, ) => { const data = await getOperateLogPage({ ...params, pageNo: params.current, pageSize: params.pageSize, }); return { data: data.list, success: true, total: data.total, }; }; const handleDetail = (record: OperateLogVO) => { descriptionsRef.current?.open(record); }; const actionColumns: ProColumns = { title: '操作', dataIndex: 'option', valueType: 'option', fixed: 'right', width: 80, render: (text: React.ReactNode, record: OperateLogVO) => [ handleDetail(record)}> 详情 , ], }; const columns = [...baseTenantColumns, actionColumns]; return ( <> ref={tableRef} columns={columns} request={onFetch} headerTitle="操作日志" showIndex={false} showSelection={false} /> ); }; export default React.memo(SyStemLogOperate);