import React, { useRef, useEffect, useState } from 'react'; import { Table, Form, Input, Button, Row, Col, DatePicker, Tabs, Space, message } from 'antd'; import { SearchOutlined, ReloadOutlined, PlusOutlined } from '@ant-design/icons'; import { getPageAgent } from './services'; const { RangePicker } = DatePicker; const { TabPane } = Tabs; const SupplierRegisterAgent: React.FC = () => { const [form] = Form.useForm(); const [data, setData] = useState([]); const [loading, setLoading] = useState(false); const [pagination, setPagination] = useState({ current: 1, pageSize: 10, total: 0 }); const [tabKey, setTabKey] = useState('dvs'); // 查询数据 const fetchData = async (page = 1, pageSize = 10) => { setLoading(true); // 获取表单参数 const { keyword, dateRange } = form.getFieldsValue(); let params: any = { pageNo: page, pageSize, supplierType: tabKey , }; if (keyword) params.keyword = keyword; if (dateRange && dateRange.length === 2) { params.startDate = dateRange[0].format('YYYY-MM-DD'); params.endDate = dateRange[1].format('YYYY-MM-DD'); } try { const res = await getPageAgent(params); if (res.code === 200 && res.data) { setData(res.data.records || []); setPagination({ current: res.data.current || page, pageSize: res.data.size || pageSize, total: res.data.total || 0, }); } else { setData([]); setPagination({ current: 1, pageSize: 10, total: 0 }); } } finally { setLoading(false); } }; // 首次&依赖刷新 useEffect(() => { fetchData(1, pagination.pageSize); // eslint-disable-next-line }, [tabKey]); // 查询 const handleSearch = () => { fetchData(1, pagination.pageSize); }; // 重置 const handleReset = () => { form.resetFields(); fetchData(1, pagination.pageSize); }; // 切页 const handleTableChange = (pag: any) => { fetchData(pag.current, pag.pageSize); }; // 列 const columns = [ { title: '序号', dataIndex: 'index', align: 'center', width: 80, render: (_: any, __: any, idx: number) => ((pagination.current - 1) * pagination.pageSize) + idx + 1, }, { title: '供应商名称', dataIndex: 'name', align: 'center', ellipsis: true, }, { title: '供应商类型', dataIndex: 'enterpriseType', align: 'center', }, { title: '创建单位', dataIndex: 'unit', align: 'center', ellipsis: true, }, { title: '创建部门', dataIndex: 'deptId', align: 'center', }, { title: '创建时间', dataIndex: 'createTime', align: 'center', // sorter 由接口决定是否支持 }, { title: '操作', align: 'center', render: (_: any, record: any) => ( message.info(`查看:${record.name}`)}>查看 message.info(`编辑:${record.name}`)}>编辑 ), }, ]; return (
{/* 查询区 */}
{/* 表格 */} handleTableChange({ current, pageSize }), }} bordered /> ); }; export default SupplierRegisterAgent;