From 014270352f8e19b51bbb4367ae2ff256050a30a2 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期二, 22 四月 2025 14:03:42 +0800
Subject: [PATCH] #修改优化   1. 字典优化修改   2. 编码规则优化   3. 出库单编码生成为空问题修复

---
 rsf-admin/src/page/waitPakin/WaitPakinList.jsx |   80 +++++++++++++++++++++++++---------------
 1 files changed, 50 insertions(+), 30 deletions(-)

diff --git a/rsf-admin/src/page/waitPakin/WaitPakinList.jsx b/rsf-admin/src/page/waitPakin/WaitPakinList.jsx
index d25f626..c593b01 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,28 +54,25 @@
     },
     '& .column-name': {
     },
+    '& .column-statusBool': {
+        width: 90
+    },
     '& .opt': {
-        width: 200
+        width: 180
     },
 }));
 
 const filters = [
     <SearchInput source="condition" alwaysOn />,
-    <DateInput label='common.time.after' source="timeStart" alwaysOn />,
-    <DateInput label='common.time.before' source="timeEnd" 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"
         choices={[
             { id: 0, name: '寰呭叆搴�' },
-            { id:  1, name: ' 鍏ュ簱涓�' },
+            { id: 1, name: ' 鍏ュ簱涓�' },
         ]}
     />,
-
     <TextInput label="common.field.memo" source="memo" />,
     <SelectInput
         label="common.field.status"
@@ -89,20 +87,46 @@
 
 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)
+            refresh()
+        }
+
+        return (
+            <>
+                <Button onClick={() => createTask()} label={"toolbar.createTask"}>
+                    <AddIcon />
+                </Button>
+            </>
+        )
+    }
+
+    const BulkActionButtons = () => {
+
+    }
     return (
         <Box display="flex">
             <List
+                resource="waitPakin"
                 sx={{
                     flexGrow: 1,
                     transition: (theme) =>
                         theme.transitions.create(['all'], {
                             duration: theme.transitions.duration.enteringScreen,
                         }),
-                    marginRight: !!drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0,
+                    marginRight: drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0,
                 }}
                 title={"menu.waitPakin"}
                 empty={<EmptyData onClick={() => { setCreateDialog(true) }} />}
@@ -111,7 +135,6 @@
                 actions={(
                     <TopToolbar>
                         <FilterButton />
-                        <MyCreateButton onClick={() => { setCreateDialog(true) }} />
                         <SelectColumnsButton preferenceKey='waitPakin' />
                         <MyExportButton />
                     </TopToolbar>
@@ -120,36 +143,31 @@
             >
                 <StyledDatagrid
                     preferenceKey='waitPakin'
-                    bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />}
-                    rowClick={(id, resource, record) => false}
-                    expand={() => <WaitPakinPanel />}
-                    expandSingle={true}
+                    bulkActionButtons={
+                        <>
+                            <CreateTaskButton />
+                            <BulkDeleteButton mutationMode={OPERATE_MODE} />
+                        </>}
+                    rowClick='edit'
                     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} />
-
-                    <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' }} />
-                        <DeleteButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} />
+                        <EditButton label="toolbar.detail" sx={{ padding: '1px', fontSize: '.75rem' }} />
+                        {/* <DeleteButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} /> */}
                     </WrapperField>
                 </StyledDatagrid>
             </List>
+            <SelectSiteModel open={siteDialog} setOpen={setSiteDialog} source={source} />
             <WaitPakinCreate
                 open={createDialog}
                 setOpen={setCreateDialog}
@@ -165,3 +183,5 @@
 }
 
 export default WaitPakinList;
+
+

--
Gitblit v1.9.1