import { Empty,Button, Flex, Modal, Popconfirm, Space, Table, TableProps } from "antd"; import { DeleteOutlined, EditOutlined, PlusOutlined } from "@ant-design/icons"; import useMessage from "antd/es/message/useMessage"; import { useEffect, useRef, useState, useContext } from "react"; // import { del, get } from "../../../util/AjaxUtils.ts"; // import { IListPage } from "../../../interfaces/listpage/IListPage.ts"; import InvoiceInfoSave from "./InvoiceInfoSave.tsx"; import InvoiceInfoEdit from "./InvoiceInfoEdit.tsx"; import { getInvoiceList, deleteInvoiceInfo } from '../../../request/api.ts' import { GlobalContext } from "../../../context/GlobalContext.ts"; type DataType = { invoiceName: string; invoiceNumber: string; invoiceOrgaddress: string; invoiceOrgtel: string; invoiceBank: string; invoiceBanknumber: string; invoiceId: string; } interface ListProps { handleOk: (selectedInvoice: DataType) => void; handleCancel: () => void; } export default function InvoiceInfoList(props: ListProps) { const [messageApi, messageContext] = useMessage(); const [isInvoiceInfoSaveOpen, setIsInvoiceInfoSaveOpen] = useState(false); const [isInvoiceInfoEditOpen, setIsInvoiceInfoEditOpen] = useState(false); const [page, setPage] = useState(1); const [total, setTotal] = useState(0); const [dataArray, setDataArray] = useState([]); const editInvoiceInfoId = useRef(''); const selectedInvoice = useRef(null); const columns: TableProps['columns'] = [ { title: '公司名称', dataIndex: 'invoiceName', align: 'center', width: 180, fixed: 'left' }, { title: '纳税人识别号', dataIndex: 'invoiceNumber', align: 'center', width: 180 }, { title: '公司地址', dataIndex: 'invoiceOrgaddress', align: 'center', width: 180 }, { title: '联系电话', dataIndex: 'invoiceOrgtel', align: 'center', width: 180 }, // { // title: '开户行', // dataIndex: 'invoiceBank', // align: 'center', // width: 180 // }, // { // title: '开户行账号', // dataIndex: 'invoiceBanknumber', // align: 'center', // width: 180 // }, { title: '操作', dataIndex: 'option', align: 'center', width: 100, // fixed: 'right', render: (_value, record) => { return ( { deleteInvoice(record.invoiceId); // del({ // messageApi, // url: `/api/invoice-info/remove/${record.invoiceId}`, // onSuccess() { // messageApi.success('删除成功'); // getData(); // } // }) }} > ) } }, ] const globalContext = useContext(GlobalContext); const getData = async () => { try { const res: any = await getInvoiceList(globalContext.user.userId, { page: page, rows: 20 }) // console.log(res); setTotal(res.total) setDataArray(res.rows) } catch (error: any) { if (error.response) { const data = error.response.data; messageApi.open({ type: 'error', content: data.msg ? data.msg : `${data.path}(${data.status})`, }); } else { console.error(error) } } // get>({ // messageApi, // url: '/api/invoice-info/listpage/self', // config: { // params: { // page: page, // rows: 20 // } // }, // onSuccess({data}) { // setPage(data.page); // setTotal(data.total); // setDataArray(data.rows); // } // }) } const deleteInvoice = async (id: string) => { try { await deleteInvoiceInfo(id) // console.log(res); messageApi.success('删除成功'); getData(); } catch (error: any) { if (error.response) { const data = error.response.data; messageApi.open({ type: 'error', content: data.msg ? data.msg : `${data.path}(${data.status})`, }); } else { console.error(error) } } } useEffect(() => { getData(); }, [page]); return ( <>
{dataArray.length > 0 ? <> { selectedInvoice.current = selectedRows[0]; }, } } columns={columns} dataSource={dataArray} pagination={ { pageSize: 20, total: total, onChange: (currentPage) => { setPage(currentPage); } } } scroll={{ y: 500 }} bordered key="dataTable" rowKey="invoiceId" /> : <>
} {/*
{ selectedInvoice.current = selectedRows[0]; }, } } columns={columns} dataSource={dataArray} pagination={ { pageSize: 20, total: total, onChange: (currentPage) => { setPage(currentPage); } } } scroll={{ y: 500 }} bordered key="dataTable" rowKey="invoiceId" /> */} { setIsInvoiceInfoSaveOpen(false) }} destroyOnClose > { getData(); setIsInvoiceInfoSaveOpen(false); }} handleCancel={() => { setIsInvoiceInfoSaveOpen(false); }} /> { setIsInvoiceInfoEditOpen(false) }} > { getData(); setIsInvoiceInfoEditOpen(false); }} handleCancel={() => { setIsInvoiceInfoEditOpen(false); }} /> {messageContext} ); }