From bfc43ca0e4683c1c0322a6cad5d5be2bc07decc3 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期四, 24 七月 2025 15:00:44 +0800 Subject: [PATCH] 新增调拔单功能 盘点功能优化 --- rsf-admin/src/page/orders/check/CheckOrderPub.jsx | 57 +++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 37 insertions(+), 20 deletions(-) diff --git a/rsf-admin/src/page/orders/check/CheckOrderPub.jsx b/rsf-admin/src/page/orders/check/CheckOrderPub.jsx index 56f341a..2acd62d 100644 --- a/rsf-admin/src/page/orders/check/CheckOrderPub.jsx +++ b/rsf-admin/src/page/orders/check/CheckOrderPub.jsx @@ -11,6 +11,7 @@ NumberField, ReferenceInput, AutocompleteInput, + useRecordSelection, required, Form, useRefresh, @@ -18,15 +19,16 @@ TextInput, } from 'react-admin'; import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE, DEFAULT_ITEM_PAGE_SIZE, DEFAULT_TYPE } from '@/config/setting'; -import { styled } from '@mui/material/styles'; import { DataGrid, useGridApiContext, GridActionsCellItem, useGridApiRef } from '@mui/x-data-grid'; -import request from '@/utils/request'; import ConfirmationNumberOutlinedIcon from '@mui/icons-material/ConfirmationNumberOutlined'; import CloseSharpIcon from '@mui/icons-material/CloseSharp'; import ConfirmButton from '../../components/ConfirmButton'; import { Delete, Edit, Add } from '@mui/icons-material'; import CheckOrderSiteDialog from "./CheckOrderSiteDialog"; import CheckPreviewTable from "./CheckPreviewTable"; +import { styled } from '@mui/material/styles'; +import request from '@/utils/request'; + const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({ '& .css-1vooibu-MuiSvgIcon-root': { @@ -44,13 +46,14 @@ const CheckOrderPub = (props) => { const { record, open, setOpen, setManualDialog } = props; const notify = useNotify(); + const translate = useTranslate(); const gridRef = useGridApiRef(); const [rows, setRows] = useState([]); const [fetchRows, setFetchRows] = useState([]); - const translate = useTranslate(); + const [selectItem, setSelectItem] = useState({}); const [rowSelectedIds, setRowSelectedIds] = useState([]); const [selectedMatnr, setSelectedMatnr] = useState([]); - const [selectedIds, setSelectedIds] = useState([]); + const [leftSelectedIds, setLeftSelectedIds] = useState([]); const [formData, setFormData] = useState({ orderId: record?.id, waveId: DEFAULT_TYPE }); const [dialog, setDialog] = useState(false); const [selectedValue, setSelectedValue] = useState({}); @@ -67,8 +70,8 @@ const getLocs = async (ids) => { - let params = {matnrCode: ids} - const { data: { code, data, msg } } = await request.post('/check/locs/', params); + let params = { matnrCode: ids } + const { data: { code, data, msg } } = await request.post('/check/locs/', params); if (code === 200) { setRows(data) const matnrs = selectedMatnr.filter(item => data.some(bigData => bigData.matnrCode === item)); @@ -78,15 +81,16 @@ } } + const ComfirmButton = () => { - const { selectedIds, data, onUnselectItems } = useListContext(); + const { selectedIds, data, onUnselectItems, } = useListContext(); const handleRowClick = () => { 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() + onUnselectItems(); } return ( record.exceStatus != 3 ? <><Button label="toolbar.confirm" size="medium" onClick={handleRowClick} /></> : <></> @@ -215,14 +219,22 @@ record={record} formData={formData} selectedMatnr={selectedMatnr} - selectedIds={selectedIds} + leftSelectedIds={leftSelectedIds} setDialog={setDialog} - setSelectedIds={setSelectedIds} + setLeftSelectedIds={setLeftSelectedIds} /> </Box> <Box sx={{ textAlign: 'center' }}> <CloseButton setOpen={setOpen} /> - <SubmitButton selectedIds={selectedIds} setOpen={setOpen} setSelectedIds={setSelectedIds} selectedMatnr={selectedMatnr} rowSelectedIds={rowSelectedIds} gridRef={gridRef} record={record} /> + <SubmitButton + leftSelectedIds={leftSelectedIds} + setOpen={setOpen} + setLeftSelectedIds={setLeftSelectedIds} + selectItem={selectItem} + selectedMatnr={selectedMatnr} + rowSelectedIds={rowSelectedIds} + gridRef={gridRef} + record={record} /> </Box> </Card> </Grid> @@ -240,14 +252,15 @@ } //鎻愪氦鎸夐挳 -const SubmitButton = ({ selectedIds, setSelectedIds, rowSelectedIds, gridRef, record, setOpen, selectedMatnr }) => { +const SubmitButton = ({ leftSelectedIds, setLeftSelectedIds, rowSelectedIds, selectItem, gridRef, record, setOpen, selectedMatnr }) => { const notify = useNotify(); const refresh = useRefresh(); const translate = useTranslate(); const redirect = useRedirect(); const submit = async () => { const items = gridRef.current?.getSortedRows(); - let selctRecord = items.filter(item => selectedIds.includes(item?.id)); + let selctRecord = items.filter(item => leftSelectedIds.includes(item?.id)); + if (selctRecord == undefined || selctRecord.length < 1) { notify(translate('common.msg.locEmpty'), { type: 'error' }); return @@ -263,13 +276,17 @@ 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(); - setOpen(false) - } else { - notify(msg); - } + redirect("/task") + + + // 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 -- Gitblit v1.9.1