|  |  |  | 
|---|
|  |  |  | import ConfirmButton from '../../components/ConfirmButton'; | 
|---|
|  |  |  | import { Delete, Edit, Add } from '@mui/icons-material'; | 
|---|
|  |  |  | import CheckOrderSiteDialog from "./CheckOrderSiteDialog"; | 
|---|
|  |  |  | import { map } from "lodash"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({ | 
|---|
|  |  |  | '& .css-1vooibu-MuiSvgIcon-root': { | 
|---|
|  |  |  | 
|---|
|  |  |  | const getLocs = async (ids) => { | 
|---|
|  |  |  | const { data: { code, data, msg } } = await request.post('/check/locs/' + ids); | 
|---|
|  |  |  | if (code === 200) { | 
|---|
|  |  |  | console.log('----->'); | 
|---|
|  |  |  | console.log(data); | 
|---|
|  |  |  | setRows(data) | 
|---|
|  |  |  | const matnrs = selectedMatnr.filter(item => data.some(bigData => bigData.matnrCode === item)); | 
|---|
|  |  |  | // setSelectedMatnr(matnrs) | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | notify(msg); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | const ComfirmButton = () => { | 
|---|
|  |  |  | const { selectedIds, data, onUnselectItems } = useListContext(); | 
|---|
|  |  |  | const handleRowClick = () => { | 
|---|
|  |  |  | const ids = data.filter(item => selectedIds.includes(item.id)).map(item => item.id); | 
|---|
|  |  |  | const ids = data.filter(item => selectedIds.includes(item.id)); | 
|---|
|  |  |  | setRowSelectedIds(ids); | 
|---|
|  |  |  | const mas = data.filter(item => selectedIds.includes(item.id)).map(item => item.matnrCode); | 
|---|
|  |  |  | //设置库位信息筛选条件 | 
|---|
|  |  |  | setSelectedMatnr(mas); | 
|---|
|  |  |  | onUnselectItems() | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return ( | 
|---|
|  |  |  | <Button label="toolbar.confirm" size="medium" onClick={handleRowClick} /> | 
|---|
|  |  |  | record.exceStatus != 3 ? <><Button label="toolbar.confirm" size="medium" onClick={handleRowClick} /></> : <></> | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | }; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | </Box> | 
|---|
|  |  |  | <Box sx={{ textAlign: 'center' }}> | 
|---|
|  |  |  | <CloseButton setOpen={setOpen} /> | 
|---|
|  |  |  | <SubmitButton selectedIds={selectedIds} setSelectedIds={setSelectedIds} gridRef={gridRef} record={record} /> | 
|---|
|  |  |  | <SubmitButton selectedIds={selectedIds} setOpen={setOpen} setSelectedIds={setSelectedIds} selectedMatnr={selectedMatnr} rowSelectedIds={rowSelectedIds} gridRef={gridRef} record={record} /> | 
|---|
|  |  |  | </Box> | 
|---|
|  |  |  | </Card> | 
|---|
|  |  |  | </Grid> | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //提交按钮 | 
|---|
|  |  |  | const SubmitButton = ({ selectedIds, setSelectedIds, gridRef, record }) => { | 
|---|
|  |  |  | const SubmitButton = ({ selectedIds, setSelectedIds, rowSelectedIds, gridRef, record, setOpen, selectedMatnr }) => { | 
|---|
|  |  |  | const notify = useNotify(); | 
|---|
|  |  |  | const refresh = useRefresh(); | 
|---|
|  |  |  | const translate = useTranslate(); | 
|---|
|  |  |  | const redirect = useRedirect(); | 
|---|
|  |  |  | const submit = async () => { | 
|---|
|  |  |  | const items = gridRef.current?.getSortedRows(); | 
|---|
|  |  |  | const { data: { code, data, msg } } = await request.post('/outStock/generate/tasks', { items, outId: record?.id }); | 
|---|
|  |  |  | let selctRecord = items.filter(item => selectedIds.includes(item?.id)); | 
|---|
|  |  |  | if (selctRecord == undefined || selctRecord.length < 1) { | 
|---|
|  |  |  | notify(translate('common.msg.locEmpty'), { type: 'error' }); | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //过滤,将库位添加至盘点单明细中 | 
|---|
|  |  |  | const records = rowSelectedIds.map(map => { | 
|---|
|  |  |  | return { | 
|---|
|  |  |  | ...map, | 
|---|
|  |  |  | items: selctRecord.filter(item => item.matnrCode == map.matnrCode) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | let params = records.filter(record => record?.items.length > 0); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const { data: { code, data, msg } } = await request.post('/check/generate/tasks', params); | 
|---|
|  |  |  | if (code == 200) { | 
|---|
|  |  |  | refresh(); | 
|---|
|  |  |  | redirect("/task") | 
|---|
|  |  |  | setOpen(false) | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | notify(msg); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return ( | 
|---|
|  |  |  | <ConfirmButton | 
|---|
|  |  |  | label="toolbar.allComfirm" | 
|---|
|  |  |  | label="toolbar.confirmSelect" | 
|---|
|  |  |  | variant="contained" | 
|---|
|  |  |  | size="medium" | 
|---|
|  |  |  | onConfirm={submit} | 
|---|