index.tsx 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. import {
  2. useContextSection,
  3. useQueryTableList,
  4. useSupertube,
  5. useTableExportEvent,
  6. } from '@hooks';
  7. import {Card} from 'antd';
  8. import {FC} from 'react';
  9. import {context, pageContext, searchContext} from '../context';
  10. import {
  11. exportProductionRequisitionList,
  12. exportUnproductionRequisitionList,
  13. getProductionRequisitionList,
  14. getUnproductionRequisitionList,
  15. } from '@apis';
  16. import {Table, TableTools} from '@components';
  17. import {useColumns} from './hooks';
  18. import {useBoolean} from 'ahooks';
  19. import AddModal from './modal';
  20. import EditModal from './edit-modal';
  21. const TableList: FC = function() {
  22. const params = useContextSection(context, state => state[0]);
  23. const [{data, count}, {refetch}] = useQueryTableList({
  24. queryFn:
  25. params.type === '1'
  26. ? getProductionRequisitionList
  27. : getUnproductionRequisitionList,
  28. params,
  29. pageContext,
  30. searchContext,
  31. });
  32. const [
  33. {columns, editState, visible: editVisible},
  34. {onClose},
  35. ] = useColumns(refetch);
  36. const [visible, {setTrue, setFalse}] = useBoolean();
  37. const isSuper = useSupertube();
  38. const [isExporting, onExport] = useTableExportEvent({
  39. fn:
  40. params.type === '1'
  41. ? exportProductionRequisitionList
  42. : exportUnproductionRequisitionList,
  43. context: context as any,
  44. pageContext,
  45. });
  46. return (
  47. <>
  48. <Card className="table-wrapper">
  49. <TableTools
  50. title={params.type === '1' ? void 0 : '非生产领料明细'}
  51. onAdd={isSuper ? setTrue : void 0}
  52. pageContext={pageContext}
  53. searchContext={searchContext}
  54. isExporting={isExporting}
  55. onExport={onExport}
  56. />
  57. <Table
  58. columns={columns}
  59. data={data}
  60. count={count}
  61. pageContext={pageContext}
  62. searchContext={searchContext}
  63. data-testid="production_requisition_table"
  64. />
  65. </Card>
  66. {isSuper && (
  67. <AddModal visible={visible} onClose={setFalse} onFetch={refetch} />
  68. )}
  69. {isSuper && (
  70. <EditModal
  71. visible={editVisible}
  72. {...editState}
  73. onClose={onClose}
  74. onFetch={refetch}
  75. />
  76. )}
  77. </>
  78. );
  79. };
  80. export default TableList;