From c66946e33fcdbcd66852ed3a50967fa6f532489f Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期三, 11 六月 2025 08:41:06 +0800 Subject: [PATCH] 添加批修量修改库口功能 --- rsf-admin/src/page/orders/outStock/OutStockPublic.jsx | 75 ++++++++++++++++++++++++++++++++++--- 1 files changed, 69 insertions(+), 6 deletions(-) diff --git a/rsf-admin/src/page/orders/outStock/OutStockPublic.jsx b/rsf-admin/src/page/orders/outStock/OutStockPublic.jsx index b3570fe..5ba82cb 100644 --- a/rsf-admin/src/page/orders/outStock/OutStockPublic.jsx +++ b/rsf-admin/src/page/orders/outStock/OutStockPublic.jsx @@ -1,4 +1,4 @@ -import { Box, Card, Grid, LinearProgress, Select, MenuItem, ListItemText, Tooltip, IconButton } from "@mui/material"; +import { Box, Card, Grid, LinearProgress, Select, MenuItem, ListItemText } from "@mui/material"; import React, { useState, useRef, useEffect, useMemo } from "react"; import { List, @@ -46,6 +46,7 @@ import CloseSharpIcon from '@mui/icons-material/CloseSharp'; import ConfirmButton from '../../components/ConfirmButton'; import { Delete, Edit, Add } from '@mui/icons-material'; +import OutStockSiteDialog from "./OutStockSiteDialog"; const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({ '& .css-1vooibu-MuiSvgIcon-root': { @@ -70,9 +71,31 @@ const [formData, setFormData] = useState({ orderId: record?.id }); + const [dialog, setDialog] = useState(false); + const [selectedValue, setSelectedValue] = useState({}); + + const handleClickOpen = () => { + setDialog(true); + }; + + const handleClose = (value) => { + setDialog(false); + setSelectedValue(value); + console.log(rows); + console.log(value); + const newRows = rows.map(item => { + return { + ...item, + siteNo: value?.site + } + }) + setRows(newRows); + }; + useEffect(() => { getWaveRule() }, [formData, open]) + const getWaveRule = async () => { if (formData.waveId == null && formData.waveId == undefined) { @@ -157,21 +180,36 @@ <Grid item xl={6.3} gap={2}> <Card> <Box sx={{ height: 500, width: '100%' }}> - <PreviewTable rows={rows} gridRef={gridRef} setRows={setRows} record={record}/> + <PreviewTable + rows={rows} + gridRef={gridRef} + setRows={setRows} + record={record} + selectedIds={selectedIds} + setDialog={setDialog} + setSelectedIds={setSelectedIds} + /> </Box> <Box sx={{ textAlign: 'center' }}> <CloseButton setOpen={setOpen} /> - <SubmitButton selectedIds={selectedIds} setSelectedIds={setSelectedIds} gridRef={gridRef} record={record}/> + <SubmitButton selectedIds={selectedIds} setSelectedIds={setSelectedIds} gridRef={gridRef} record={record} /> </Box> </Card> </Grid> + </Grid> + <Grid> + <OutStockSiteDialog + selectedValue={selectedValue} + open={dialog} + onClose={handleClose} + /> </Grid> </Box> </> ); } -const PreviewTable = ({ rows, gridRef, setRows, record }) => { +const PreviewTable = ({ rows, gridRef, setRows, record, selectedIds, setSelectedIds, setDialog }) => { gridRef.current = useGridApiRef(); const columns = [ @@ -214,8 +252,8 @@ * @param {*} params */ const handleDelete = (params, rows, setRows) => { - const outRows = rows.filter(row => { - return row.id !== params.id + const outRows = rows.filter(row => { + return row.id !== params.id }) setRows(outRows) } @@ -233,6 +271,28 @@ </Box> ); }); + + const CustomToolBar = () => { + const selectSiteNo = () => { + setDialog(true) + } + + return ( + selectedIds.length > 0 ? <Box sx={{ + p: 1, + display: 'flex', + justifyContent: 'flex-end', + borderTop: '1px solid rgba(224, 224, 224, 1)' + }}> + <Button + onClick={selectSiteNo} + variant="outlined" + label="toolbar.modiftySite" + size="medium" + sx={{ mr: 1 }} /> + </Box> : <></> + ); + } const OutStockSite = (params) => { const { id, field, siteNo, row: { staNos } } = params; @@ -288,6 +348,7 @@ <DataGrid rows={rows} columns={columns} + slots={{ toolbar: CustomToolBar }} apiRef={gridRef} initialState={{ pagination: { @@ -305,6 +366,8 @@ ) } + + //鎻愪氦鎸夐挳 const SubmitButton = ({ selectedIds, setSelectedIds, gridRef, record }) => { const notify = useNotify(); -- Gitblit v1.9.1