From 45a230e870b26b51d3006273a36df78203521253 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期一, 28 四月 2025 21:28:48 +0800
Subject: [PATCH] 入库单数据显示异常问题修复

---
 rsf-admin/src/page/orders/wave/ItemToTaskModal.jsx |   48 ++++++++++++++++++++++++++++++++++--------------
 1 files changed, 34 insertions(+), 14 deletions(-)

diff --git a/rsf-admin/src/page/orders/wave/ItemToTaskModal.jsx b/rsf-admin/src/page/orders/wave/ItemToTaskModal.jsx
index 6b6c39e..2f81a39 100644
--- a/rsf-admin/src/page/orders/wave/ItemToTaskModal.jsx
+++ b/rsf-admin/src/page/orders/wave/ItemToTaskModal.jsx
@@ -37,11 +37,10 @@
     ListContextProvider,
     useList,
     Toolbar,
-    SingleFieldList,
 } from 'react-admin';
 
 import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting';
-import { Box, Typography, Card, Stack, DialogContent, DialogTitle, DialogActions, Dialog } from '@mui/material';
+import { Box, Typography, Card, Stack, DialogContent, DialogTitle, DialogActions, Dialog, Chip, ListItem, Paper } from '@mui/material';
 import { styled } from '@mui/material/styles';
 import DialogCloseButton from "../../components/DialogCloseButton";
 import request from '@/utils/request';
@@ -131,7 +130,6 @@
                             <NumberField source="waveId" label="table.field.waveItem.waveId" />
                             <TextField source="waveCode" label="table.field.waveItem.waveCode" />
                             <TextField source="orderCode" label="table.field.waveItem.orderCode" />
-                            {/* <TextField source="maktx" label="table.field.waveItem.matnrName" /> */}
                             <NumberField source="matnrId" label="table.field.waveItem.matnrId" />
                             <TextField source="matnrCode" label="table.field.waveItem.matnrCode" />
                             <TextField source="batch" label="table.field.waveItem.batch" />
@@ -143,22 +141,16 @@
                             <NumberField source="anfme" label="table.field.waveItem.anfme" />
                             <NumberField source="workQty" label="table.field.waveItem.workQty" />
                             <NumberField source="qty" label="table.field.waveItem.qty" />
+                            <NumberField source="stockQty" label="table.field.waveItem.stockQty" />
                             <WrapperField cellClassName="opt" label="table.field.waveItem.stockLocs">
-                                <ArrayField source="stockLocs" stockLocs="table.field.waveItem.stockLocs">
-                                    <SingleFieldList linkType={false}>
-                                        <ChilpField source="" size="small"></ChilpField>
-                                    </SingleFieldList>
-                                </ArrayField>
-                                {/* <NumberField source="anfme" label="table.field.waveItem.stockLocs" /> */}
-                                {/* <EditButton sx={{ padding: '1px', fontSize: '.75rem' }} />
-                                <DeleteButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} /> */}
+                                <TagsField />
                             </WrapperField>
                         </StyledDatagrid>
                     </ListContextProvider>
                 </DialogContent>
                 <DialogActions>
                     <Toolbar sx={{ width: '100%', justifyContent: 'end' }} >
-                        <GenerateTaskButton record={[record?.id]} />
+                        <GenerateTaskButton record={[record?.id]} dataSource={data} />
                     </Toolbar>
                 </DialogActions>
             </Dialog>
@@ -168,12 +160,12 @@
 
 export default ItemToTaskModal;
 
-const GenerateTaskButton = (record) => {
+const GenerateTaskButton = (record, dataSource) => {
     const refresh = useRefresh();
     const notify = useNotify();
     const redirect = useRedirect();
     const generateTask = async () => {
-        const res = await request.post(`/wave/public/task`, { ids: record?.record });
+        const res = await request.post(`/wave/public/task`, { wave: record, waveItem: dataSource });
         if (res?.data?.code === 200) {
             notify(res.data.msg);
             redirect("/task")
@@ -183,4 +175,32 @@
         refresh();
     }
     return (<Button variant="contained" label={"ra.action.save"} onClick={generateTask}></Button>)
+}
+
+const TagsField = () => {
+    const record = useRecordContext();
+    const translate = useTranslate();
+    const locs = JSON.parse(record.stockLocs);
+    if (locs == undefined || locs.length < 1) {
+        return (
+            <>
+                <ListItem>
+                    <Chip color="error" label={translate("common.action.stockError")} variant="outlined" />
+                </ListItem>
+            </>
+        )
+    } else {
+        return (
+            <>
+                {locs.map((data) => {
+                    return (
+                        <ListItem key={data?.id}>
+                            <Chip label={data?.locCode} />
+                        </ListItem>
+                    )
+                })}
+            </>
+        )
+    }
+
 }
\ No newline at end of file

--
Gitblit v1.9.1