From 9f5e97c05c5d503dab0ecef9a8a2139e50087690 Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期五, 27 二月 2026 16:40:19 +0800
Subject: [PATCH] lsh#
---
rsf-admin/src/page/basicInfo/basStation/BasStationList.jsx | 78 ++++++++++++++++++++++++++------------
1 files changed, 53 insertions(+), 25 deletions(-)
diff --git a/rsf-admin/src/page/basicInfo/basStation/BasStationList.jsx b/rsf-admin/src/page/basicInfo/basStation/BasStationList.jsx
index eb4489a..ec224ff 100644
--- a/rsf-admin/src/page/basicInfo/basStation/BasStationList.jsx
+++ b/rsf-admin/src/page/basicInfo/basStation/BasStationList.jsx
@@ -35,8 +35,10 @@
} from 'react-admin';
import { Box, Typography, Card, Stack, Button } from '@mui/material';
import ContentCopyIcon from '@mui/icons-material/ContentCopy';
+import PlaylistAddIcon from '@mui/icons-material/PlaylistAdd';
import { styled } from '@mui/material/styles';
import BasStationCreate from "./BasStationCreate";
+import BasStationInitModal from "./BasStationInitModal";
import BasStationPanel from "./BasStationPanel";
import EmptyData from "../../components/EmptyData";
import MyCreateButton from "../../components/MyCreateButton";
@@ -94,28 +96,37 @@
resettable
/>,
]
-const CopyButton = ({ setCopyRecord, setCreateDialog }) => {
- const record = useRecordContext();
- const translate = useTranslate();
- if (!record) return null;
- return (
- <Button
- size="small"
- startIcon={<ContentCopyIcon fontSize="small" />}
- sx={{ padding: '1px', fontSize: '.75rem', minWidth: 'auto' }}
- onClick={(e) => {
- e.stopPropagation();
- const { id, createTime, updateTime, createBy, updateBy, createBy$, updateBy$, ...rest } = record;
- const copied = { ...rest };
- if (record.areaIds) copied.areaIds = [...(Array.isArray(record.areaIds) ? record.areaIds : [])];
- if (record.containerTypes) copied.containerTypes = [...(Array.isArray(record.containerTypes) ? record.containerTypes : [])];
- setCopyRecord(copied);
- setCreateDialog(true);
- }}
- >
- {translate('toolbar.copy')}
- </Button>
- );
+const CopyButton = ({ setInitCopyData, setInitDialogOpen }) => {
+ const record = useRecordContext();
+ const translate = useTranslate();
+ if (!record) return null;
+ return (
+ <Button
+ size="small"
+ startIcon={<ContentCopyIcon fontSize="small" />}
+ sx={{ padding: '1px', fontSize: '.75rem', minWidth: 'auto' }}
+ onClick={(e) => {
+ e.stopPropagation();
+ const pairs = [{ stationName: record.stationName ?? '', stationId: record.stationId ?? '' }];
+ const areaIds = Array.isArray(record.areaIds) ? [...record.areaIds] : [];
+ const containerTypes = Array.isArray(record.containerTypes) ? [...record.containerTypes] : [];
+ setInitCopyData({
+ pairs,
+ common: {
+ type: record.type ?? 0,
+ useStatus: record.useStatus ?? '',
+ areaIds,
+ containerTypes,
+ inAble: record.inAble ?? 0,
+ outAble: record.outAble ?? 0,
+ },
+ });
+ setInitDialogOpen(true);
+ }}
+ >
+ {translate('toolbar.copy')}
+ </Button>
+ );
};
const BasStationList = () => {
const translate = useTranslate();
@@ -125,6 +136,8 @@
const [areaFieldDialog, setAreaFieldDialog] = useState(false);
const [areaFieldDialog2, setAreaFieldDialog2] = useState(false);
const [copyRecord, setCopyRecord] = useState(null);
+ const [initDialogOpen, setInitDialogOpen] = useState(false);
+ const [initCopyData, setInitCopyData] = useState(null);
return (
<Box display="flex">
<List
@@ -144,6 +157,16 @@
<TopToolbar>
<FilterButton />
<MyCreateButton onClick={() => { setCreateDialog(true) }} />
+ <Button
+ variant="text"
+ color="primary"
+ size="small"
+ startIcon={<PlaylistAddIcon />}
+ onClick={() => setInitDialogOpen(true)}
+ sx={{ ml: 1 }}
+ >
+ {translate('toolbar.siteInit')}
+ </Button>
<SelectColumnsButton preferenceKey='basStation' />
<MyExportButton />
</TopToolbar>
@@ -186,7 +209,7 @@
<FunctionField
source="outAble"
label="table.field.basStation.outAble"
- render={record => record.inAble === 1 ? '鏄�' : '鍚�'}
+ render={record => record.outAble === 1 ? '鏄�' : '鍚�'}
/>
<NumberField source="area$" label="table.field.basStation.area" />
<FunctionField
@@ -225,7 +248,7 @@
{/* <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">
- <CopyButton setCopyRecord={setCopyRecord} setCreateDialog={setCreateDialog} />
+ <CopyButton setInitCopyData={setInitCopyData} setInitDialogOpen={setInitDialogOpen} />
<EditButton sx={{ padding: '1px', fontSize: '.75rem' }} />
<DeleteButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} />
</WrapperField>
@@ -238,7 +261,12 @@
copyRecord={copyRecord}
onClose={() => setCopyRecord(null)}
/>
-
+ <BasStationInitModal
+ open={initDialogOpen}
+ setOpen={setInitDialogOpen}
+ initialData={initCopyData}
+ onClose={() => setInitCopyData(null)}
+ />
<PageDrawer
title='BasStation Detail'
drawerVal={drawerVal}
--
Gitblit v1.9.1