From 462a8c41fb4043017d75148873f9aa0559722ae3 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期五, 06 六月 2025 16:25:34 +0800 Subject: [PATCH] 添加下发执行功能 --- rsf-admin/src/page/waitPakin/WaitPakinList.jsx | 98 +++++++++++++++++++++++++++--------------------- 1 files changed, 55 insertions(+), 43 deletions(-) diff --git a/rsf-admin/src/page/waitPakin/WaitPakinList.jsx b/rsf-admin/src/page/waitPakin/WaitPakinList.jsx index 6b8f102..f8213de 100644 --- a/rsf-admin/src/page/waitPakin/WaitPakinList.jsx +++ b/rsf-admin/src/page/waitPakin/WaitPakinList.jsx @@ -58,15 +58,13 @@ width: 90 }, '& .opt': { - width: 180 + width: 210 }, })); const filters = [ <SearchInput source="condition" alwaysOn />, <TextInput source="code" label="table.field.waitPakin.code" />, - <NumberInput source="ansId" label="table.field.waitPakin.ansId" />, - <TextInput source="asnCode" label="table.field.waitPakin.asnCode" />, <TextInput source="barcode" label="table.field.waitPakin.barcode" />, <NumberInput source="anfme" label="table.field.waitPakin.anfme" />, <SelectInput source="ioStatus" label="table.field.waitPakin.ioStatus" @@ -91,7 +89,50 @@ const translate = useTranslate(); const [createDialog, setCreateDialog] = useState(false); const [siteDialog, setSiteDialog] = useState(false); + const [source, setSource] = useState(false); const [drawerVal, setDrawerVal] = useState(false); + + const CreateTaskButton = () => { + const record = useRecordContext(); + const notify = useNotify(); + const refresh = useRefresh(); + const { selectedIds, onUnselectItems, data } = useListContext(); + const rows = data.filter(map => selectedIds.includes(map.id)); + const createTask = () => { + setSiteDialog(true) + setSource(rows) + onUnselectItems() + refresh() + } + + return ( + <> + <Button onClick={() => createTask()} label={"toolbar.createTask"}> + <AddIcon /> + </Button> + </> + ) + } + + const CreateTaskRowButton = () => { + const record = useRecordContext(); + const refresh = useRefresh(); + + const createTask = (event) => { + event.stopPropagation(); + setSiteDialog(true) + setSource([record]) + refresh() + } + + return ( + <> + <Button onClick={(event) => createTask(event)} label={"toolbar.createTask"}> + <AddIcon /> + </Button> + </> + ) + } return ( <Box display="flex"> @@ -106,7 +147,7 @@ marginRight: drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0, }} title={"menu.waitPakin"} - empty={<EmptyData onClick={() => { setCreateDialog(true) }} />} + empty={false} filters={filters} sort={{ field: "create_time", order: "desc" }} actions={( @@ -120,18 +161,16 @@ > <StyledDatagrid preferenceKey='waitPakin' - bulkActionButtons={<Box> <Button label="ra.action.edit" onClick={() => { - setSiteDialog(true) - }} /> <BulkDeleteButton mutationMode={OPERATE_MODE} /></Box>} - rowClick='edit' - expand={false} - expandSingle={true} + bulkActionButtons={ + <> + <CreateTaskButton /> + {/* <BulkDeleteButton mutationMode={OPERATE_MODE} /> */} + </>} + rowClick={false} omit={['id', 'createTime', 'createBy', 'memo']} > <NumberField source="id" /> <TextField source="code" label="table.field.waitPakin.code" /> - {/* <NumberField source="ansId" label="table.field.waitPakin.ansId" /> */} - {/* <TextField source="asnCode" label="table.field.waitPakin.asnCode" /> */} <TextField source="barcode" label="table.field.waitPakin.barcode" /> <NumberField source="anfme" label="table.field.waitPakin.anfme" /> <TextField source="ioStatus$" label="table.field.waitPakin.ioStatus" sortable={false} /> @@ -142,11 +181,12 @@ <TextField source="memo" label="common.field.memo" sortable={false} /> <WrapperField cellClassName="opt" label="common.field.opt"> <EditButton label="toolbar.detail" sx={{ padding: '1px', fontSize: '.75rem' }} /> - {/* <DeleteButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} /> */} + <CreateTaskRowButton /> + <DeleteButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} /> </WrapperField> </StyledDatagrid> </List> - <SelectSiteModel open={siteDialog} setOpen={setSiteDialog} /> + <SelectSiteModel open={siteDialog} setOpen={setSiteDialog} source={source} /> <WaitPakinCreate open={createDialog} setOpen={setCreateDialog} @@ -163,34 +203,6 @@ export default WaitPakinList; -const CreateTaskButton = () => { - const record = useRecordContext(); - const [siteDialog, setSiteDialog] = useState(false); - const notify = useNotify(); - const refresh = useRefresh(); - const { selectedIds, onUnselectItems, data } = useListContext(); - const createTask = () => { - // const rows = data.filter((item) => selectedIds.includes(item.id)) || []; - // const res = await request.post(`/waitPakin/merge`, rows); - // if (res?.data?.code === 200) { - // refresh(); - // notify(res.data.msg); - // } else { - // notify(res.data.msg); - // } - console.log('-------->'); - setSiteDialog(true) - } - // return ( - // <ConfirmButton label={"toolbar.createTask"} startIcon={<TaskIcon />} onConfirm={createTask} /> - // ) - return ( - <> - <Button onClick={() => createTask()} label={"toolbar.createTask"}> - <AddIcon /> - </Button> - </> - ) -} + -- Gitblit v1.9.1