From 1b07a3f11fd14d1a3c4b755021a28737ff4cdc75 Mon Sep 17 00:00:00 2001
From: verou <857149855@qq.com>
Date: 星期六, 29 三月 2025 13:27:32 +0800
Subject: [PATCH] fix:通知单新增字段

---
 rsf-admin/src/page/asnOrder/AsnOrderList.jsx                 |    4 
 rsf-admin/src/page/waitPakinLog/WaitPakinLogPanel.jsx        |  159 +++++++++++++---------
 rsf-admin/src/page/asnOrderLog/AsnOrderLogPanel.jsx          |    8 +
 rsf-admin/src/i18n/zh.js                                     |    8 
 rsf-admin/src/page/waitPakin/WaitPakinPanel.jsx              |  171 ++++++++++++++----------
 rsf-admin/src/page/waitPakinLog/WaitPakinLogList.jsx         |   10 
 rsf-admin/src/page/waitPakinItemLog/WaitPakinItemLogList.jsx |    6 
 7 files changed, 215 insertions(+), 151 deletions(-)

diff --git a/rsf-admin/src/i18n/zh.js b/rsf-admin/src/i18n/zh.js
index 2487bfe..1a7617c 100644
--- a/rsf-admin/src/i18n/zh.js
+++ b/rsf-admin/src/i18n/zh.js
@@ -150,10 +150,10 @@
         fieldsItem: '鎵╁睍瀛楁鏄庣粏',
         warehouseAreasItem: '搴撳尯搴撳瓨淇℃伅',
         deviceSite: '绔欑偣绠$悊',
-        waitPakin: '缁勬墭淇℃伅',
-        waitPakinItem: '缁勬墭淇℃伅鏄庣粏',
-        waitPakinLog: '缁勬墭鍘嗗彶',
-        waitPakinItemLog: '缁勬墭鍘嗗彶鏄庣粏',
+        waitPakin: '缁勬嫋閫氱煡妗�',
+        waitPakinItem: '缁勬嫋妗f槑缁�',
+        waitPakinLog: '缁勬嫋鍘嗗彶妗�',
+        waitPakinItemLog: '缁勬嫋鍘嗗彶妗f槑缁�',
     },
     table: {
         field: {
diff --git a/rsf-admin/src/page/asnOrder/AsnOrderList.jsx b/rsf-admin/src/page/asnOrder/AsnOrderList.jsx
index 31aaee8..3fa1990 100644
--- a/rsf-admin/src/page/asnOrder/AsnOrderList.jsx
+++ b/rsf-admin/src/page/asnOrder/AsnOrderList.jsx
@@ -147,8 +147,8 @@
           <TextField source="code" label="table.field.asnOrder.code" />
           <TextField source="poCode" label="table.field.asnOrder.poCode" />
           <NumberField source="poId" label="table.field.asnOrder.poId" />
-          <TextField source="type" label="table.field.asnOrder.type" />
-          <TextField source="wkType" label="table.field.asnOrder.wkType" />
+          <TextField source="type$" label="table.field.asnOrder.type" />
+          <TextField source="wkType$" label="table.field.asnOrder.wkType" />
           <NumberField source="anfme" label="table.field.asnOrder.anfme" />
           <NumberField source="qty" label="table.field.asnOrder.qty" />
           <TextField source="logisNo" label="table.field.asnOrder.logisNo" />
diff --git a/rsf-admin/src/page/asnOrderLog/AsnOrderLogPanel.jsx b/rsf-admin/src/page/asnOrderLog/AsnOrderLogPanel.jsx
index 347e38e..49a6832 100644
--- a/rsf-admin/src/page/asnOrderLog/AsnOrderLogPanel.jsx
+++ b/rsf-admin/src/page/asnOrderLog/AsnOrderLogPanel.jsx
@@ -81,6 +81,10 @@
             headerName: translate('table.field.asnOrderItemLog.qty')
         },
         {
+            field: 'splrBatch',
+            headerName: translate('table.field.asnOrderItem.splrBatch')
+        },
+        {
             field: 'splrCode',
             headerName: translate('table.field.asnOrderItemLog.splrCode')
         },
@@ -93,6 +97,10 @@
             headerName: translate('table.field.asnOrderItemLog.barcode')
         },
         {
+            field: 'prodTime',
+            headerName: translate('table.field.asnOrderItem.prodTime')
+        },
+        {
             field: 'packName',
             headerName: translate('table.field.asnOrderItemLog.packName')
         },
diff --git a/rsf-admin/src/page/waitPakin/WaitPakinPanel.jsx b/rsf-admin/src/page/waitPakin/WaitPakinPanel.jsx
index e8d6108..e00ce74 100644
--- a/rsf-admin/src/page/waitPakin/WaitPakinPanel.jsx
+++ b/rsf-admin/src/page/waitPakin/WaitPakinPanel.jsx
@@ -1,86 +1,117 @@
 import React, { useState, useRef, useEffect, useMemo } from "react";
-import { Box, Card, CardContent, Grid, Typography, Tooltip } from '@mui/material';
+import { Box, Card, CardContent, Grid, Typography, Button, TextField, Tooltip, Paper, TableContainer, Table, TableBody, TableCell, TableHead, TableRow } from '@mui/material';
 import {
     useTranslate,
     useRecordContext,
+    useNotify,
+    useRefresh,
+    useListContext,
 } from 'react-admin';
 import PanelTypography from "../components/PanelTypography";
 import * as Common from '@/utils/common'
+import { styled } from "@mui/material/styles";
+import request from '@/utils/request';
+import debounce from 'lodash/debounce';
+import { DataGrid } from '@mui/x-data-grid';
 
 const WaitPakinPanel = () => {
     const record = useRecordContext();
     if (!record) return null;
     const translate = useTranslate();
-    return (
-        <>
-            <Card sx={{ width: { xs: 300, sm: 500, md: 600, lg: 800 }, margin: 'auto' }}>
-                <CardContent>
-                    <Grid container spacing={2}>
-                        <Grid item xs={12} sx={{ display: 'flex', justifyContent: 'space-between' }}>
-                            <Typography variant="h6" gutterBottom align="left" sx={{
-                                maxWidth: { xs: '100px', sm: '180px', md: '260px', lg: '360px' },
-                                whiteSpace: 'nowrap',
-                                overflow: 'hidden',
-                                textOverflow: 'ellipsis',
-                            }}>
-                                {Common.camelToPascalWithSpaces(translate('table.field.waitPakin.id'))}: {record.id}
-                            </Typography>
-                            {/*  inherit, primary, secondary, textPrimary, textSecondary, error */}
-                            <Typography variant="h6" gutterBottom align="right" >
-                                ID: {record.id}
-                            </Typography>
-                        </Grid>
-                    </Grid>
-                    <Grid container spacing={2}>
-                        <Grid item xs={12} container alignContent="flex-end">
-                            <Typography variant="caption" color="textSecondary" sx={{ wordWrap: 'break-word', wordBreak: 'break-all' }}>
-                                {Common.camelToPascalWithSpaces(translate('common.field.memo'))}:{record.memo}
-                            </Typography>
-                        </Grid>
-                    </Grid>
-                    <Box height={20}>&nbsp;</Box>
-                    <Grid container spacing={2}>
-                        <Grid item xs={6}>
-                            <PanelTypography
-                                title="table.field.waitPakin.code" 
-                                property={record.code}
-                            />
-                        </Grid>
-                        <Grid item xs={6}>
-                            <PanelTypography
-                                title="table.field.waitPakin.ansId" 
-                                property={record.ansId}
-                            />
-                        </Grid>
-                        <Grid item xs={6}>
-                            <PanelTypography
-                                title="table.field.waitPakin.asnCode" 
-                                property={record.asnCode}
-                            />
-                        </Grid>
-                        <Grid item xs={6}>
-                            <PanelTypography
-                                title="table.field.waitPakin.barcode" 
-                                property={record.barcode}
-                            />
-                        </Grid>
-                        <Grid item xs={6}>
-                            <PanelTypography
-                                title="table.field.waitPakin.anfme" 
-                                property={record.anfme}
-                            />
-                        </Grid>
-                        <Grid item xs={6}>
-                            <PanelTypography
-                                title="table.field.waitPakin.ioStatus" 
-                                property={record.ioStatus$}
-                            />
-                        </Grid>
+    const notify = useNotify();
+    const [rows, setRows] = useState([]);
+    const [maktx, setMaktx] = useState('');
+    const pakinId = record.id;
 
-                    </Grid>
-                </CardContent>
-            </Card >
-        </>
+    useEffect(() => {
+        debouncedHttp({ maktx });
+    }, [pakinId, maktx]);
+
+
+    const http = async (parmas) => {
+        const res = await request.post('/waitPakinItem/page', { ...parmas, pakinId });
+        if (res?.data?.code === 200) {
+            setRows(res.data.data.records)
+        } else {
+            notify(res.data.msg);
+        }
+    }
+
+    const debouncedHttp = useMemo(() => debounce(http, 300), []);
+
+    const columns = [
+        {
+            field: 'pakinId',
+            headerName: translate('table.field.waitPakinItem.pakinId')
+        },
+        {
+            field: 'maktx',
+            headerName: translate('table.field.waitPakinItem.maktx'),
+            width: 300
+        },
+        {
+            field: 'matnrId',
+            headerName: translate('table.field.waitPakinItem.matnrId')
+        },
+        {
+            field: 'matnrCode',
+            headerName: translate('table.field.waitPakinItem.matnrCode')
+        },
+        {
+            field: 'anfme',
+            headerName: translate('table.field.waitPakinItem.anfme')
+        },
+        {
+            field: 'workQty',
+            headerName: translate('table.field.waitPakinItem.workQty')
+        },
+        {
+            field: 'unit',
+            headerName: translate('table.field.waitPakinItem.unit')
+        },
+        {
+            field: 'fieldsIndex',
+            headerName: translate('table.field.waitPakinItem.fieldsIndex')
+        },
+        {
+            field: 'qty',
+            headerName: translate('table.field.waitPakinItem.qty')
+        },
+        {
+            field: 'batch',
+            headerName: translate('table.field.waitPakinItem.batch')
+        },
+    ]
+
+    const maktxChange = (value) => {
+        setMaktx(value)
+    }
+
+
+    return (
+        <Box sx={{
+            position: 'relative',
+            padding: '5px 10px'
+        }}>
+
+            <div style={{ display: 'flex', justifyContent: 'space-between', marginBottom: '4px', alignItems: 'center' }}>
+                <TextField value={maktx} onChange={(e) => maktxChange(e.target.value)} label="鎼滅储鐗╂枡" variant="outlined" sx={{ width: '300px' }} />
+
+                <div style={{ display: 'flex', gap: '10px' }}>
+                </div>
+            </div>
+
+
+            <DataGrid
+                size="small"
+                rows={rows}
+                columns={columns}
+                disableRowSelectionOnClick
+                disableColumnMenu={true}
+                disableColumnSorting
+                disableMultipleColumnsSorting
+            />
+        </Box >
     );
 };
 
diff --git a/rsf-admin/src/page/waitPakinItemLog/WaitPakinItemLogList.jsx b/rsf-admin/src/page/waitPakinItemLog/WaitPakinItemLogList.jsx
index bdeba8f..767197a 100644
--- a/rsf-admin/src/page/waitPakinItemLog/WaitPakinItemLogList.jsx
+++ b/rsf-admin/src/page/waitPakinItemLog/WaitPakinItemLogList.jsx
@@ -60,8 +60,6 @@
 
 const filters = [
     <SearchInput source="condition" alwaysOn />,
-    <DateInput label='common.time.after' source="timeStart" alwaysOn />,
-    <DateInput label='common.time.before' source="timeEnd" alwaysOn />,
 
     <ReferenceInput source="pakinId" label="table.field.waitPakinItemLog.pakinId" reference="waitPakin">
         <AutocompleteInput label="table.field.waitPakinItemLog.pakinId" optionText="id" filterToQuery={(val) => ({ id: val })} />
@@ -110,7 +108,7 @@
                         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.waitPakinItemLog"}
                 empty={<EmptyData onClick={() => { setCreateDialog(true) }} />}
@@ -130,8 +128,6 @@
                     preferenceKey='waitPakinItemLog'
                     bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />}
                     rowClick={(id, resource, record) => false}
-                    expand={() => <WaitPakinItemLogPanel />}
-                    expandSingle={true}
                     omit={['id', 'createTime', 'createBy', 'memo']}
                 >
                     <NumberField source="id" />
diff --git a/rsf-admin/src/page/waitPakinLog/WaitPakinLogList.jsx b/rsf-admin/src/page/waitPakinLog/WaitPakinLogList.jsx
index dd269c7..e9cb3f8 100644
--- a/rsf-admin/src/page/waitPakinLog/WaitPakinLogList.jsx
+++ b/rsf-admin/src/page/waitPakinLog/WaitPakinLogList.jsx
@@ -60,8 +60,6 @@
 
 const filters = [
     <SearchInput source="condition" alwaysOn />,
-    <DateInput label='common.time.after' source="timeStart" alwaysOn />,
-    <DateInput label='common.time.before' source="timeEnd" alwaysOn />,
 
     <NumberInput source="pakinId" label="table.field.waitPakinLog.pakinId" />,
     <TextInput source="code" label="table.field.waitPakinLog.code" />,
@@ -70,7 +68,7 @@
     <SelectInput source="ioStatus" label="table.field.waitPakinLog.ioStatus"
         choices={[
             { id: 0, name: '寰呭叆搴�' },
-            { id:  1, name: ' 鍏ュ簱涓�' },
+            { id: 1, name: ' 鍏ュ簱涓�' },
         ]}
     />,
 
@@ -101,7 +99,7 @@
                         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.waitPakinLog"}
                 empty={<EmptyData onClick={() => { setCreateDialog(true) }} />}
@@ -110,7 +108,7 @@
                 actions={(
                     <TopToolbar>
                         <FilterButton />
-                        <MyCreateButton onClick={() => { setCreateDialog(true) }} />
+                        {/* <MyCreateButton onClick={() => { setCreateDialog(true) }} /> */}
                         <SelectColumnsButton preferenceKey='waitPakinLog' />
                         <MyExportButton />
                     </TopToolbar>
@@ -143,7 +141,7 @@
                     <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 sx={{ padding: '1px', fontSize: '.75rem' }} /> */}
                         <DeleteButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} />
                     </WrapperField>
                 </StyledDatagrid>
diff --git a/rsf-admin/src/page/waitPakinLog/WaitPakinLogPanel.jsx b/rsf-admin/src/page/waitPakinLog/WaitPakinLogPanel.jsx
index 65003dc..d2935c3 100644
--- a/rsf-admin/src/page/waitPakinLog/WaitPakinLogPanel.jsx
+++ b/rsf-admin/src/page/waitPakinLog/WaitPakinLogPanel.jsx
@@ -1,80 +1,111 @@
 import React, { useState, useRef, useEffect, useMemo } from "react";
-import { Box, Card, CardContent, Grid, Typography, Tooltip } from '@mui/material';
+import { Box, Card, CardContent, Grid, Typography, Button, TextField, Tooltip, Paper, TableContainer, Table, TableBody, TableCell, TableHead, TableRow } from '@mui/material';
 import {
     useTranslate,
     useRecordContext,
+    useNotify,
+    useRefresh,
+    useListContext,
 } from 'react-admin';
 import PanelTypography from "../components/PanelTypography";
 import * as Common from '@/utils/common'
+import { styled } from "@mui/material/styles";
+import request from '@/utils/request';
+import debounce from 'lodash/debounce';
+import { DataGrid } from '@mui/x-data-grid';
 
 const WaitPakinLogPanel = () => {
     const record = useRecordContext();
     if (!record) return null;
     const translate = useTranslate();
-    return (
-        <>
-            <Card sx={{ width: { xs: 300, sm: 500, md: 600, lg: 800 }, margin: 'auto' }}>
-                <CardContent>
-                    <Grid container spacing={2}>
-                        <Grid item xs={12} sx={{ display: 'flex', justifyContent: 'space-between' }}>
-                            <Typography variant="h6" gutterBottom align="left" sx={{
-                                maxWidth: { xs: '100px', sm: '180px', md: '260px', lg: '360px' },
-                                whiteSpace: 'nowrap',
-                                overflow: 'hidden',
-                                textOverflow: 'ellipsis',
-                            }}>
-                                {Common.camelToPascalWithSpaces(translate('table.field.waitPakinLog.id'))}: {record.id}
-                            </Typography>
-                            {/*  inherit, primary, secondary, textPrimary, textSecondary, error */}
-                            <Typography variant="h6" gutterBottom align="right" >
-                                ID: {record.id}
-                            </Typography>
-                        </Grid>
-                    </Grid>
-                    <Grid container spacing={2}>
-                        <Grid item xs={12} container alignContent="flex-end">
-                            <Typography variant="caption" color="textSecondary" sx={{ wordWrap: 'break-word', wordBreak: 'break-all' }}>
-                                {Common.camelToPascalWithSpaces(translate('common.field.memo'))}:{record.memo}
-                            </Typography>
-                        </Grid>
-                    </Grid>
-                    <Box height={20}>&nbsp;</Box>
-                    <Grid container spacing={2}>
-                        <Grid item xs={6}>
-                            <PanelTypography
-                                title="table.field.waitPakinLog.pakinId" 
-                                property={record.pakinId}
-                            />
-                        </Grid>
-                        <Grid item xs={6}>
-                            <PanelTypography
-                                title="table.field.waitPakinLog.code" 
-                                property={record.code}
-                            />
-                        </Grid>
-                        <Grid item xs={6}>
-                            <PanelTypography
-                                title="table.field.waitPakinLog.barcode" 
-                                property={record.barcode}
-                            />
-                        </Grid>
-                        <Grid item xs={6}>
-                            <PanelTypography
-                                title="table.field.waitPakinLog.anfme" 
-                                property={record.anfme}
-                            />
-                        </Grid>
-                        <Grid item xs={6}>
-                            <PanelTypography
-                                title="table.field.waitPakinLog.ioStatus" 
-                                property={record.ioStatus$}
-                            />
-                        </Grid>
+    const notify = useNotify();
+    const [rows, setRows] = useState([]);
+    const [maktx, setMaktx] = useState('');
+    const pakinId = record.id;
 
-                    </Grid>
-                </CardContent>
-            </Card >
-        </>
+    const http = async (parmas) => {
+        const res = await request.post('/WaitPakinLog/page', { ...parmas, pakinId });
+        if (res?.data?.code === 200) {
+            setRows(res.data.data.records)
+        } else {
+            notify(res.data.msg);
+        }
+    }
+
+    const debouncedHttp = useMemo(() => debounce(http, 300), []);
+
+    const columns = [
+        {
+            field: 'pakinId',
+            headerName: translate('table.field.waitPakinItem.pakinId')
+        },
+        {
+            field: 'maktx',
+            headerName: translate('table.field.waitPakinItem.maktx'),
+            width: 300
+        },
+        {
+            field: 'matnrId',
+            headerName: translate('table.field.waitPakinItem.matnrId')
+        },
+        {
+            field: 'matnrCode',
+            headerName: translate('table.field.waitPakinItem.matnrCode')
+        },
+        {
+            field: 'anfme',
+            headerName: translate('table.field.waitPakinItem.anfme')
+        },
+        {
+            field: 'workQty',
+            headerName: translate('table.field.waitPakinItem.workQty')
+        },
+        {
+            field: 'unit',
+            headerName: translate('table.field.waitPakinItem.unit')
+        },
+        {
+            field: 'fieldsIndex',
+            headerName: translate('table.field.waitPakinItem.fieldsIndex')
+        },
+        {
+            field: 'qty',
+            headerName: translate('table.field.waitPakinItem.qty')
+        },
+        {
+            field: 'batch',
+            headerName: translate('table.field.waitPakinItem.batch')
+        },
+    ]
+
+    const maktxChange = (value) => {
+        setMaktx(value)
+    }
+
+    return (
+        <Box sx={{
+            position: 'relative',
+            padding: '5px 10px'
+        }}>
+
+            <div style={{ display: 'flex', justifyContent: 'space-between', marginBottom: '4px', alignItems: 'center' }}>
+                <TextField value={maktx} onChange={(e) => maktxChange(e.target.value)} label="鎼滅储鐗╂枡" variant="outlined" sx={{ width: '300px' }} />
+
+                <div style={{ display: 'flex', gap: '10px' }}>
+                </div>
+            </div>
+
+
+            <DataGrid
+                size="small"
+                rows={rows}
+                columns={columns}
+                disableRowSelectionOnClick
+                disableColumnMenu={true}
+                disableColumnSorting
+                disableMultipleColumnsSorting
+            />
+        </Box >
     );
 };
 

--
Gitblit v1.9.1