From b11d506d64188be9843f13fcf2dd6bb3df45acfd Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期三, 11 六月 2025 09:51:00 +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