From 1844fe7ab6301b879f8459022916af350426dda8 Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期五, 21 二月 2025 10:18:43 +0800
Subject: [PATCH] #

---
 rsf-admin/src/page/matnr/MatnrList.jsx |  142 ++++++++++++++++++++++++++++-------------------
 1 files changed, 84 insertions(+), 58 deletions(-)

diff --git a/rsf-admin/src/page/matnr/MatnrList.jsx b/rsf-admin/src/page/matnr/MatnrList.jsx
index f823136..1ef6208 100644
--- a/rsf-admin/src/page/matnr/MatnrList.jsx
+++ b/rsf-admin/src/page/matnr/MatnrList.jsx
@@ -32,7 +32,7 @@
     AutocompleteInput,
     DeleteButton,
 } from 'react-admin';
-import { Box, Typography, Card, Stack } from '@mui/material';
+import { Box, Typography, Card, Stack,LinearProgress } from '@mui/material';
 import { styled } from '@mui/material/styles';
 import MatnrCreate from "./MatnrCreate";
 import MatnrPanel from "./MatnrPanel";
@@ -43,6 +43,7 @@
 import MyField from "../components/MyField";
 import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting';
 import * as Common from '@/utils/common';
+import MatListAside from './MatnrListAside';
 
 const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
     '& .css-1vooibu-MuiSvgIcon-root': {
@@ -68,7 +69,7 @@
     <ReferenceInput source="shipperId" label="table.field.matnr.shipperId" reference="shipper">
         <AutocompleteInput label="table.field.matnr.shipperId" optionText="name" filterToQuery={(val) => ({ name: val })} />
     </ReferenceInput>,
-    <ReferenceInput source="groupId" label="table.field.matnr.groupId" reference="matnrGroup">
+    <ReferenceInput source="groupId" label="table.field.matnr.groupId" reference="matnrGroup" >
         <AutocompleteInput label="table.field.matnr.groupId" optionText="code" filterToQuery={(val) => ({ code: val })} />
     </ReferenceInput>,
     <ReferenceInput source="batchRegularId" label="table.field.matnr.batchRegularId" reference="batchRegular">
@@ -118,11 +119,90 @@
     />,
 ]
 
+const MatnrListContent = (props) => {
+    const translate = useTranslate();
+    const { isLoading } = useListContext();
+
+    return (
+        <Box sx={{ position: 'relative' }}>
+                {isLoading && (
+                    <LinearProgress
+                        sx={{
+                            height: "2px",
+                            position: 'absolute',
+                            top: 0,
+                            left: 0,
+                            right: 0,
+                        }}
+                    />
+                )}
+            <StyledDatagrid 
+                preferenceKey='matnr'
+                bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />}
+                rowClick={(id, resource, record) => false}
+                expand={() => <MatnrPanel />}
+                expandSingle={true}
+                omit={['id', 'createTime', 'createBy', 'memo']}
+            >
+                <NumberField source="id" />
+                <TextField source="name" label="table.field.matnr.name" />
+                <TextField source="code" label="table.field.matnr.code" />
+                <ReferenceField source="shipperId" label="table.field.matnr.shipperId" reference="shipper" link={false} sortable={false}>
+                    <TextField source="name" />
+                </ReferenceField>
+                <ReferenceField source="groupId" label="table.field.matnr.groupId" reference="matnrGroup" link={false} sortable={false}>
+                    <TextField source="code" />
+                </ReferenceField>
+                <ReferenceField source="batchRegularId" label="table.field.matnr.batchRegularId" reference="batchRegular" link={false} sortable={false}>
+                    <TextField source="code" />
+                </ReferenceField>
+                <TextField source="erpCode" label="table.field.matnr.erpCode" />
+                <TextField source="spec" label="table.field.matnr.spec" />
+                <TextField source="model" label="table.field.matnr.model" />
+                <NumberField source="weight" label="table.field.matnr.weight" />
+                <TextField source="color" label="table.field.matnr.color" />
+                <TextField source="size" label="table.field.matnr.size" />
+                <TextField source="describle" label="table.field.matnr.describle" />
+                <NumberField source="nromNum" label="table.field.matnr.nromNum" />
+                <TextField source="unit" label="table.field.matnr.unit" />
+                <TextField source="purchaseUnit" label="table.field.matnr.purchaseUnit" />
+                <TextField source="stockUnit" label="table.field.matnr.stockUnit" />
+                <TextField source="stockLeval$" label="table.field.matnr.stockLeval" sortable={false} />
+                <TextField source="isLabelMange$" label="table.field.matnr.isLabelMange" sortable={false} />
+                <NumberField source="safetyQty" label="table.field.matnr.safetyQty" />
+                <NumberField source="minQty" label="table.field.matnr.minQty" />
+                <NumberField source="maxQty" label="table.field.matnr.maxQty" />
+                <NumberField source="stagnate" label="table.field.matnr.stagnate" />
+                <NumberField source="validity" label="table.field.matnr.validity" />
+                <NumberField source="validityWarr" label="table.field.matnr.validityWarr" />
+                <NumberField source="flagCheck" label="table.field.matnr.flagCheck" />
+
+                <ReferenceField source="updateBy" label="common.field.updateBy" reference="user" link={false} sortable={false}>
+                    <TextField source="nickname" />
+                </ReferenceField>
+                <DateField source="updateTime" label="common.field.updateTime" showTime />
+                <ReferenceField source="createBy" label="common.field.createBy" reference="user" link={false} sortable={false}>
+                    <TextField source="nickname" />
+                </ReferenceField>
+                <DateField source="createTime" label="common.field.createTime" showTime />
+                <BooleanField source="statusBool" label="common.field.status" sortable={false} />
+                <TextField source="memo" label="common.field.memo" sortable={false} />
+                <WrapperField cellClassName="opt" label="common.field.opt">
+                    <EditButton sx={{ padding: '1px', fontSize: '.75rem' }} />
+                    <DeleteButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} />
+                </WrapperField>
+            </StyledDatagrid>
+        </Box>
+    );
+    
+}
+
 const MatnrList = () => {
     const translate = useTranslate();
 
     const [createDialog, setCreateDialog] = useState(false);
     const [drawerVal, setDrawerVal] = useState(false);
+
 
     return (
         <Box display="flex">
@@ -148,63 +228,9 @@
                     </TopToolbar>
                 )}
                 perPage={DEFAULT_PAGE_SIZE}
+                aside={ <MatListAside /> }
             >
-                <StyledDatagrid
-                    preferenceKey='matnr'
-                    bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />}
-                    rowClick={(id, resource, record) => false}
-                    expand={() => <MatnrPanel />}
-                    expandSingle={true}
-                    omit={['id', 'createTime', 'createBy', 'memo']}
-                >
-                    <NumberField source="id" />
-                    <TextField source="name" label="table.field.matnr.name" />
-                    <TextField source="code" label="table.field.matnr.code" />
-                    <ReferenceField source="shipperId" label="table.field.matnr.shipperId" reference="shipper" link={false} sortable={false}>
-                        <TextField source="name" />
-                    </ReferenceField>
-                    <ReferenceField source="groupId" label="table.field.matnr.groupId" reference="matnrGroup" link={false} sortable={false}>
-                        <TextField source="code" />
-                    </ReferenceField>
-                    <ReferenceField source="batchRegularId" label="table.field.matnr.batchRegularId" reference="batchRegular" link={false} sortable={false}>
-                        <TextField source="code" />
-                    </ReferenceField>
-                    <TextField source="erpCode" label="table.field.matnr.erpCode" />
-                    <TextField source="spec" label="table.field.matnr.spec" />
-                    <TextField source="model" label="table.field.matnr.model" />
-                    <NumberField source="weight" label="table.field.matnr.weight" />
-                    <TextField source="color" label="table.field.matnr.color" />
-                    <TextField source="size" label="table.field.matnr.size" />
-                    <TextField source="describle" label="table.field.matnr.describle" />
-                    <NumberField source="nromNum" label="table.field.matnr.nromNum" />
-                    <TextField source="unit" label="table.field.matnr.unit" />
-                    <TextField source="purchaseUnit" label="table.field.matnr.purchaseUnit" />
-                    <TextField source="stockUnit" label="table.field.matnr.stockUnit" />
-                    <TextField source="stockLeval$" label="table.field.matnr.stockLeval" sortable={false} />
-                    <TextField source="isLabelMange$" label="table.field.matnr.isLabelMange" sortable={false} />
-                    <NumberField source="safetyQty" label="table.field.matnr.safetyQty" />
-                    <NumberField source="minQty" label="table.field.matnr.minQty" />
-                    <NumberField source="maxQty" label="table.field.matnr.maxQty" />
-                    <NumberField source="stagnate" label="table.field.matnr.stagnate" />
-                    <NumberField source="validity" label="table.field.matnr.validity" />
-                    <NumberField source="validityWarr" label="table.field.matnr.validityWarr" />
-                    <NumberField source="flagCheck" label="table.field.matnr.flagCheck" />
-
-                    <ReferenceField source="updateBy" label="common.field.updateBy" reference="user" link={false} sortable={false}>
-                        <TextField source="nickname" />
-                    </ReferenceField>
-                    <DateField source="updateTime" label="common.field.updateTime" showTime />
-                    <ReferenceField source="createBy" label="common.field.createBy" reference="user" link={false} sortable={false}>
-                        <TextField source="nickname" />
-                    </ReferenceField>
-                    <DateField source="createTime" label="common.field.createTime" showTime />
-                    <BooleanField source="statusBool" label="common.field.status" sortable={false} />
-                    <TextField source="memo" label="common.field.memo" sortable={false} />
-                    <WrapperField cellClassName="opt" label="common.field.opt">
-                        <EditButton sx={{ padding: '1px', fontSize: '.75rem' }} />
-                        <DeleteButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} />
-                    </WrapperField>
-                </StyledDatagrid>
+                <MatnrListContent />
             </List>
             <MatnrCreate
                 open={createDialog}

--
Gitblit v1.9.1