From b5e8045d5f5b5401b696db12f62fdbcc86dc5c5d Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期四, 10 四月 2025 11:40:02 +0800
Subject: [PATCH] Merge branch 'devlop' of http://47.97.1.152:5880/r/wms-master into devlop

---
 rsf-admin/src/page/warehouseAreas/WarehouseAreasList.jsx |  111 +++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 102 insertions(+), 9 deletions(-)

diff --git a/rsf-admin/src/page/warehouseAreas/WarehouseAreasList.jsx b/rsf-admin/src/page/warehouseAreas/WarehouseAreasList.jsx
index 8a95d66..c90866a 100644
--- a/rsf-admin/src/page/warehouseAreas/WarehouseAreasList.jsx
+++ b/rsf-admin/src/page/warehouseAreas/WarehouseAreasList.jsx
@@ -31,6 +31,8 @@
     ReferenceArrayInput,
     AutocompleteInput,
     DeleteButton,
+    useRefresh,
+    Button
 } from 'react-admin';
 import { Box, Typography, Card, Stack } from '@mui/material';
 import { styled } from '@mui/material/styles';
@@ -40,9 +42,10 @@
 import MyCreateButton from "../components/MyCreateButton";
 import MyExportButton from '../components/MyExportButton';
 import PageDrawer from "../components/PageDrawer";
-import MyField from "../components/MyField";
+import BatchModal from "./BatchModal";
 import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting';
 import * as Common from '@/utils/common';
+import EditIcon from '@mui/icons-material/Edit';
 
 const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
     '& .css-1vooibu-MuiSvgIcon-root': {
@@ -60,7 +63,17 @@
 
 const filters = [
     <SearchInput source="condition" alwaysOn />,
-
+    <ReferenceInput
+        source="warehouseId"
+        label="table.field.loc.warehouseId"
+        reference="warehouse"
+    >
+        <AutocompleteInput
+            label="table.field.loc.warehouseId"
+            optionText="name"
+            filterToQuery={(val) => ({ name: val })}
+        />
+    </ReferenceInput>,
     <TextInput source="uuid" label="table.field.warehouseAreas.uuid" />,
     <TextInput source="name" label="table.field.warehouseAreas.name" />,
     <TextInput source="code" label="table.field.warehouseAreas.code" />,
@@ -119,7 +132,7 @@
                 title={"menu.warehouseAreas"}
                 empty={<EmptyData onClick={() => { setCreateDialog(true) }} />}
                 filters={filters}
-                sort={{ field: "create_time", order: "desc" }}
+                sort={{ field: "warehouseId", order: "desc" }}
                 actions={(
                     <TopToolbar>
                         <FilterButton />
@@ -132,19 +145,26 @@
             >
                 <StyledDatagrid
                     preferenceKey='warehouseAreas'
-                    bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />}
+                    bulkActionButtons={
+                        <>
+                            <WareButton />
+                            <MixButton />
+                            <StatusButton />
+                            <BulkDeleteButton mutationMode={OPERATE_MODE} />
+                        </>
+                    }
                     rowClick={(id, resource, record) => false}
-                    expand={() => <WarehouseAreasPanel />}
-                    expandSingle={true}
                     omit={['id', 'createTime', 'createBy', 'memo']}
                 >
                     <NumberField source="id" />
-                    <TextField source="uuid" label="table.field.warehouseAreas.uuid" />
+                    {/* <TextField source="uuid" label="table.field.warehouseAreas.uuid" /> */}
                     <TextField source="name" label="table.field.warehouseAreas.name" />
                     <TextField source="code" label="table.field.warehouseAreas.code" />
-                    <ReferenceField source="shipperId" label="table.field.warehouseAreas.shipperId" reference="shipper" link={false} sortable={false}>
+                    {/* <ReferenceField source="shipperId" label="table.field.warehouseAreas.shipperId" reference="shipper" link={false} sortable={false}>
                         <TextField source="name" />
-                    </ReferenceField>
+                    </ReferenceField> */}
+                    <TextField source="warehouseId$" label="table.field.warehouseAreas.wareId" />
+                    <TextField source="shipperId$" label="table.field.warehouseAreas.shipperId" />
                     <NumberField source="supplierId" label="table.field.warehouseAreas.supplierId" />
                     <TextField source="flagMinus$" label="table.field.warehouseAreas.flagMinus" sortable={false} />
                     <TextField source="flagLabelMange$" label="table.field.warehouseAreas.flagLabelMange" sortable={false} />
@@ -181,3 +201,76 @@
 }
 
 export default WarehouseAreasList;
+
+
+const MixButton = () => {
+    const record = useRecordContext();
+    const notify = useNotify();
+    const refresh = useRefresh();
+
+
+    const [createDialog, setCreateDialog] = useState(false);
+
+    return (
+        <>
+            <Button onClick={() => setCreateDialog(true)} label={"toolbar.batchMix"}>
+                <EditIcon />
+            </Button>
+
+            <BatchModal
+                open={createDialog}
+                setOpen={setCreateDialog}
+                fieldType={'flagMix'}
+            />
+        </>
+
+    )
+}
+
+const WareButton = () => {
+    const record = useRecordContext();
+    const notify = useNotify();
+    const refresh = useRefresh();
+
+
+    const [createDialog, setCreateDialog] = useState(false);
+
+    return (
+        <>
+            <Button onClick={() => setCreateDialog(true)} label={"toolbar.batchWarehouse"}>
+                <EditIcon />
+            </Button>
+
+            <BatchModal
+                open={createDialog}
+                setOpen={setCreateDialog}
+                fieldType={'wareId'}
+            />
+        </>
+
+    )
+}
+
+const StatusButton = () => {
+    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