From 7172f29c54a04164674212f4ead303603dff0548 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期二, 01 七月 2025 16:16:34 +0800 Subject: [PATCH] 波次终止前端修改 --- rsf-admin/src/page/orders/wave/WaveEdit.jsx | 8 ---- rsf-admin/src/page/orders/wave/WaveList.jsx | 33 ++++++++++++++-- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java | 1 rsf-admin/src/i18n/zh.js | 1 rsf-admin/src/i18n/en.js | 1 rsf-admin/src/page/orders/wave/WavePanel.jsx | 20 ++++++++- rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaveController.java | 17 ++++++++ 7 files changed, 66 insertions(+), 15 deletions(-) diff --git a/rsf-admin/src/i18n/en.js b/rsf-admin/src/i18n/en.js index 17125dc..8dcd005 100644 --- a/rsf-admin/src/i18n/en.js +++ b/rsf-admin/src/i18n/en.js @@ -1150,6 +1150,7 @@ top: "top", resort: "sort", start: 'Start', + stopPub: 'Stop Pub', pause: 'Pause', subzone: 'subzone', bindmatnr: 'bind matnr', diff --git a/rsf-admin/src/i18n/zh.js b/rsf-admin/src/i18n/zh.js index 6b14606..44b9d02 100644 --- a/rsf-admin/src/i18n/zh.js +++ b/rsf-admin/src/i18n/zh.js @@ -1144,6 +1144,7 @@ batch: '鎵归噺鎿嶄綔', confirm: '纭', start: '鑷姩涓嬪彂', + stopPub: '缁堟涓嬪彂', pause: '鏆傚仠', pick: '鎷f枡', check: '鐩樼偣', diff --git a/rsf-admin/src/page/orders/wave/WaveEdit.jsx b/rsf-admin/src/page/orders/wave/WaveEdit.jsx index 689027f..480767a 100644 --- a/rsf-admin/src/page/orders/wave/WaveEdit.jsx +++ b/rsf-admin/src/page/orders/wave/WaveEdit.jsx @@ -126,14 +126,6 @@ </Stack> </Grid> - <Grid item xs={8} md={2}> - <Typography variant="h6" gutterBottom> - {translate('common.edit.title.common')} - </Typography> - <StatusSelectInput /> - <Box mt="2em" /> - <MemoInput /> - </Grid> </Grid> </SimpleForm> </Edit > diff --git a/rsf-admin/src/page/orders/wave/WaveList.jsx b/rsf-admin/src/page/orders/wave/WaveList.jsx index c0d43c4..3b9de8c 100644 --- a/rsf-admin/src/page/orders/wave/WaveList.jsx +++ b/rsf-admin/src/page/orders/wave/WaveList.jsx @@ -29,6 +29,7 @@ import PlayArrowOutlinedIcon from '@mui/icons-material/PlayArrowOutlined'; import PauseCircleOutlineIcon from '@mui/icons-material/PauseCircleOutline'; import StopCircleOutlinedIcon from '@mui/icons-material/StopCircleOutlined'; +import StopOutlinedIcon from '@mui/icons-material/StopOutlined'; import { Box, Typography, Card, Stack, LinearProgress } from '@mui/material'; import ConfirmButton from "../../components/ConfirmButton"; import PageDrawer from "../../components/PageDrawer"; @@ -109,9 +110,11 @@ return ( <Box display="flex"> <List - queryOptions={{ refetchInterval: 5000 }} sx={{ flexGrow: 1, + "& .css-k008qs": { + display: 'block' + }, transition: (theme) => theme.transitions.create(['all'], { duration: theme.transitions.duration.enteringScreen, @@ -142,7 +145,7 @@ rowClick={(id, resource, record) => false} expand={<WavePannel />} expandSingle={true} - omit={['id', 'createTime', 'createBy', 'memo', 'createBy$']} + omit={['id', 'createTime', 'createBy', 'createBy$']} > <NumberField source="id" /> <TextField source="code" label="table.field.wave.code" /> @@ -159,9 +162,9 @@ <CustomProcess source="progress" /> <TextField source="exceStatus$" label="table.field.wave.exceStatus" sortable={false} /> <WrapperField cellClassName="opt" label="common.field.opt"> - <PublicTaskButton setSelectIds={setSelectIds} setDetailDialog={setDetailDialog} /> <PauseButton /> <ContinueButton /> + <StopWaveButton /> <EditButton label="toolbar.detail" sx={{ padding: '1px', fontSize: '.75rem' }} /> </WrapperField> </StyledDatagrid> @@ -214,6 +217,28 @@ <> <LinearProgress variant="determinate" value={progress} /> </> + ) +} + + +const StopWaveButton = () => { + const record = useRecordContext() + const translate = useTranslate() + const refresh = useRefresh() + const notify = useNotify() + + const stopClick = async (event) => { + event.stopPropagation() + const { data: { code, data, msg } } = await request.post('', { val: true, flag: 'WaveAutoExce' }); + if (code === 200) { + notify(msg); + } else { + notify(msg); + } + } + + return ( + <ConfirmButton label={"toolbar.stopPub"} startIcon={<StopOutlinedIcon />} onConfirm={stopClick} size='small' /> ) } @@ -297,7 +322,7 @@ notify(msg); } else { notify(msg); - } + } refresh() } return ( diff --git a/rsf-admin/src/page/orders/wave/WavePanel.jsx b/rsf-admin/src/page/orders/wave/WavePanel.jsx index 2c9d80c..95b3132 100644 --- a/rsf-admin/src/page/orders/wave/WavePanel.jsx +++ b/rsf-admin/src/page/orders/wave/WavePanel.jsx @@ -10,10 +10,16 @@ DateField, BooleanField, ReferenceField, + useListContext, + ListContextProvider, + useList, + useGetList, } from 'react-admin'; import PanelTypography from "../../components/PanelTypography"; +import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting'; import * as Common from '@/utils/common' import { styled } from '@mui/material/styles'; +import { width } from "@mui/system"; const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({ '& .css-1vooibu-MuiSvgIcon-root': { @@ -35,10 +41,19 @@ const translate = useTranslate(); const [createDialog, setCreateDialog] = useState(false); const [drawerVal, setDrawerVal] = useState(false); + + const { data, total, isPending, error, refetch, meta } = useGetList('/waveOrderRela', { filter: { waveId: record?.id } }); + const listContext = useList({ data, isPending }); + + if (data == null || data == undefined) { + return + } + return ( <> <Box display="flex"> - <List resource="waveOrderRela" + <ListContextProvider + value={listContext} sx={{ flexGrow: 1, transition: (theme) => @@ -47,7 +62,6 @@ }), marginRight: !!drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0, }} - filter={{ waveId: record.id }} pagination={false} empty={false} actions={false} @@ -71,7 +85,7 @@ <TextField source="stockUnit" label="table.field.asnOrderItem.stockUnit" /> <TextField source="splrName" label="table.field.asnOrderItem.splrName" /> </StyledDatagrid> - </List> + </ListContextProvider> </Box> </> ); diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaveController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaveController.java index 88ebbe5..b3cb92a 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaveController.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaveController.java @@ -178,4 +178,21 @@ } + @PreAuthorize("hasAuthority('manager:waveItem:update')") + @ApiOperation("缁堟涓嬪彂浠诲姟") + @PostMapping("/wave/stop/pub/{id}") + public R stopPublicTask(@PathVariable Long id) { + if (Objects.isNull(id)) { + return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒"); + } + Wave wave = waveService.getById(id); + if (Objects.isNull(wave)) { + throw new CoolException("娉㈡鍗曚笉瀛樺湪锛侊紒"); + } + waveService.update(new LambdaUpdateWrapper<Wave>() + .eq(Wave::getId, id) + .set(Wave::getExceStatus, WaveExceStatus.WAVE_EXCE_STATUS_TASK.val)); + return R.ok(); + } + } diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java index 50e433d..86e2788 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java @@ -163,6 +163,7 @@ } else { wave.setExceStatus(WaveExceStatus.WAVE_EXCE_STATUS_EXCING.val); } + wave.setMemo("-->搴撳瓨涓嶈冻"); waveService.updateById(wave); return R.ok(); } -- Gitblit v1.9.1