|  |  |  | 
|---|
|  |  |  | tableRef.current = useGridApiRef(); | 
|---|
|  |  |  | const translate = useTranslate(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const [orgLoc, setOrgLoc] = useState([]); | 
|---|
|  |  |  | const [tarLoc, setTarLoc] = useState([]); | 
|---|
|  |  |  | const [orgLoc, setOrgLoc] = useState(""); | 
|---|
|  |  |  | const [tarLoc, setTarLoc] = useState(""); | 
|---|
|  |  |  | const [tarLocList, setTarLocList] = useState([]); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | useEffect(() => { | 
|---|
|  |  |  | selectAreaNoUse(); | 
|---|
|  |  |  | if (orgLoc === "" || orgLoc.length < 7) { | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | selectLocItem().then((is) => { | 
|---|
|  |  |  | if (is) { | 
|---|
|  |  |  | selectAreaNoUse(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | },[orgLoc]) | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const selectLocItem = async() =>{ | 
|---|
|  |  |  | const { | 
|---|
|  |  |  | data: { code, data, msg }, | 
|---|
|  |  |  | } = await request.post("/locItem/useO/page",{ | 
|---|
|  |  |  | locCode: orgLoc, | 
|---|
|  |  |  | current: 1, | 
|---|
|  |  |  | pageSize: 100, | 
|---|
|  |  |  | orderBy: "create_time desc" | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | if (code === 200) { | 
|---|
|  |  |  | if(data.total !== 0) { | 
|---|
|  |  |  | setTableData(data.records); | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const selectAreaNoUse = async() =>{ | 
|---|
|  |  |  | const { | 
|---|
|  |  |  | data: { code, data, msg }, | 
|---|
|  |  |  | } = await request.post("/loc/areaNoUse/list",{ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | locCode: orgLoc | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | if (code === 200) { | 
|---|
|  |  |  | const newData = data.map((item) => { | 
|---|
|  |  |  | 
|---|
|  |  |  | <Stack direction='row' spacing={2} minWidth={200}> | 
|---|
|  |  |  | <SubmitButton | 
|---|
|  |  |  | orgLoc={orgLoc} | 
|---|
|  |  |  | tarLoc={tarLoc} | 
|---|
|  |  |  | tarLoc={tarLoc} | 
|---|
|  |  |  | tabelData={tabelData} | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </Stack> | 
|---|
|  |  |  | </Box> | 
|---|
|  |  |  | 
|---|
|  |  |  | const notify = useNotify(); | 
|---|
|  |  |  | const redirect = useRedirect(); | 
|---|
|  |  |  | const refresh = useRefresh(); | 
|---|
|  |  |  | const { orgLoc, tarLoc } = props; | 
|---|
|  |  |  | const check = () => { | 
|---|
|  |  |  | const { orgLoc, tarLoc, tabelData } = props; | 
|---|
|  |  |  | const move = () => { | 
|---|
|  |  |  | console.log(orgLoc, tarLoc); | 
|---|
|  |  |  | if (orgLoc === "" || orgLoc === undefined || orgLoc === null) { | 
|---|
|  |  |  | notify("请选择站点"); | 
|---|
|  |  |  | notify("请输入源库位"); | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (tarLoc === "" || tarLoc === undefined || tarLoc === null) { | 
|---|
|  |  |  | notify("请选择站点"); | 
|---|
|  |  |  | // if (tarLoc === "" || tarLoc === undefined || tarLoc === null) { | 
|---|
|  |  |  | //     notify("请输入目标库位"); | 
|---|
|  |  |  | //     return; | 
|---|
|  |  |  | // } | 
|---|
|  |  |  | if (tabelData.length === 0) { | 
|---|
|  |  |  | notify("源库位明细无,请检查库位状态"); | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | http(orgLoc, tarLoc?.id) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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 { data: { code, data, msg } } = await request.post(`/locItem/generate/task`, { siteNo: sta, items: items }); | 
|---|
|  |  |  | const http = async (orgLoc, tarLoc) => { | 
|---|
|  |  |  | const { data: { code, data, msg } } = await request.post(`/locItem/move/task`, { orgLoc, tarLoc }); | 
|---|
|  |  |  | if (code === 200) { | 
|---|
|  |  |  | notify(msg); | 
|---|
|  |  |  | refresh() | 
|---|
|  |  |  | setTableData([]) | 
|---|
|  |  |  | redirect("/task") | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | notify(msg); | 
|---|
|  |  |  | 
|---|
|  |  |  | <ConfirmButton | 
|---|
|  |  |  | variant="contained" | 
|---|
|  |  |  | color="primary" | 
|---|
|  |  |  | onConfirm={check} | 
|---|
|  |  |  | onConfirm={move} | 
|---|
|  |  |  | label={"table.field.outBound.createTask"} | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </ConfirmButton> | 
|---|
|  |  |  | 
|---|
|  |  |  | 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'), | 
|---|
|  |  |  | 
|---|
|  |  |  | flex: 1, | 
|---|
|  |  |  | editable: false | 
|---|
|  |  |  | })) | 
|---|
|  |  |  | setColumns([...columns, ...cols, action]) | 
|---|
|  |  |  | setColumns([...columns, ...cols]) | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | notify(msg); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | <DataGrid | 
|---|
|  |  |  | apiRef={tableRef} | 
|---|
|  |  |  | rows={tabelData} | 
|---|
|  |  |  | columns={columns} | 
|---|
|  |  |  | columns={columns} | 
|---|
|  |  |  | checkboxSelection = {false} | 
|---|
|  |  |  | disableRowSelectionOnClick | 
|---|
|  |  |  | getRowId={(row) => row.matnrId ? row.matnrId : row.id} | 
|---|
|  |  |  | disableColumnFilter | 
|---|
|  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }} | 
|---|
|  |  |  | pageSizeOptions={[10, 25, 50, 100]} | 
|---|
|  |  |  | editMode="row" | 
|---|
|  |  |  | checkboxSelection | 
|---|
|  |  |  | editMode="row" | 
|---|
|  |  |  | onRowSelectionModelChange={handleSelectionChange} | 
|---|
|  |  |  | selectionModel={selectedRows} | 
|---|
|  |  |  | sx={{ | 
|---|