index.tsx 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import {FC} from 'react';
  2. import {Card} from 'antd';
  3. import {Table, TableTools} from '@components';
  4. import {context, pageContext, searchContext} from '../context';
  5. import {
  6. getFinishProductOutStreamExport,
  7. getFinishProductOutStreamList,
  8. } from '@apis';
  9. import {
  10. useContextSection,
  11. useQueryTableList,
  12. useTableExportEvent,
  13. } from '@hooks';
  14. import {useColumns} from './hooks';
  15. import EditModal from './modal';
  16. const TableList: FC = function () {
  17. const params = useContextSection(context, state => state[0]);
  18. const [{data, count}, {refetch}] = useQueryTableList({
  19. queryFn: getFinishProductOutStreamList,
  20. params,
  21. pageContext,
  22. searchContext,
  23. });
  24. const [isExporting, onExport] = useTableExportEvent({
  25. pageContext,
  26. context,
  27. fn: getFinishProductOutStreamExport,
  28. });
  29. const [{tableColumns: columns, editId, visible}, {onClose}] = useColumns();
  30. return (
  31. <>
  32. <Card className='table-wrapper'>
  33. <TableTools
  34. isExporting={isExporting}
  35. onExport={onExport}
  36. pageContext={pageContext}
  37. searchContext={searchContext}
  38. />
  39. <Table
  40. columns={columns}
  41. data={data}
  42. data-testid='product_out_stream_table'
  43. count={count}
  44. pageContext={pageContext}
  45. searchContext={searchContext}
  46. />
  47. </Card>
  48. <EditModal
  49. visible={visible}
  50. onFetch={refetch}
  51. id={editId}
  52. onClose={onClose}
  53. />
  54. </>
  55. );
  56. };
  57. export default TableList;