From b011b1368c2f8813ef2684a4a63914e6e59b5e15 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期四, 05 六月 2025 17:06:51 +0800
Subject: [PATCH] DO单优化 出库单优化

---
 rsf-admin/src/page/waitPakin/WaitPakinList.jsx |  101 +++++++++++++++++++++++++++++++-------------------
 1 files changed, 62 insertions(+), 39 deletions(-)

diff --git a/rsf-admin/src/page/waitPakin/WaitPakinList.jsx b/rsf-admin/src/page/waitPakin/WaitPakinList.jsx
index 39739cc..f8213de 100644
--- a/rsf-admin/src/page/waitPakin/WaitPakinList.jsx
+++ b/rsf-admin/src/page/waitPakin/WaitPakinList.jsx
@@ -37,13 +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 MyExportButton from '../components/MyExportButton';
 import PageDrawer from "../components/PageDrawer";
 import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting';
 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': {
@@ -54,16 +54,17 @@
     },
     '& .column-name': {
     },
+    '& .column-statusBool': {
+        width: 90
+    },
     '& .opt': {
-        width: 200
+        width: 210
     },
 }));
 
 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"
@@ -87,11 +88,56 @@
 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) =>
@@ -101,7 +147,7 @@
                     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={(
@@ -115,30 +161,32 @@
             >
                 <StyledDatagrid
                     preferenceKey='waitPakin'
-                    bulkActionButtons={<> <CreateTaskButton /> <BulkDeleteButton mutationMode={OPERATE_MODE} /></>}
-                    rowClick='edit'
-                    expand={false}
-                    expandSingle={true}
+                    bulkActionButtons={
+                        <>
+                            <CreateTaskButton />
+                            {/* <BulkDeleteButton mutationMode={OPERATE_MODE} /> */}
+                        </>}
+                    rowClick={false}
                     omit={['id', 'createTime', 'createBy', 'memo']}
                 >
                     <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} />
                     <TextField source="updateBy$" label="common.field.updateBy" />
-                    <DateField source="updateTime" label="common.field.updateTime" showTime  />
+                    <DateField source="updateTime" label="common.field.updateTime" showTime />
                     <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 label="toolbar.detail" sx={{ padding: '1px', fontSize: '.75rem' }} />
-                        {/* <DeleteButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} /> */}
+                        <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}
@@ -155,31 +203,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