From d086af5559dba52095d23e425be87d8f11f24814 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期四, 17 七月 2025 16:32:47 +0800 Subject: [PATCH] #菜单、po单 --- rsf-admin/src/page/orders/check/CheckOrderPub.jsx | 91 +++++++++++++++++++++------------------------ 1 files changed, 43 insertions(+), 48 deletions(-) diff --git a/rsf-admin/src/page/orders/check/CheckOrderPub.jsx b/rsf-admin/src/page/orders/check/CheckOrderPub.jsx index 1a09013..242a1e7 100644 --- a/rsf-admin/src/page/orders/check/CheckOrderPub.jsx +++ b/rsf-admin/src/page/orders/check/CheckOrderPub.jsx @@ -3,36 +3,14 @@ import { List, DatagridConfigurable, - SearchInput, - TopToolbar, Button, - SelectColumnsButton, - EditButton, - FilterButton, - CreateButton, - ExportButton, - BulkDeleteButton, - WrapperField, - useRecordContext, useTranslate, useNotify, useListContext, - FunctionField, TextField, NumberField, - DateField, - BooleanField, - ReferenceField, - TextInput, - DateTimeInput, - DateInput, - SelectInput, - NumberInput, ReferenceInput, - ReferenceArrayInput, AutocompleteInput, - DeleteButton, - SimpleForm, required, Form, useRefresh, @@ -47,6 +25,7 @@ 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': { @@ -85,19 +64,30 @@ setRows(fetchRows) } else { const mas = fetchRows.filter(item => selectedMatnr.includes(item.matnrCode)); - setRows(mas) + let ids = mas.map(item => item.matnrCode); + getLocs(ids) } }, [selectedMatnr]) + const getLocs = async (ids) => { + const { data: { code, data, msg } } = await request.post('/check/locs/' + ids); + if (code === 200) { + setRows(data) + } else { + notify(msg); + } + } + const ComfirmButton = () => { - const { selectedIds, data } = useListContext(); + 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 ( @@ -139,9 +129,8 @@ if (formData.waveId == null && formData.waveId == undefined) { return } - const { data: { code, data, msg } } = await request.post('/outStock/order/getOutTaskItems', { ...formData }); + const { data: { code, data, msg } } = await request.post('/check/order/items', { ...formData }); if (code === 200) { - // setRows(data) setFetchRows(data) } else { notify(msg); @@ -177,8 +166,8 @@ </ReferenceInput> </Form> <List - resource="outStockItem" - storeKey='outStockItem' + resource="checkItem" + storeKey='checkItem' sx={{ flexGrow: 1, transition: (theme) => @@ -186,9 +175,9 @@ duration: theme.transitions.duration.enteringScreen, }), }} - title={"menu.outStockItem"} + title={"menu.checkItem"} empty={false} - filter={{ asnId: record?.id, deleted: 0 }} + filter={{ orderId: record?.id, deleted: 0 }} sort={{ field: "create_time", order: "desc" }} actions={false} pagination={false} @@ -199,22 +188,21 @@ /> <StyledDatagrid storeKey={"outStockPublic"} - preferenceKey='outStockItem' + preferenceKey='checkItem' bulkActionButtons={<> <ComfirmButton /> </>} - omit={['id', 'splrName', 'qty', 'poCode',]} + omit={['id', 'splrName', 'qty',]} > <NumberField source="id" /> - <TextField source="asnCode" label="table.field.outStockItem.asnCode" /> - <TextField source="poCode" label="table.field.outStockItem.poCode" /> - <TextField source="matnrCode" label="table.field.outStockItem.matnrCode" /> - <TextField source="maktx" label="table.field.outStockItem.maktx" /> - <NumberField source="anfme" label="table.field.outStockItem.anfme" /> - <NumberField source="workQty" label="table.field.outStockItem.workQty" /> - <NumberField source="qty" label="table.field.outStockItem.qty" /> - <TextField source="stockUnit" label="table.field.outStockItem.stockUnit" /> - <TextField source="splrName" label="table.field.outStockItem.splrName" /> + <TextField source="orderCode" label="table.field.checkOrderItem.orderCode" /> + <TextField source="matnrCode" label="table.field.checkOrderItem.matnrCode" /> + <TextField source="maktx" label="table.field.checkOrderItem.maktx" /> + <NumberField source="anfme" label="table.field.checkOrderItem.anfme" /> + <NumberField source="workQty" label="table.field.checkOrderItem.workQty" /> + <NumberField source="qty" label="table.field.checkOrderItem.qty" /> + <TextField source="stockUnit" label="table.field.checkOrderItem.stockUnit" /> + <TextField source="splrName" label="table.field.checkOrderItem.splrName" /> </StyledDatagrid> </List> </Card> @@ -235,7 +223,7 @@ </Box> <Box sx={{ textAlign: 'center' }}> <CloseButton setOpen={setOpen} /> - <SubmitButton selectedIds={selectedIds} setSelectedIds={setSelectedIds} gridRef={gridRef} record={record} /> + <SubmitButton selectedIds={selectedIds} setSelectedIds={setSelectedIds} rowSelectedIds={rowSelectedIds} gridRef={gridRef} record={record} /> </Box> </Card> </Grid> @@ -263,13 +251,11 @@ }, [selectedIds]) const baseColumns = [ - // { field: 'id', headerName: 'ID', width: 40 }, { field: 'locCode', headerName: '搴撲綅', width: 110 }, { field: 'barcode', headerName: '瀹瑰櫒', width: 120 }, { field: 'matnrCode', headerName: '鐗╂枡缂栫爜', width: 120 }, { field: 'batch', headerName: '鎵规', width: 90 }, { field: 'unit', headerName: '鍗曚綅', width: 60 }, - { field: 'outQty', headerName: '鍑哄簱鏁伴噺', width: 110, }, { field: 'anfme', headerName: '搴撳瓨鏁伴噺', width: 110, renderCell: (params) => ( @@ -435,13 +421,22 @@ //鎻愪氦鎸夐挳 -const SubmitButton = ({ selectedIds, setSelectedIds, gridRef, record }) => { +const SubmitButton = ({ selectedIds, setSelectedIds, rowSelectedIds, gridRef, record }) => { const notify = useNotify(); const refresh = useRefresh(); 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)); + //杩囨护锛屽皢搴撲綅娣诲姞鑷崇洏鐐瑰崟鏄庣粏涓� + const records = rowSelectedIds.map(map =>{ + return { + ...map, + items: selctRecord.filter(item => item.matnrCode == map.matnrCode) + } + }) + + const { data: { code, data, msg } } = await request.post('/check/generate/tasks', records); if (code == 200) { refresh(); redirect("/task") @@ -451,7 +446,7 @@ } return ( <ConfirmButton - label="toolbar.allComfirm" + label="toolbar.confirmSelect" variant="contained" size="medium" onConfirm={submit} -- Gitblit v1.9.1