From eb49fb9a98d6dd4e4361daf4eac4f9313236b8e8 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期四, 19 三月 2026 10:56:34 +0800
Subject: [PATCH] #AI多租户管控

---
 rsf-admin/src/page/orders/asnOrderItem/AsnOrderItemList.jsx |   56 +++++++++++++++++++++-----------------------------------
 1 files changed, 21 insertions(+), 35 deletions(-)

diff --git a/rsf-admin/src/page/orders/asnOrderItem/AsnOrderItemList.jsx b/rsf-admin/src/page/orders/asnOrderItem/AsnOrderItemList.jsx
index ff77191..c5c8818 100644
--- a/rsf-admin/src/page/orders/asnOrderItem/AsnOrderItemList.jsx
+++ b/rsf-admin/src/page/orders/asnOrderItem/AsnOrderItemList.jsx
@@ -39,9 +39,11 @@
 import { Box, Typography, Card, Stack, Dialog, DialogActions, DialogTitle, LinearProgress } from '@mui/material';
 import { styled } from '@mui/material/styles';
 import PageDrawer from "../../components/PageDrawer";
+import StickyDataTable from "../../components/StickyDataTable";
+import useTableLayout from '@/utils/useTableLayout';
 
 import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting';
-import { fetchInOrderItemColumns } from '../config/orderItemColumns';
+import { fetchInOrderItemFullColumns } from '../config/orderItemColumns';
 
 const filters = [
     <SearchInput source="condition" alwaysOn />,
@@ -84,7 +86,7 @@
         <>
             <Box display="flex">
                 <List
-                    resource="asnOrderItem/in"
+                    resource="asnOrderItemFull/in"
                     sx={{
                         flexGrow: 1,
                         transition: (theme) =>
@@ -96,7 +98,7 @@
                     title={"menu.asnOrderItem"}
                     empty={false}
                     filters={filters}
-                    sort={{ field: "create_time", order: "desc" }}
+                    sort={{ field: "id", order: "desc" }}
                     actions={(
                         <TopToolbar>
                             <FilterButton />
@@ -128,14 +130,8 @@
     const [columns, setColumns] = useState([]);
     const { isLoading } = useListContext();
     const refresh = useRefresh();
-    const [sidebarIsOpen] = useSidebarState();
-
     const omittedFields = [
-        'id', 'orderId', 'orderCode', 'poCode', 'poId', 'wkType', 'type', 'checkType', 
-        'spec', 'model', 'purQty', 'purUnit', 'qrcode', 'trackCode', 'splrCode', 
-        'splrName', 'projectCode', 'supplierId', 'supplierName', 'priceUnitId', 
-        'shipperId', 'businessTime', 'extendFields.[businessTime]', 
-        'extendFields.[wkType]', 'extendFields.[type]'
+        'id'
     ];
 
     useEffect(() => {
@@ -143,13 +139,11 @@
     }, []);
 
     const getDynamicFields = async () => {
-        const result = await fetchInOrderItemColumns();
+        const result = await fetchInOrderItemFullColumns();
         if (result.success) {
             const hiddenSources = [
-                'splrName',
-                'businessTime', 'extendFields.[businessTime]',
-                'wkType', 'extendFields.[wkType]',
-                'type', 'extendFields.[type]'
+                'splrName', 'spec', 'createBy', 'createTime', 'createBy$',
+                'type', 'extendFields.[type]',
             ];
             const columns = result.columns.filter(col => !hiddenSources.includes(col.props.source));
             setColumns(columns);
@@ -158,16 +152,13 @@
         }
     }
 
-    const sidebarWidth = sidebarIsOpen ? 200 : 50;
-    const contentPadding = 10; // 棰勭暀杈硅窛
-    const rightDrawerWidth = drawerVal ? PAGE_DRAWER_WIDTH : 0;
-    const boxMaxWidth = `calc(100vw - ${sidebarWidth + rightDrawerWidth + contentPadding}px)`;
-    // 璁$畻 maxHeight: 100vh - (Header+Tabs 86px) - (Toolbar ~50px) - (Filters ~60px) - (Pagination ~50px) - (Padding ~40px) 鈮� 290px
-    const boxMaxHeight = `calc(100vh - 210px)`;
+    const { boxMaxWidth, boxMaxHeight } = useTableLayout(drawerVal);
+
+
 
     return (
         <Box sx={{
-            position: 'relative',           
+            position: 'relative',
             maxHeight: boxMaxHeight,
             maxWidth: boxMaxWidth,
             overflowX: 'auto',
@@ -188,24 +179,19 @@
                 />
             )}
             {columns.length > 0 &&
-                <DataTable
+                <StickyDataTable
+                    footerConfig={[
+                        { field: 'anfme', type: 'sum', label: 'table.field.asnOrderItem.anfme' },
+                        { field: 'qty', type: 'max', label: 'table.field.asnOrderItem.qty' },
+                    ]}
+                    // stickyRight={['createTime']}
                     storeKey='asnOrderItem'
                     bulkActionButtons={false}
                     rowClick={false}
                     hiddenColumns={omittedFields}
                 >
-                    {columns
-                        .map((column) => (
-                            <DataTable.Col
-                                key={column.key || column.props.source}
-                                source={column.props.source}
-                                label={column.props.label}
-                            >
-                                {column}
-                            </DataTable.Col>
-                        ))
-                    }
-                </DataTable>}
+                    {columns}
+                </StickyDataTable>}
         </Box>
     )
 }

--
Gitblit v1.9.1