From 27f59f44345d044967e2048f09dbd704f90ce3db Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期五, 25 四月 2025 17:51:20 +0800
Subject: [PATCH] #新增 1. 新增波次功能 2. 库区新增优化
---
rsf-admin/src/page/orders/wave/WaveList.jsx | 70 +++++++++++++++++++++++++----------
1 files changed, 50 insertions(+), 20 deletions(-)
diff --git a/rsf-admin/src/page/wave/WaveList.jsx b/rsf-admin/src/page/orders/wave/WaveList.jsx
similarity index 77%
rename from rsf-admin/src/page/wave/WaveList.jsx
rename to rsf-admin/src/page/orders/wave/WaveList.jsx
index 1ee5b56..73596e2 100644
--- a/rsf-admin/src/page/wave/WaveList.jsx
+++ b/rsf-admin/src/page/orders/wave/WaveList.jsx
@@ -31,18 +31,24 @@
ReferenceArrayInput,
AutocompleteInput,
DeleteButton,
+ useRefresh,
+ useRedirect,
+ Button,
} from 'react-admin';
import { Box, Typography, Card, Stack } from '@mui/material';
import { styled } from '@mui/material/styles';
import WaveCreate from "./WaveCreate";
import WavePanel from "./WavePanel";
-import EmptyData from "../components/EmptyData";
-import MyCreateButton from "../components/MyCreateButton";
-import MyExportButton from '../components/MyExportButton';
-import PageDrawer from "../components/PageDrawer";
-import MyField from "../components/MyField";
+import EmptyData from "../../components/EmptyData";
+import MyCreateButton from "../../components/MyCreateButton";
+import MyExportButton from '../../components/MyExportButton';
+import PageDrawer from "../../components/PageDrawer";
+import MyField from "../../components/MyField";
+import request from '@/utils/request';
import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting';
import * as Common from '@/utils/common';
+import PublicIcon from '@mui/icons-material/Public';
+
const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
'& .css-1vooibu-MuiSvgIcon-root': {
@@ -96,7 +102,6 @@
const WaveList = () => {
const translate = useTranslate();
-
const [createDialog, setCreateDialog] = useState(false);
const [drawerVal, setDrawerVal] = useState(false);
@@ -112,26 +117,26 @@
marginRight: !!drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0,
}}
title={"menu.wave"}
- empty={<EmptyData onClick={() => { setCreateDialog(true) }} />}
+ empty={false}
filters={filters}
sort={{ field: "create_time", order: "desc" }}
actions={(
<TopToolbar>
<FilterButton />
- <MyCreateButton onClick={() => { setCreateDialog(true) }} />
<SelectColumnsButton preferenceKey='wave' />
- <MyExportButton />
</TopToolbar>
)}
perPage={DEFAULT_PAGE_SIZE}
>
<StyledDatagrid
preferenceKey='wave'
- bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />}
+ bulkActionButtons={
+ <PublicTaskButton />
+ }
rowClick={(id, resource, record) => false}
- expand={() => <WavePanel />}
- expandSingle={true}
- omit={['id', 'createTime', 'createBy', 'memo']}
+ expand={false}
+ expandSingle={false}
+ omit={['id', 'createTime', 'createBy', 'memo', 'createBy$']}
>
<NumberField source="id" />
<TextField source="code" label="table.field.wave.code" />
@@ -140,14 +145,9 @@
<NumberField source="anfme" label="table.field.wave.anfme" />
<NumberField source="qty" label="table.field.wave.qty" />
<NumberField source="orderNum" label="table.field.wave.orderNum" />
-
- <ReferenceField source="updateBy" label="common.field.updateBy" reference="user" link={false} sortable={false}>
- <TextField source="nickname" />
- </ReferenceField>
+ <TextField source="updateBy$" label="common.field.updateBy" />
<DateField source="updateTime" label="common.field.updateTime" showTime />
- <ReferenceField source="createBy" label="common.field.createBy" reference="user" link={false} sortable={false}>
- <TextField source="nickname" />
- </ReferenceField>
+ <TextField source="createBy$" label="common.field.createBy" />
<DateField source="createTime" label="common.field.createTime" showTime />
<BooleanField source="statusBool" label="common.field.status" sortable={false} />
<TextField source="memo" label="common.field.memo" sortable={false} />
@@ -172,3 +172,33 @@
}
export default WaveList;
+
+const PublicTaskButton = () => {
+ const record = useRecordContext();
+ const { selectedIds, onUnselectItems } = useListContext();
+ const notify = useNotify();
+ const refresh = useRefresh();
+ const redirect = useRedirect();
+
+ const pubClick = async (event) => {
+ event.stopPropagation();
+ console.log('=========>');
+
+ onUnselectItems();
+ const res = await request.post(`/wave/public/task`, { ids: selectedIds });
+ if (res?.data?.code === 200) {
+ notify(res.data.msg);
+ redirect("/task")
+ } else {
+ notify(res.data.msg);
+ }
+ refresh();
+ }
+
+ return (
+ <Button
+ onClick={pubClick}
+ label={"toolbar.createTask"}
+ startIcon={<PublicIcon />}
+ />);
+}
\ No newline at end of file
--
Gitblit v1.9.1