|  |  | 
 |  |  |     Paper, | 
 |  |  |     styled | 
 |  |  | } from '@mui/material'; | 
 |  |  | import { EDIT_MODE, DEFAULT_START_PAGE, DEFAULT_PAGE_SIZE, REFERENCE_INPUT_PAGESIZE } from '@/config/setting'; | 
 |  |  | import DialogCloseButton from "../../components/DialogCloseButton"; | 
 |  |  | import { useTranslate, useNotify, useRefresh } from 'react-admin'; | 
 |  |  | import request from '@/utils/request'; | 
 |  |  | 
 |  |  | import TreeSelectInput from "@/page/components/TreeSelectInput"; | 
 |  |  | const AsnWareModal = (props) => { | 
 |  |  |     const { open, setOpen, data, setData } = props; | 
 |  |  |  | 
 |  |  |     const translate = useTranslate(); | 
 |  |  |     const notify = useNotify(); | 
 |  |  |     const refresh = useRefresh(); | 
 |  |  |  | 
 |  |  |     const handleClose = (event, reason) => { | 
 |  |  |         if (reason !== "backdropClick") { | 
 |  |  |             setOpen(false); | 
 |  |  |         } | 
 |  |  |     }; | 
 |  |  |  | 
 |  |  |     const [page, setPage] = useState({ page: DEFAULT_START_PAGE, pageSize: DEFAULT_PAGE_SIZE }); | 
 |  |  |     const [rowCount, setRowCount] = useState(0); | 
 |  |  |     const [isLoading, setIsLoading] = useState(false); | 
 |  |  |     const [formData, setFormData] = useState({}); | 
 |  |  |     const [tableData, setTableData] = useState([]); | 
 |  |  |     const [dyFields, setDyFields] = useState([]); | 
 |  |  | 
 |  |  |                 return acc; | 
 |  |  |             }, {}); | 
 |  |  |             return { | 
 |  |  |                 ...el, | 
 |  |  |                 matnrId: el.id, | 
 |  |  |                 maktx: el.name, | 
 |  |  |                 matnrCode: el.code, | 
 |  |  |                 stockUnit: el.stockUnit || '', | 
 |  |  |                 purUnit: el.purchaseUnit || '', | 
 |  |  |                 stockUnit: el.unit, | 
 |  |  |                 purUnit: el.unit, | 
 |  |  |                 ...dynamicFields | 
 |  |  |             } | 
 |  |  |         })) | 
 |  |  | 
 |  |  |     }; | 
 |  |  |  | 
 |  |  |     const getData = async () => { | 
 |  |  |         setIsLoading(true) | 
 |  |  |         const res = await request.post(`/matnr/page`, { | 
 |  |  |             ...formData, | 
 |  |  |             current: 1, | 
 |  |  |             pageSize: 100, | 
 |  |  |             current: page?.page, | 
 |  |  |             pageSize: page?.pageSize, | 
 |  |  |             orderBy: "create_time desc" | 
 |  |  |         }); | 
 |  |  |         if (res?.data?.code === 200) { | 
 |  |  |             setTableData(res.data.data.records); | 
 |  |  |             console.log(res.data); | 
 |  |  |             setRowCount(res.data?.data.total) | 
 |  |  |         } else { | 
 |  |  |             notify(res.data.msg); | 
 |  |  |         } | 
 |  |  |         setIsLoading(false) | 
 |  |  |     }; | 
 |  |  |  | 
 |  |  |     useEffect(() => { | 
 |  |  |         getData(); | 
 |  |  |     }, [open]); | 
 |  |  |     }, [open, page]); | 
 |  |  |  | 
 |  |  |     const handleSearch = () => { | 
 |  |  |         getData() | 
 |  |  | 
 |  |  |                     <AsnWareModalTable | 
 |  |  |                         tableData={tableData} | 
 |  |  |                         setTableData={setTableData} | 
 |  |  |                         page={page} | 
 |  |  |                         rowCount={rowCount} | 
 |  |  |                         setPage={setPage} | 
 |  |  |                         isLoading={isLoading} | 
 |  |  |                         dyFields={dyFields} | 
 |  |  |                         setDyFields={setDyFields} | 
 |  |  |                         selectedRows={selectedRows} | 
 |  |  | 
 |  |  | }; | 
 |  |  |  | 
 |  |  | export default AsnWareModal; | 
 |  |  |  | 
 |  |  | const AsnWareModalTable = ({ tableData, setTableData, selectedRows, setSelectedRows, dyFields, setDyFields }) => { | 
 |  |  | const AsnWareModalTable = ({ tableData, isLoading, page, setPage, rowCount, setTableData, selectedRows, setSelectedRows, dyFields, setDyFields }) => { | 
 |  |  |     const translate = useTranslate(); | 
 |  |  |     const notify = useNotify(); | 
 |  |  |  | 
 |  |  |     const [columns, setColumns] = useState([ | 
 |  |  |         // { field: 'id', headerName: 'ID', width: 100 }, | 
 |  |  |         { field: 'name', headerName: translate('table.field.matnr.name'), width: 300 }, | 
 |  |  |         { field: 'code', headerName: translate('table.field.matnr.code'), width: 200 }, | 
 |  |  |         { field: 'name', headerName: translate('table.field.matnr.name'), width: 300 }, | 
 |  |  |         { field: 'groupId$', headerName: translate('table.field.matnr.groupId'), width: 100 }, | 
 |  |  |         { field: 'spec', headerName: translate('table.field.matnr.spec'), width: 100 }, | 
 |  |  |         { field: 'model', headerName: translate('table.field.matnr.model'), width: 100 }, | 
 |  |  |         { field: 'weight', headerName: translate('table.field.matnr.weight'), width: 100 }, | 
 |  |  |  | 
 |  |  |         { field: 'describle', headerName: translate('table.field.matnr.describle'), width: 100 }, | 
 |  |  |         { field: 'nromNum', headerName: translate('table.field.matnr.nromNum'), width: 100 }, | 
 |  |  |         { field: 'unit', headerName: translate('table.field.matnr.unit'), width: 100 }, | 
 |  |  |         { field: 'purchaseUnit', headerName: translate('table.field.matnr.purUnit'), width: 100 }, | 
 |  |  |         { field: 'purUnit', headerName: translate('table.field.matnr.purUnit'), width: 100 }, | 
 |  |  |         { field: 'stockUnit', headerName: translate('table.field.matnr.stockUnit'), width: 100 }, | 
 |  |  |         { field: 'stockLeval$', headerName: translate('table.field.matnr.stockLevel'), width: 100, sortable: false }, | 
 |  |  |     ]) | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     const handleSelectionChange = (ids) => { | 
 |  |  |         setSelectedRows(ids) | 
 |  |  |  | 
 |  |  |     }; | 
 |  |  |  | 
 |  |  |     useEffect(() => { | 
 |  |  | 
 |  |  |                 disableColumnMenu={true} | 
 |  |  |                 disableColumnSorting | 
 |  |  |                 disableMultipleColumnsSorting | 
 |  |  |                 rowCount={rowCount} | 
 |  |  |                 paginationMode="server" | 
 |  |  |                 paginationModel={page} | 
 |  |  |                 onPaginationModelChange={setPage} | 
 |  |  |                 loading={isLoading} | 
 |  |  |                 slotProps={{ | 
 |  |  |                     loadingOverlay: { | 
 |  |  |                         variant: 'linear-progress', | 
 |  |  |                         noRowsVariant: 'linear-progress', | 
 |  |  |                     }, | 
 |  |  |                 }} | 
 |  |  |             /> | 
 |  |  |         </div> | 
 |  |  |     ); |