From d086af5559dba52095d23e425be87d8f11f24814 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期四, 17 七月 2025 16:32:47 +0800 Subject: [PATCH] #菜单、po单 --- rsf-admin/src/page/waitPakin/WaitPakinList.jsx | 104 ++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 76 insertions(+), 28 deletions(-) diff --git a/rsf-admin/src/page/waitPakin/WaitPakinList.jsx b/rsf-admin/src/page/waitPakin/WaitPakinList.jsx index b8cd4cd..e63471c 100644 --- a/rsf-admin/src/page/waitPakin/WaitPakinList.jsx +++ b/rsf-admin/src/page/waitPakin/WaitPakinList.jsx @@ -31,18 +31,19 @@ ReferenceArrayInput, AutocompleteInput, DeleteButton, + Button, + useRefresh } from 'react-admin'; import { Box, Typography, Card, Stack } from '@mui/material'; import { styled } from '@mui/material/styles'; import WaitPakinCreate from "./WaitPakinCreate"; -import WaitPakinPanel from "./WaitPakinPanel"; +import ConfirmButton from "../components/ConfirmButton"; 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 { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting'; -import * as Common from '@/utils/common'; +import AddIcon from '@mui/icons-material/Add'; +import SelectSiteModel from "./SelectSiteModel"; const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({ '& .css-1vooibu-MuiSvgIcon-root': { @@ -53,17 +54,22 @@ }, '& .column-name': { }, - '& .opt': { - width: 200 + '& .column-statusBool': { + width: 90 }, + '& .opt': { + width: 210 + }, + '& .MuiTableCell-root': { + whiteSpace: 'nowrap', + overflow: 'visible', + textOverflow: 'unset' + } })); const filters = [ <SearchInput source="condition" alwaysOn />, - <TextInput source="code" label="table.field.waitPakin.code" />, - <NumberInput source="ansId" label="table.field.waitPakin.ansId" />, - <TextInput source="asnCode" label="table.field.waitPakin.asnCode" />, <TextInput source="barcode" label="table.field.waitPakin.barcode" />, <NumberInput source="anfme" label="table.field.waitPakin.anfme" />, <SelectInput source="ioStatus" label="table.field.waitPakin.ioStatus" @@ -72,7 +78,6 @@ { id: 1, name: ' 鍏ュ簱涓�' }, ]} />, - <TextInput label="common.field.memo" source="memo" />, <SelectInput label="common.field.status" @@ -87,13 +92,57 @@ const WaitPakinList = () => { const translate = useTranslate(); - const [createDialog, setCreateDialog] = useState(false); + const [siteDialog, setSiteDialog] = useState(false); + const [source, setSource] = useState(false); const [drawerVal, setDrawerVal] = useState(false); + + const CreateTaskButton = () => { + const record = useRecordContext(); + const notify = useNotify(); + const refresh = useRefresh(); + const { selectedIds, onUnselectItems, data } = useListContext(); + const rows = data.filter(map => selectedIds.includes(map.id)); + const createTask = () => { + setSiteDialog(true) + setSource(rows) + onUnselectItems() + refresh() + } + + return ( + <> + <Button onClick={() => createTask()} label={"toolbar.createTask"}> + <AddIcon /> + </Button> + </> + ) + } + + const CreateTaskRowButton = () => { + const record = useRecordContext(); + const refresh = useRefresh(); + + const createTask = (event) => { + event.stopPropagation(); + setSiteDialog(true) + setSource([record]) + refresh() + } + + return ( + <> + <Button onClick={(event) => createTask(event)} label={"toolbar.createTask"}> + <AddIcon /> + </Button> + </> + ) + } return ( <Box display="flex"> <List + resource="waitPakin" sx={{ flexGrow: 1, transition: (theme) => @@ -103,13 +152,12 @@ marginRight: drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0, }} title={"menu.waitPakin"} - empty={<EmptyData onClick={() => { setCreateDialog(true) }} />} + empty={false} filters={filters} sort={{ field: "create_time", order: "desc" }} actions={( <TopToolbar> <FilterButton /> - {/* <MyCreateButton onClick={() => { setCreateDialog(true) }} /> */} <SelectColumnsButton preferenceKey='waitPakin' /> <MyExportButton /> </TopToolbar> @@ -118,36 +166,32 @@ > <StyledDatagrid preferenceKey='waitPakin' - bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />} - rowClick={(id, resource, record) => false} - expand={() => <WaitPakinPanel />} - expandSingle={true} - omit={['id', 'createTime', 'createBy', 'memo']} + bulkActionButtons={ + <> + <CreateTaskButton /> + {/* <BulkDeleteButton mutationMode={OPERATE_MODE} /> */} + </>} + rowClick={false} + omit={['id', 'createTime', 'createBy', 'memo','statusBool']} > <NumberField source="id" /> <TextField source="code" label="table.field.waitPakin.code" /> - {/* <NumberField source="ansId" label="table.field.waitPakin.ansId" /> */} - {/* <TextField source="asnCode" label="table.field.waitPakin.asnCode" /> */} <TextField source="barcode" label="table.field.waitPakin.barcode" /> <NumberField source="anfme" label="table.field.waitPakin.anfme" /> <TextField source="ioStatus$" label="table.field.waitPakin.ioStatus" sortable={false} /> - - <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> <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} /> <WrapperField cellClassName="opt" label="common.field.opt"> - {/* <EditButton sx={{ padding: '1px', fontSize: '.75rem' }} /> */} + <EditButton label="toolbar.detail" sx={{ padding: '1px', fontSize: '.75rem' }} /> + <CreateTaskRowButton /> <DeleteButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} /> </WrapperField> </StyledDatagrid> </List> + <SelectSiteModel open={siteDialog} setOpen={setSiteDialog} source={source} /> <WaitPakinCreate open={createDialog} setOpen={setCreateDialog} @@ -163,3 +207,7 @@ } export default WaitPakinList; + + + + -- Gitblit v1.9.1