From e26a08269c24077cdac7ca3992fc068edd5971aa Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期一, 12 五月 2025 15:10:30 +0800 Subject: [PATCH] #AGV站点绑定 --- rsf-admin/src/page/orders/wave/ItemToTaskModal.jsx | 69 +++++++++++++++++++++++++--------- 1 files changed, 51 insertions(+), 18 deletions(-) diff --git a/rsf-admin/src/page/orders/wave/ItemToTaskModal.jsx b/rsf-admin/src/page/orders/wave/ItemToTaskModal.jsx index 6b6c39e..281f83e 100644 --- a/rsf-admin/src/page/orders/wave/ItemToTaskModal.jsx +++ b/rsf-admin/src/page/orders/wave/ItemToTaskModal.jsx @@ -37,11 +37,10 @@ ListContextProvider, useList, Toolbar, - SingleFieldList, } from 'react-admin'; import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting'; -import { Box, Typography, Card, Stack, DialogContent, DialogTitle, DialogActions, Dialog } from '@mui/material'; +import { Box, Typography, Card, Stack, DialogContent, DialogTitle, DialogActions, Dialog, Chip, ListItem, Paper } from '@mui/material'; import { styled } from '@mui/material/styles'; import DialogCloseButton from "../../components/DialogCloseButton"; import request from '@/utils/request'; @@ -131,7 +130,6 @@ <NumberField source="waveId" label="table.field.waveItem.waveId" /> <TextField source="waveCode" label="table.field.waveItem.waveCode" /> <TextField source="orderCode" label="table.field.waveItem.orderCode" /> - {/* <TextField source="maktx" label="table.field.waveItem.matnrName" /> */} <NumberField source="matnrId" label="table.field.waveItem.matnrId" /> <TextField source="matnrCode" label="table.field.waveItem.matnrCode" /> <TextField source="batch" label="table.field.waveItem.batch" /> @@ -143,22 +141,16 @@ <NumberField source="anfme" label="table.field.waveItem.anfme" /> <NumberField source="workQty" label="table.field.waveItem.workQty" /> <NumberField source="qty" label="table.field.waveItem.qty" /> + <NumberField source="stockQty" label="table.field.waveItem.stockQty" /> <WrapperField cellClassName="opt" label="table.field.waveItem.stockLocs"> - <ArrayField source="stockLocs" stockLocs="table.field.waveItem.stockLocs"> - <SingleFieldList linkType={false}> - <ChilpField source="" size="small"></ChilpField> - </SingleFieldList> - </ArrayField> - {/* <NumberField source="anfme" label="table.field.waveItem.stockLocs" /> */} - {/* <EditButton sx={{ padding: '1px', fontSize: '.75rem' }} /> - <DeleteButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} /> */} + <TagsField /> </WrapperField> </StyledDatagrid> </ListContextProvider> </DialogContent> <DialogActions> <Toolbar sx={{ width: '100%', justifyContent: 'end' }} > - <GenerateTaskButton record={[record?.id]} /> + <GenerateTaskButton record={record?.id} dataSource={data} setOpen={setOpen}/> </Toolbar> </DialogActions> </Dialog> @@ -172,15 +164,56 @@ const refresh = useRefresh(); const notify = useNotify(); const redirect = useRedirect(); + const translate = useTranslate(); + const { locs, setLocs } = useState([]); const generateTask = async () => { - const res = await request.post(`/wave/public/task`, { ids: record?.record }); - if (res?.data?.code === 200) { - notify(res.data.msg); - redirect("/task") + record?.dataSource.map(item => { + const loc = JSON.parse(item.stockLocs); + if (loc != undefined && loc.length > 0) { + setLocs(...loc) + } + }) + if (locs == undefined || locs.length < 1) { + notify(translate('request.error.stock')) } else { - notify(res.data.msg); + const res = await request.post(`/wave/public/task`, { wave: record?.record, waveItem: record?.dataSource }); + if (res?.data?.code === 200) { + record.setOpen(false) + notify(res.data.msg); + redirect("/task") + } else { + notify(res.data.msg); + } + refresh(); } - refresh(); } return (<Button variant="contained" label={"ra.action.save"} onClick={generateTask}></Button>) +} + +const TagsField = () => { + const record = useRecordContext(); + const translate = useTranslate(); + const locs = JSON.parse(record.stockLocs); + if (locs == undefined || locs.length < 1) { + return ( + <> + <ListItem> + <Chip color="error" label={translate("common.action.stockError")} variant="outlined" /> + </ListItem> + </> + ) + } else { + return ( + <> + {locs.map((data) => { + return ( + <ListItem key={data?.id}> + <Chip label={data?.locCode} /> + </ListItem> + ) + })} + </> + ) + } + } \ No newline at end of file -- Gitblit v1.9.1