|  |  |  | 
|---|
|  |  |  | import { number } from "prop-types"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const OutBoundList = () => { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const [createDialog, setCreateDialog] = useState(false); | 
|---|
|  |  |  | const [tabelData, setTableData] = useState([]); | 
|---|
|  |  |  | const [selectedRows, setSelectedRows] = useState([]); | 
|---|
|  |  |  | 
|---|
|  |  |  | label={translate("table.field.outBound.outSta")} | 
|---|
|  |  |  | onChange={(e) => { | 
|---|
|  |  |  | setSta(e.target.value); | 
|---|
|  |  |  | console.log("站点已选择:", e.target.value); | 
|---|
|  |  |  | }} | 
|---|
|  |  |  | size="small" | 
|---|
|  |  |  | type="[101,103]" | 
|---|
|  |  |  | 
|---|
|  |  |  | http(sta, data); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | const http = async (sta, items) => { | 
|---|
|  |  |  | console.log(items); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const filter = items.filter(item => (item.outQty + item.workQty) > item.anfme); | 
|---|
|  |  |  | if (filter.length > 0) { | 
|---|
|  |  |  | notify(translate('toolbar.request.error.out_stock_qty')) | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // const filZores = items.filter(item => item.outQty  <= 0.0); | 
|---|
|  |  |  | // const filter = items.filter(item => (item.outQty + item.workQty) > item.anfme); | 
|---|
|  |  |  | // if (filter.length > 0 || filZores.length > 0) { | 
|---|
|  |  |  | //     notify(translate('toolbar.request.error.out_stock_qty')) | 
|---|
|  |  |  | //     return | 
|---|
|  |  |  | // } | 
|---|
|  |  |  | const { data: { code, data, msg } } = await request.post(`/locItem/generate/task`, { siteNo: sta, items: items }); | 
|---|
|  |  |  | if (code === 200) { | 
|---|
|  |  |  | notify(msg); | 
|---|
|  |  |  | 
|---|
|  |  |  | width: 100, | 
|---|
|  |  |  | type: 'number', | 
|---|
|  |  |  | editable: true, | 
|---|
|  |  |  | headerClassName: "custom", | 
|---|
|  |  |  | headerClassName: "custom", | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | field: 'anfme', | 
|---|
|  |  |  | 
|---|
|  |  |  | width: 100, | 
|---|
|  |  |  | editable: false, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | field: 'workQty', | 
|---|
|  |  |  | headerName: translate('table.field.locItem.workQty'), | 
|---|
|  |  |  | width: 100, | 
|---|
|  |  |  | type: 'number', | 
|---|
|  |  |  | editable: false, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // { | 
|---|
|  |  |  | //     field: 'workQty', | 
|---|
|  |  |  | //     headerName: translate('table.field.locItem.workQty'), | 
|---|
|  |  |  | //     width: 100, | 
|---|
|  |  |  | //     type: 'number', | 
|---|
|  |  |  | //     editable: false, | 
|---|
|  |  |  | // }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | field: 'locCode', | 
|---|
|  |  |  | headerName: translate('table.field.locItem.locCode'), | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const processRowUpdate = (newRow, oldRow) => { | 
|---|
|  |  |  | // 确保outQty不小于0 | 
|---|
|  |  |  | if (newRow.outQty <= 0) { | 
|---|
|  |  |  | notify(translate('request.error.qty_not_negative'), { type: 'error', messageArgs: { _: translate('request.error.qty_not_negative') } }); | 
|---|
|  |  |  | return oldRow; // 如果小于0,保持原值不变 | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const rows = tabelData.map((r) => | 
|---|
|  |  |  | r.id === newRow.id ? { ...newRow } : r | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | 
|---|
|  |  |  | }} | 
|---|
|  |  |  | pageSizeOptions={[15, 25, 50, 100]} | 
|---|
|  |  |  | editMode="row" | 
|---|
|  |  |  | checkboxSelection | 
|---|
|  |  |  | checkboxSelection = {false} | 
|---|
|  |  |  | onRowSelectionModelChange={handleSelectionChange} | 
|---|
|  |  |  | selectionModel={selectedRows} | 
|---|
|  |  |  | sx={{ | 
|---|