From fc6d556f18bdf652e83f765e41c4ba5d63c9e11d Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期二, 24 三月 2026 18:44:07 +0800
Subject: [PATCH] #
---
rsf-admin/src/page/warehouseAreasItem/WarehouseAreasItemList.jsx | 117 +++++++++++++++++++++-------------------------------------
1 files changed, 43 insertions(+), 74 deletions(-)
diff --git a/rsf-admin/src/page/warehouseAreasItem/WarehouseAreasItemList.jsx b/rsf-admin/src/page/warehouseAreasItem/WarehouseAreasItemList.jsx
index 3e6af78..55761cc 100644
--- a/rsf-admin/src/page/warehouseAreasItem/WarehouseAreasItemList.jsx
+++ b/rsf-admin/src/page/warehouseAreasItem/WarehouseAreasItemList.jsx
@@ -1,71 +1,30 @@
-import React, { useState, useRef, useEffect, useMemo, useCallback } from "react";
-import { useNavigate } from 'react-router-dom';
+import React, { useState, useEffect } from "react";
import {
List,
- DatagridConfigurable,
SearchInput,
TopToolbar,
- SelectColumnsButton,
- EditButton,
+ ColumnsButton,
FilterButton,
- CreateButton,
- ExportButton,
- BulkDeleteButton,
- WrapperField,
- useRecordContext,
- useTranslate,
useNotify,
useListContext,
- FunctionField,
TextField,
NumberField,
DateField,
BooleanField,
- ReferenceField,
TextInput,
- DateTimeInput,
- DateInput,
SelectInput,
NumberInput,
ReferenceInput,
- ReferenceArrayInput,
- useRefresh,
AutocompleteInput,
- DeleteButton,
} from 'react-admin';
-import { Box, Typography, Card, Stack, LinearProgress } from '@mui/material';
-import { styled } from '@mui/material/styles';
+import { Box, LinearProgress } from '@mui/material';
import WarehouseAreasItemCreate from "./WarehouseAreasItemCreate";
-import WarehouseAreasItemPanel from "./WarehouseAreasItemPanel";
-import EmptyData from "../components/EmptyData";
import request from '@/utils/request';
-import MyCreateButton from "../components/MyCreateButton";
import MyExportButton from '../components/MyExportButton';
-import PageDrawer from "../components/PageDrawer";
-import MyField from "../components/MyField";
-import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting';
-import * as Common from '@/utils/common';
-import WarehouseIsptResult from "./WarehouseIsptResult"
-
-
-const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
- '& .css-1vooibu-MuiSvgIcon-root': {
- height: '.9em'
- },
- '& .RaDatagrid-row': {
- cursor: 'auto'
- },
- '& .column-name': {
- },
- '& .opt': {
- width: 200
- },
- '& .MuiTableCell-root': {
- whiteSpace: 'nowrap',
- overflow: 'visible',
- textOverflow: 'unset'
- }
-}));
+import { DEFAULT_PAGE_SIZE } from '@/config/setting';
+import StickyDataTable from "../components/StickyDataTable";
+import WarehouseIsptResult from "./WarehouseIsptResult";
+import useTableLayout from '@/utils/useTableLayout';
const filters = [
<SearchInput source="condition" alwaysOn />,
@@ -105,7 +64,6 @@
]
const WarehouseAreasItemList = () => {
- const translate = useTranslate();
const [itemInfo, setItemInfo] = useState({})
const [createDialog, setCreateDialog] = useState(false);
const [drawerVal, setDrawerVal] = useState(false);
@@ -127,17 +85,13 @@
actions={(
<TopToolbar>
<FilterButton />
- <SelectColumnsButton preferenceKey='warehouseAreasItem' />
+ <ColumnsButton storeKey='warehouseAreasItem' />
<MyExportButton />
</TopToolbar>
)}
perPage={DEFAULT_PAGE_SIZE}
>
- <DynamicFields
- drawerVal={drawerVal}
- setDrawerVal={setDrawerVal}
- itemInfo={itemInfo}
- setItemInfo={setItemInfo} />
+ <DynamicFields />
</List>
<WarehouseAreasItemCreate
open={createDialog}
@@ -163,20 +117,26 @@
export default WarehouseAreasItemList;
-const DynamicFields = (props) => {
- const { drawerVal, setDrawerVal, itemInfo, setItemInfo } = props
- const translate = useTranslate();
+const DynamicFields = () => {
const notify = useNotify();
const [columns, setColumns] = useState([]);
const { isLoading } = useListContext();
- const refresh = useRefresh();
+ const { boxMaxWidth, boxMaxHeight } = useTableLayout();
+
+ const hiddenColumns = [
+ 'prodTime', 'platOrderCode', 'id', 'createTime', 'memo', 'areaId', 'brand',
+ 'weight', 'splrId', 'projectCode', 'statusBool', 'extendFields.[priceUnitId]', 'isptResult$',
+ 'extendFields.[inStockType]', 'matnrId', 'trackCode', 'workQty', 'batch', 'shipperId',
+ 'isptResult', 'createBy$', 'extendFields.[baseUnitId]'
+ ];
+
useEffect(() => {
getDynamicFields();
}, []);
const getDynamicFields = async () => {
const { data: { code, data, msg }, } = await request.get("/fields/enable/list");
- if (code == 200) {
+ if (code === 200) {
const arr = [
<NumberField key="id" source="id" />,
// <NumberField key="areaId" source="areaId" label="table.field.warehouseAreasItem.areaId" />,
@@ -224,22 +184,33 @@
]
setColumns([...arr, ...fields, ...lastArr]);
//filters娣诲姞杩囨护瀛楁
- data.map(el => {
+ data.forEach(el => {
var i = 0;
- filters.map((item) => {
+ filters.forEach((item) => {
if (item.key === el.fields) {
i = 1;
}
- })
- i === 0 && filters.push(<TextInput key={el.fields} source={el.fields} label={el.fieldsAlise} />)
- })
+ });
+ if (i === 0) {
+ filters.push(<TextInput key={el.fields} source={el.fields} label={el.fieldsAlise} />);
+ }
+ });
} else {
notify(msg);
}
}
return (
- <Box sx={{ position: 'relative', minHeight: "82vh", }}>
+ <Box sx={{
+ position: 'relative',
+ maxHeight: boxMaxHeight,
+ maxWidth: boxMaxWidth,
+ overflowX: 'auto',
+ overflowY: 'auto',
+ '& .MuiTableCell-root': {
+ whiteSpace: 'nowrap',
+ }
+ }}>
{isLoading && (
<LinearProgress
sx={{
@@ -252,16 +223,14 @@
/>
)}
{columns.length > 0 &&
- <StyledDatagrid
- preferenceKey='warehouseAreasItem'
+ <StickyDataTable
+ storeKey='warehouseAreasItem'
bulkActionButtons={false}
- rowClick={(id, resource, record) => false}
- omit={['prodTime','platOrderCode','id', 'createTime', 'memo', 'areaId', 'brand',
- 'weight', 'splrId', 'projectCode','statusBool', 'extendFields.[priceUnitId]', 'isptResult$', 'extendFields.[inStockType]',
- 'matnrId', 'trackCode', 'workQty', 'batch', 'shipperId', 'isptResult', 'createBy$', 'createTime', 'extendFields.[baseUnitId]']}
+ rowClick={false}
+ hiddenColumns={hiddenColumns}
>
- {columns.map((column) => column)}
- </StyledDatagrid>}
+ {columns}
+ </StickyDataTable>}
</Box>
)
}
--
Gitblit v1.9.1