From c0a87b9244e1521c76b8a0dc70b922f6fc3e30a1 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期四, 17 七月 2025 16:35:23 +0800 Subject: [PATCH] Merge branch 'devlop' of http://47.97.1.152:5880/r/wms-master into devlop --- rsf-admin/src/page/waitPakin/WaitPakinList.jsx | 123 +++++++++++++++++++++++------------------ 1 files changed, 69 insertions(+), 54 deletions(-) diff --git a/rsf-admin/src/page/waitPakin/WaitPakinList.jsx b/rsf-admin/src/page/waitPakin/WaitPakinList.jsx index 11405c2..e63471c 100644 --- a/rsf-admin/src/page/waitPakin/WaitPakinList.jsx +++ b/rsf-admin/src/page/waitPakin/WaitPakinList.jsx @@ -37,16 +37,13 @@ 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 request from '@/utils/request'; +import SelectSiteModel from "./SelectSiteModel"; const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({ '& .css-1vooibu-MuiSvgIcon-root': { @@ -57,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" @@ -76,7 +78,6 @@ { id: 1, name: ' 鍏ュ簱涓�' }, ]} />, - <TextInput label="common.field.memo" source="memo" />, <SelectInput label="common.field.status" @@ -91,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) => @@ -107,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> @@ -122,36 +166,32 @@ > <StyledDatagrid preferenceKey='waitPakin' - bulkActionButtons={<> <CreateTaskButton /> <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} @@ -168,31 +208,6 @@ export default WaitPakinList; -const CreateTaskButton = () => { - const record = useRecordContext(); - const notify = useNotify(); - const refresh = useRefresh(); - const { selectedIds, onUnselectItems, data } = useListContext(); - const createTask = async () => { - const rows = data.filter((item) => selectedIds.includes(item.id)) || []; - const res = await request.post(`/waitPakin/merge`, rows); - if (res?.data?.code === 200) { - refresh() - notify(res.data.msg); - - } else { - notify(res.data.msg); - } - } - - return ( - <> - <Button onClick={() => createTask()} label={"toolbar.createTask"}> - <AddIcon /> - </Button> - </> - ) -} -- Gitblit v1.9.1