From a7e9d0a982fc4e2d8e88d397d259dd3ebcfc2cff Mon Sep 17 00:00:00 2001
From: verou <857149855@qq.com>
Date: 星期二, 18 三月 2025 11:13:26 +0800
Subject: [PATCH] fix:物料导入修改

---
 rsf-admin/src/page/basicInfo/loc/LocList.jsx |   67 ++++++++++++++++++++++++++++++++-
 1 files changed, 64 insertions(+), 3 deletions(-)

diff --git a/rsf-admin/src/page/basicInfo/loc/LocList.jsx b/rsf-admin/src/page/basicInfo/loc/LocList.jsx
index fbbecc9..b9b2578 100644
--- a/rsf-admin/src/page/basicInfo/loc/LocList.jsx
+++ b/rsf-admin/src/page/basicInfo/loc/LocList.jsx
@@ -42,11 +42,13 @@
 import MyCreateButton from "../../components/MyCreateButton";
 import MyExportButton from '../../components/MyExportButton';
 import InitButton from './InitButton';
+import BatchModal from './BatchModal';
 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 DashboardIcon from '@mui/icons-material/Dashboard';
+import EditIcon from '@mui/icons-material/Edit';
 import request from '@/utils/request';
 
 const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
@@ -132,10 +134,14 @@
             >
                 <StyledDatagrid
                     preferenceKey='loc'
-                    bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />}
-                    rowClick={(id, resource, record) => false}
+                    bulkActionButtons={
+                        <>
+                            <BatchButton />
+                            <BulkDeleteButton />
+                        </>
+                    }
+                    rowClick={() => false}
                     expand={() => <LocPanel />}
-                    expandSingle={true}
                     omit={['id', 'createTime', 'createBy', 'memo']}
                 >
                     <NumberField source="id" />
@@ -217,3 +223,58 @@
 
     )
 }
+
+const BatchButton = () => {
+    const record = useRecordContext();
+    const notify = useNotify();
+    const refresh = useRefresh();
+    const { selectedIds } = useListContext();
+    console.log(selectedIds)
+
+    const [createDialog, setCreateDialog] = useState(false);
+
+    return (
+        <>
+            <Button onClick={() => setCreateDialog(true)} label={"toolbar.batch"}>
+                <EditIcon />
+            </Button>
+
+            <BatchModal
+                open={createDialog}
+                setOpen={setCreateDialog}
+            />
+        </>
+
+    )
+}
+const CustomBulkActionButton = () => {
+    const { selectedIds } = useListContext();
+    const notify = useNotify();
+    const refresh = useRefresh();
+
+    const handleCustomBulkAction = async () => {
+        if (selectedIds.length === 0) {
+            notify('璇烽�夋嫨瑕佹搷浣滅殑璁板綍');
+            return;
+        }
+        // 杩欓噷鍐欏叿浣撶殑鎵归噺鎿嶄綔閫昏緫锛屼緥濡傚悜鏈嶅姟鍣ㄥ彂閫佽姹�
+        try {
+            const res = await request.post('/loc/bulk-action', { ids: selectedIds });
+            if (res?.data?.code === 200) {
+                refresh();
+                notify('鎵归噺鎿嶄綔鎴愬姛');
+            } else {
+                notify(res.data.msg);
+            }
+        } catch (error) {
+            notify('鎵归噺鎿嶄綔澶辫触锛岃绋嶅悗閲嶈瘯');
+        }
+    };
+
+    return (
+        <Button onClick={handleCustomBulkAction} label="鑷畾涔夋壒閲忔搷浣�">
+            {/* 鍙互娣诲姞鑷畾涔夊浘鏍� */}
+            <EditIcon />
+        </Button>
+    );
+};
\ No newline at end of file

--
Gitblit v1.9.1