| | |
| | | import { EDIT_MODE, DEFAULT_START_PAGE, DEFAULT_PAGE_SIZE, REFERENCE_INPUT_PAGESIZE } from '@/config/setting'; |
| | | import { useTranslate, useNotify, useRefresh } from 'react-admin'; |
| | | import request from '@/utils/request'; |
| | | import { formatQuantity } from '@/utils/common'; |
| | | import { DataGrid } from '@mui/x-data-grid'; |
| | | import SaveIcon from '@mui/icons-material/Save'; |
| | | import TreeSelectInput from "@/page/components/TreeSelectInput"; |
| | |
| | | }) |
| | | } |
| | | |
| | | const getRowId = (row) => (row.locUseStatus$ != null ? `${row.id}_${row.locUseStatus$}` : String(row.id)); |
| | | |
| | | const handleSubmit = () => { |
| | | const hasarr = data.map(el => +el.matnrId); |
| | | const selectedData = selectedRows |
| | | .filter((item) => !hasarr.includes(item)) |
| | | .map((id) => tableData.find((row) => row.id === id)) |
| | | .filter(Boolean); |
| | | .map((id) => tableData.find((row) => getRowId(row) === id)) |
| | | .filter(Boolean) |
| | | .filter((row) => !hasarr.includes(row.id)); |
| | | const deduped = [...new Map(selectedData.map((s) => [s.id, s])).values()]; |
| | | const value = deduped.map((el, i) => { |
| | | const dynamicFields = dyFields.reduce((acc, item) => { |
| | |
| | | setDyFields={setDyFields} |
| | | selectedRows={selectedRows} |
| | | setSelectedRows={setSelectedRows} |
| | | getRowId={getRowId} |
| | | /> |
| | | </Box> |
| | | </DialogContent> |
| | |
| | | |
| | | export default MatnrInfoModal; |
| | | |
| | | const AsnWareModalTable = ({ tableData, setTableData, page, isLoading, pageSize, setPage, rowCount, selectedRows, setSelectedRows, dyFields, setDyFields }) => { |
| | | const AsnWareModalTable = ({ tableData, setTableData, page, isLoading, pageSize, setPage, rowCount, selectedRows, setSelectedRows, dyFields, setDyFields, getRowId }) => { |
| | | const translate = useTranslate(); |
| | | const notify = useNotify(); |
| | | |
| | |
| | | { field: 'unit', headerName: translate('table.field.matnr.unit'), width: 100 }, |
| | | { field: 'purchaseUnit', headerName: translate('table.field.matnr.purUnit'), width: 100 }, |
| | | { field: 'stockUnit', headerName: translate('table.field.matnr.stockUnit'), width: 100 }, |
| | | { field: 'stockQty', headerName: translate('table.field.matnr.stockQty') || '库存数量', width: 110, type: 'number', valueFormatter: (v) => (v != null ? Number(v) : 0) }, |
| | | { field: 'stockQty', headerName: translate('table.field.matnr.stockQty') || '库存数量', width: 110, type: 'number', valueFormatter: (v) => formatQuantity(v) }, |
| | | { field: 'locUseStatus$', headerName: translate('table.field.loc.useStatus'), width: 120 }, |
| | | { field: 'locCodes$', headerName: translate('table.field.loc.locCode'), width: 180, flex: 1 }, |
| | | { field: 'stockLeval$', headerName: translate('table.field.matnr.stockLevel'), width: 100, sortable: false }, |
| | |
| | | <div style={{ height: 400, width: '100%' }}> |
| | | <DataGrid |
| | | size="small" |
| | | getRowId={getRowId} |
| | | rows={tableData} |
| | | columns={columns} |
| | | checkboxSelection |