From 5c1e5f8ce5e53c187f100f5d786a77991198960a Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期二, 18 三月 2025 15:23:44 +0800
Subject: [PATCH] 修改 # 物料导入导出添加动态扩展字段
---
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