From ccc5defb8924d04abe55301937d1650a51da593f Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期三, 26 三月 2025 15:28:39 +0800
Subject: [PATCH] 仓库树状图添加Index属性,适配前端
---
rsf-admin/src/page/basicInfo/loc/LocList.jsx | 122 ++++++++++++++++++++++++++++++++++++++--
1 files changed, 115 insertions(+), 7 deletions(-)
diff --git a/rsf-admin/src/page/basicInfo/loc/LocList.jsx b/rsf-admin/src/page/basicInfo/loc/LocList.jsx
index 0d2f8e5..c218a18 100644
--- a/rsf-admin/src/page/basicInfo/loc/LocList.jsx
+++ b/rsf-admin/src/page/basicInfo/loc/LocList.jsx
@@ -55,6 +55,8 @@
import request from '@/utils/request';
import DiscountIcon from '@mui/icons-material/Discount';
import LinkIcon from '@mui/icons-material/Link';
+import InitModal from "./InitModal";
+import LocListAside from "./LocListAside";
const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
'& .css-1vooibu-MuiSvgIcon-root': {
@@ -83,7 +85,6 @@
source="warehouseId"
label="table.field.loc.warehouseId"
reference="warehouse"
- alwaysOn
>
<AutocompleteInput
label="table.field.loc.warehouseId"
@@ -95,7 +96,6 @@
source="areaId"
label="table.field.loc.areaId"
reference="warehouseAreas"
- alwaysOn
>
<AutocompleteInput
label="table.field.loc.areaId"
@@ -139,7 +139,7 @@
const [createDialog, setCreateDialog] = useState(false);
const [drawerVal, setDrawerVal] = useState(false);
-
+ const [initDialog, setInitDialog] = useState(false);
return (
<Box display="flex">
@@ -153,7 +153,33 @@
marginRight: drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0,
}}
title={"menu.loc"}
- empty={<EmptyData onClick={() => { setCreateDialog(true) }} />}
+ empty={<EmptyData
+ children={
+ <Box sx={{ gap: 2, display: 'flex' }}>
+ <Button
+ variant="contained"
+ color="primary"
+ sx={{
+ fontSize: '1em',
+ mt: 2
+ }}
+ onClick={() => { setCreateDialog(true) }}>
+ {translate('create.empty.button')}
+ </Button>
+
+ <Button
+ variant="contained"
+ color="primary"
+ sx={{
+ fontSize: '1em',
+ mt: 2
+ }}
+ onClick={() => { setInitDialog(true) }}>
+ {translate('toolbar.locInit')}
+ </Button>
+ </Box>
+ }
+ onClick={() => { }} />}
filters={filters}
sort={{ field: "create_time", order: "desc" }}
actions={(
@@ -166,13 +192,17 @@
</TopToolbar>
)}
perPage={DEFAULT_PAGE_SIZE}
+ aside={<LocListAside />}
>
<StyledDatagrid
preferenceKey='loc'
align="left"
bulkActionButtons={
<>
- <BatchButton />
+ <BatchWateButton />
+ <BatchAreasButton />
+ <BatchLocTypeButton />
+ <BatchStatusButton />
<BindButton />
<SubzoneButton />
<BulkDeleteButton />
@@ -232,6 +262,11 @@
setDrawerVal={setDrawerVal}
>
</PageDrawer>
+
+ <InitModal
+ open={initDialog}
+ setOpen={setInitDialog}
+ />
</Box>
)
}
@@ -264,7 +299,7 @@
)
}
-const BatchButton = () => {
+const BatchWateButton = () => {
const record = useRecordContext();
const notify = useNotify();
const refresh = useRefresh();
@@ -274,13 +309,86 @@
return (
<>
- <Button onClick={() => setCreateDialog(true)} label={"toolbar.batch"}>
+ <Button onClick={() => setCreateDialog(true)} label={"toolbar.batchWarehouse"}>
<EditIcon />
</Button>
<BatchModal
open={createDialog}
setOpen={setCreateDialog}
+ fieldType={'warehouseId'}
+ />
+ </>
+
+ )
+}
+
+const BatchAreasButton = () => {
+ const record = useRecordContext();
+ const notify = useNotify();
+ const refresh = useRefresh();
+
+
+ const [createDialog, setCreateDialog] = useState(false);
+
+ return (
+ <>
+ <Button onClick={() => setCreateDialog(true)} label={"toolbar.batchWarehouseAreas"}>
+ <EditIcon />
+ </Button>
+
+ <BatchModal
+ open={createDialog}
+ setOpen={setCreateDialog}
+ fieldType={'areaId'}
+ />
+ </>
+
+ )
+}
+
+const BatchLocTypeButton = () => {
+ const record = useRecordContext();
+ const notify = useNotify();
+ const refresh = useRefresh();
+
+
+ const [createDialog, setCreateDialog] = useState(false);
+
+ return (
+ <>
+ <Button onClick={() => setCreateDialog(true)} label={"toolbar.batchLocType"}>
+ <EditIcon />
+ </Button>
+
+ <BatchModal
+ open={createDialog}
+ setOpen={setCreateDialog}
+ fieldType={'typeIds'}
+ />
+ </>
+
+ )
+}
+
+const BatchStatusButton = () => {
+ const record = useRecordContext();
+ const notify = useNotify();
+ const refresh = useRefresh();
+
+
+ const [createDialog, setCreateDialog] = useState(false);
+
+ return (
+ <>
+ <Button onClick={() => setCreateDialog(true)} label={"toolbar.batchStatus"}>
+ <EditIcon />
+ </Button>
+
+ <BatchModal
+ open={createDialog}
+ setOpen={setCreateDialog}
+ fieldType={'status'}
/>
</>
--
Gitblit v1.9.1