From 4912066671e66d4d646fa0f5e8c7718251c141eb Mon Sep 17 00:00:00 2001
From: verou <857149855@qq.com>
Date: 星期四, 13 三月 2025 11:10:24 +0800
Subject: [PATCH] feat:导入功能

---
 rsf-admin/src/page/asnOrder/AsnOrderList.jsx                      |    7 -
 rsf-admin/src/page/asnOrder/AsnOrderEdit.jsx                      |   10 +-
 rsf-admin/src/page/asnOrderItem/AsnOrderItemCreate.jsx            |    4 
 rsf-admin/src/page/asnOrderItem/AsnOrderItemList.jsx              |    4 
 rsf-admin/src/page/qlyInspect/QlyInspectPanel.jsx                 |   30 ++++++
 rsf-admin/src/page/purchaseItem/PurchaseItemCreate.jsx            |    4 
 rsf-admin/src/page/components/ImportModal.jsx                     |   36 +++++-
 rsf-admin/src/page/asnOrder/AsnOrderCreate.jsx                    |   14 +-
 rsf-admin/src/page/qlyInspect/QlyInspectList.jsx                  |   10 ++
 rsf-admin/src/page/system/operationRecord/OperationRecordList.jsx |    3 
 rsf-admin/src/page/purchase/PurchaseEdit.jsx                      |    4 
 rsf-admin/src/page/system/dicts/dictData/DictDataList.jsx         |   13 +-
 rsf-admin/src/page/purchaseItem/PurchaseItemList.jsx              |    1 
 rsf-admin/src/page/system/dicts/dictType/DictTypeCreate.jsx       |    3 
 rsf-admin/src/page/qlyInspect/QlyInspectCreate.jsx                |   31 ++++++
 rsf-admin/src/page/system/dicts/dictData/DictDataEdit.jsx         |    5 
 rsf-admin/src/i18n/zh.js                                          |   27 +++++
 rsf-admin/src/page/system/dicts/dictData/DictDataCreate.jsx       |    9 +
 rsf-admin/src/i18n/en.js                                          |   29 +++++
 rsf-admin/src/page/ResourceContent.js                             |    4 
 rsf-admin/src/page/system/dicts/dictType/DictTypeList.jsx         |    4 
 rsf-admin/src/page/qlyInspect/QlyInspectEdit.jsx                  |   31 ++++++
 rsf-admin/src/page/purchase/PurchaseCreate.jsx                    |    4 
 23 files changed, 230 insertions(+), 57 deletions(-)

diff --git a/rsf-admin/src/i18n/en.js b/rsf-admin/src/i18n/en.js
index 5dd4825..c0a1107 100644
--- a/rsf-admin/src/i18n/en.js
+++ b/rsf-admin/src/i18n/en.js
@@ -142,6 +142,7 @@
         whMat: 'Warehouse Mat',
         fields: 'Extend Fields',
         fieldsItem: 'Extend Fields Items',
+        warehouseAreasItem: 'WarehouseAreasItem',
     },
     table: {
         field: {
@@ -303,6 +304,25 @@
                 flagLabelMange: "flagLabelMange",
                 flagMix: "flagMix",
             },
+            warehouseAreasItem: {
+                areaId: "areaId",
+                areaName: "areaName",
+                matnrId: "matnrId",
+                matnrName: "matnrName",
+                matnrCode: "matnrCode",
+                fieldsIndex: "fieldsIndex",
+                barcode: "barcode",
+                anfme: "anfme",
+                batch: "batch",
+                unit: "unit",
+                stockUnit: "stockUnit",
+                brand: "brand",
+                shipperId: "shipperId",
+                splrId: "splrId",
+                weight: "weight",
+                prodTime: "prodTime",
+                splrBtch: "splrBtch",
+            },
             loc: {
                 warehouseId: "Warehouse",
                 areaId: "Area",
@@ -346,8 +366,13 @@
                 projectName: "ProjectName",
             },
             qlyInspect: {
-                code: "Code",
-                name: "Name",
+                code: "code",
+                name: "name",
+                barcode: "barcode",
+                asnItemId: "asnItemId",
+                poItemId: "poItemId",
+                safeQty: "safeQty",
+                disQty: "disQty",
             },
             dictType: {
                 code: "Code",
diff --git a/rsf-admin/src/i18n/zh.js b/rsf-admin/src/i18n/zh.js
index 5f853f8..1f2cd1e 100644
--- a/rsf-admin/src/i18n/zh.js
+++ b/rsf-admin/src/i18n/zh.js
@@ -141,6 +141,7 @@
         whMat: '搴撳尯鐗╂枡鍏崇郴',
         fields: '鎵╁睍瀛楁',
         fieldsItem: '鎵╁睍瀛楁鏄庣粏',
+        warehouseAreasItem: '搴撳尯搴撳瓨淇℃伅',
     },
     table: {
         field: {
@@ -302,6 +303,25 @@
                 flagLabelMange: "鏍囩绠$悊",
                 flagMix: "娣锋斁",
             },
+            warehouseAreasItem: {
+                areaId: "浠撳簱鍖哄煙",
+                areaName: "鍖哄煙鍚嶇О	",
+                matnrId: "鐗╂枡鏍囪瘑",
+                matnrName: "鐗╂枡鍚嶇О",
+                matnrCode: "鐗╂枡缂栫爜",
+                fieldsIndex: "鎵╁睍瀛楁鍞竴鏍囪瘑",
+                barcode: "鏉″舰鐮�",
+                anfme: "鏁伴噺",
+                batch: "鎵规鍙�",
+                unit: "璁¢噺鍗曚綅",
+                stockUnit: "搴撳瓨鍗曚綅",
+                brand: "鍝佺墝",
+                shipperId: "璐т富鏍囪瘑",
+                splrId: "渚涘簲鍟嗘爣璇�",
+                weight: "鏀惰揣閲嶉噺",
+                prodTime: "鐢熶骇鏃ユ湡",
+                splrBtch: "渚涘簲鍟嗘壒娆�",
+            },
             loc: {
                 warehouseId: "浠撳簱",
                 areaId: "搴撳尯",
@@ -348,11 +368,16 @@
             qlyInspect: {
                 code: "缂栫爜",
                 name: "鍚嶇О",
+                barcode: "鏍囩鐮�",
+                asnItemId: "閫氱煡鍗曟槑缁嗘爣璇�",
+                poItemId: "PO鍗曟槑缁嗘爣璇�",
+                safeQty: "鍚堟牸鏁伴噺",
+                disQty: "涓嶅悎鏍兼暟閲�",
             },
             dictType: {
                 code: "瀛楀吀缂栫爜",
                 name: "瀛楀吀鍚嶇О",
-                description: "鍐呭鎻忚堪",
+                description: "鍐呭",
             },
             dictData: {
                 dictTypeId: "瀛楀吀鏍囪瘑",
diff --git a/rsf-admin/src/page/ResourceContent.js b/rsf-admin/src/page/ResourceContent.js
index 6f35cdf..1c808a1 100644
--- a/rsf-admin/src/page/ResourceContent.js
+++ b/rsf-admin/src/page/ResourceContent.js
@@ -33,7 +33,7 @@
 import purchase from './purchase';
 import fields from './fields';
 import fieldsItem from './fieldsItem';
-
+import warehouseAreasItem from './warehouseAreasItem';
 
 const ResourceContent = (node) => {
     switch (node.component) {
@@ -63,6 +63,8 @@
             return warehouse;
         case 'warehouseAreas':
             return warehouseAreas;
+        case 'warehouseAreasItem':
+            return warehouseAreasItem;
         case 'loc':
             return loc;
         case 'container':
diff --git a/rsf-admin/src/page/asnOrder/AsnOrderCreate.jsx b/rsf-admin/src/page/asnOrder/AsnOrderCreate.jsx
index 8f98e05..6ace1c2 100644
--- a/rsf-admin/src/page/asnOrder/AsnOrderCreate.jsx
+++ b/rsf-admin/src/page/asnOrder/AsnOrderCreate.jsx
@@ -84,14 +84,14 @@
                         </DialogTitle>
                         <DialogContent sx={{ mt: 2 }}>
                             <Grid container rowSpacing={2} columnSpacing={2}>
-                                <Grid item xs={6} display="flex" gap={1}>
+                                {/* <Grid item xs={6} display="flex" gap={1}>
                                     <TextInput
                                         label="table.field.asnOrder.code"
                                         source="code"
                                         parse={v => v}
                                         autoFocus
                                     />
-                                </Grid>
+                                </Grid> */}
                                 <Grid item xs={6} display="flex" gap={1}>
                                     <TextInput
                                         label="table.field.asnOrder.poCode"
@@ -121,20 +121,20 @@
                                         validate={required()}
                                     />
                                 </Grid>
-                                <Grid item xs={6} display="flex" gap={1}>
+                                {/* <Grid item xs={6} display="flex" gap={1}>
                                     <NumberInput
                                         label="table.field.asnOrder.anfme"
                                         source="anfme"
                                         validate={required()}
                                     />
-                                </Grid>
-                                <Grid item xs={6} display="flex" gap={1}>
+                                </Grid> */}
+                                {/* <Grid item xs={6} display="flex" gap={1}>
                                     <NumberInput
                                         label="table.field.asnOrder.qty"
                                         source="qty"
                                         validate={required()}
                                     />
-                                </Grid>
+                                </Grid> */}
                                 <Grid item xs={6} display="flex" gap={1}>
                                     <TextInput
                                         label="table.field.asnOrder.logisNo"
@@ -154,7 +154,7 @@
                                         source="rleStatus"
                                         choices={[
                                             { id: 0, name: ' 姝e父' },
-                                            { id:  1, name: ' 宸查噴鏀�' },
+                                            { id: 1, name: ' 宸查噴鏀�' },
                                         ]}
                                     />
                                 </Grid>
diff --git a/rsf-admin/src/page/asnOrder/AsnOrderEdit.jsx b/rsf-admin/src/page/asnOrder/AsnOrderEdit.jsx
index 5cba002..92753d8 100644
--- a/rsf-admin/src/page/asnOrder/AsnOrderEdit.jsx
+++ b/rsf-admin/src/page/asnOrder/AsnOrderEdit.jsx
@@ -63,14 +63,14 @@
                         <Typography variant="h6" gutterBottom>
                             {translate('common.edit.title.main')}
                         </Typography>
-                        <Stack direction='row' gap={2}>
+                        {/* <Stack direction='row' gap={2}>
                             <TextInput
                                 label="table.field.asnOrder.code"
                                 source="code"
                                 parse={v => v}
                                 autoFocus
                             />
-                        </Stack>
+                        </Stack> */}
                         <Stack direction='row' gap={2}>
                             <TextInput
                                 label="table.field.asnOrder.poCode"
@@ -100,7 +100,7 @@
                                 validate={required()}
                             />
                         </Stack>
-                        <Stack direction='row' gap={2}>
+                        {/* <Stack direction='row' gap={2}>
                             <NumberInput
                                 label="table.field.asnOrder.anfme"
                                 source="anfme"
@@ -113,7 +113,7 @@
                                 source="qty"
                                 validate={required()}
                             />
-                        </Stack>
+                        </Stack> */}
                         <Stack direction='row' gap={2}>
                             <TextInput
                                 label="table.field.asnOrder.logisNo"
@@ -133,7 +133,7 @@
                                 source="rleStatus"
                                 choices={[
                                     { id: 0, name: ' 姝e父' },
-                                    { id:  1, name: ' 宸查噴鏀�' },
+                                    { id: 1, name: ' 宸查噴鏀�' },
                                 ]}
                                 validate={required()}
                             />
diff --git a/rsf-admin/src/page/asnOrder/AsnOrderList.jsx b/rsf-admin/src/page/asnOrder/AsnOrderList.jsx
index b032abd..2b0d2c7 100644
--- a/rsf-admin/src/page/asnOrder/AsnOrderList.jsx
+++ b/rsf-admin/src/page/asnOrder/AsnOrderList.jsx
@@ -45,8 +45,8 @@
 import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting';
 import * as Common from '@/utils/common';
 import ConstructionIcon from "@mui/icons-material/Construction";
-import UploadloadIcon from "@mui/icons-material/Upload";
 import FileDownloadIcon from '@mui/icons-material/FileDownload';
+
 
 const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
   '& .css-1vooibu-MuiSvgIcon-root': {
@@ -126,9 +126,6 @@
         sort={{ field: "create_time", order: "desc" }}
         actions={(
           <TopToolbar>
-            <Button onClick={importList} label={"ra.action.import"}>
-              <UploadloadIcon />
-            </Button>
 
             <Button onClick={inspection} label={"toolbar.inspection"}>
               <ConstructionIcon />
@@ -136,6 +133,7 @@
             <FilterButton />
             <MyCreateButton onClick={() => { setCreateDialog(true) }} />
             <SelectColumnsButton preferenceKey='asnOrder' />
+
             <MyExportButton />
           </TopToolbar>
         )}
@@ -200,5 +198,4 @@
     </Box>
   )
 }
-
 export default AsnOrderList;
diff --git a/rsf-admin/src/page/asnOrderItem/AsnOrderItemCreate.jsx b/rsf-admin/src/page/asnOrderItem/AsnOrderItemCreate.jsx
index 45e40f2..dc78822 100644
--- a/rsf-admin/src/page/asnOrderItem/AsnOrderItemCreate.jsx
+++ b/rsf-admin/src/page/asnOrderItem/AsnOrderItemCreate.jsx
@@ -32,7 +32,7 @@
 import MemoInput from "../components/MemoInput";
 
 const AsnOrderItemCreate = (props) => {
-    const { open, setOpen } = props;
+    const { open, setOpen, row } = props;
 
     const translate = useTranslate();
     const notify = useNotify();
@@ -88,7 +88,7 @@
                                     <NumberInput
                                         label="table.field.asnOrderItem.asnId"
                                         source="asnId"
-                                        autoFocus
+                                        defaultValue={row.asnId}
                                     />
                                 </Grid>
                                 <Grid item xs={6} display="flex" gap={1}>
diff --git a/rsf-admin/src/page/asnOrderItem/AsnOrderItemList.jsx b/rsf-admin/src/page/asnOrderItem/AsnOrderItemList.jsx
index 31ffd1d..84c20df 100644
--- a/rsf-admin/src/page/asnOrderItem/AsnOrderItemList.jsx
+++ b/rsf-admin/src/page/asnOrderItem/AsnOrderItemList.jsx
@@ -46,6 +46,7 @@
 import * as Common from '@/utils/common';
 import CustomerTopToolBar from "../components/EditTopToolBar";
 import QrCodeIcon from "@mui/icons-material/QrCode";
+import ImportButton from "../components/ImportButton";
 
 const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
   '& .css-1vooibu-MuiSvgIcon-root': {
@@ -130,6 +131,7 @@
               <FilterButton />
               <MyCreateButton onClick={() => { setCreateDialog(true) }} />
               <SelectColumnsButton preferenceKey='asnOrderItem' />
+              <ImportButton value={'asnOrder'} parmas={{ asnId: asnId }} />
               <MyExportButton />
             </TopToolbar>
           )}
@@ -180,6 +182,7 @@
         <AsnOrderItemCreate
           open={createDialog}
           setOpen={setCreateDialog}
+          row={{ asnId }}
         />
         <PageDrawer
           title='AsnOrderItem Detail'
@@ -191,5 +194,6 @@
     </>
   )
 }
+AsnOrderItemList.Context = React.createContext()
 
 export default AsnOrderItemList;
diff --git a/rsf-admin/src/page/components/ImportModal.jsx b/rsf-admin/src/page/components/ImportModal.jsx
index 1461531..70f84cf 100644
--- a/rsf-admin/src/page/components/ImportModal.jsx
+++ b/rsf-admin/src/page/components/ImportModal.jsx
@@ -1,4 +1,4 @@
-import { useEffect, useState } from 'react';
+import { useEffect, useState, createContext, useContext } from 'react';
 import { Box, CircularProgress, Stack, Typography } from '@mui/material';
 import Alert from '@mui/material/Alert';
 import Dialog from '@mui/material/Dialog';
@@ -13,14 +13,16 @@
     Form,
     Toolbar,
     useRefresh,
-    useTranslate
+    useTranslate,
+    useNotify
 } from 'react-admin';
 import { Link } from 'react-router-dom';
 import DialogCloseButton from './DialogCloseButton';
 import { usePapaParse } from './usePapaParse';
 import MatnrList from '../basicInfo/matnr/MatnrList';
+import request from '@/utils/request'
 
-const ImportModal = ({ open, onClose, importTemp, useCodeImport, onceBatch = 10 }) => {
+const ImportModal = ({ open, onClose, importTemp, useCodeImport, onceBatch = 10, value, parmas = {} }) => {
     const refresh = useRefresh();
     const translate = useTranslate();
 
@@ -31,6 +33,7 @@
     });
 
     const [file, setFile] = useState(null);
+    const notify = useNotify();
 
     useEffect(() => {
         if (importer.state === 'complete') {
@@ -46,10 +49,25 @@
         if (!file) {
             return;
         }
-        console.log(file);
-        //TODO 娣诲姞涓婃枃浠朵笂浼犳帴鍙�
+        const form = new FormData();
+        for (const key in parmas) {
+            if (parmas.hasOwnProperty(key)) {
+                form.append(key, parmas[key]);
+            }
+        }
+        form.append('file', file);
+        const { data: { code, data, msg } } = await request.post(`/${value}/import`, form)
+
+        if (code === 200) {
+            handleClose()
+        } else {
+            notify(msg);
+
+        }
 
     };
+
+
 
     const handleClose = () => {
         reset();
@@ -211,12 +229,12 @@
         </Dialog>
     );
 }
-{/**涓嬭浇鎵撳嵃妯℃澘锛屼紶鍏ype绫诲瀷锛岃皟鐢ㄤ笅杞芥ā鏉挎帴鍙� */}
+{/**涓嬭浇鎵撳嵃妯℃澘锛屼紶鍏ype绫诲瀷锛岃皟鐢ㄤ笅杞芥ā鏉挎帴鍙� */ }
 const downloadTemplate = (type) => {
     // 涓嬭浇鐗╂枡妯℃澘
-    if (type != undefined &&  type == 'matnr') {
-        
-    } 
+    if (type != undefined && type == 'matnr') {
+
+    }
     console.log('======>');
     console.log(type);
 }
diff --git a/rsf-admin/src/page/purchase/PurchaseCreate.jsx b/rsf-admin/src/page/purchase/PurchaseCreate.jsx
index 4787078..768de68 100644
--- a/rsf-admin/src/page/purchase/PurchaseCreate.jsx
+++ b/rsf-admin/src/page/purchase/PurchaseCreate.jsx
@@ -84,14 +84,14 @@
                         </DialogTitle>
                         <DialogContent sx={{ mt: 2 }}>
                             <Grid container rowSpacing={2} columnSpacing={2}>
-                                <Grid item xs={6} display="flex" gap={1}>
+                                {/* <Grid item xs={6} display="flex" gap={1}>
                                     <TextInput
                                         label="table.field.purchase.code"
                                         source="code"
                                         parse={v => v}
                                         autoFocus
                                     />
-                                </Grid>
+                                </Grid> */}
                                 <Grid item xs={6} display="flex" gap={1}>
                                     <TextInput
                                         label="table.field.purchase.type"
diff --git a/rsf-admin/src/page/purchase/PurchaseEdit.jsx b/rsf-admin/src/page/purchase/PurchaseEdit.jsx
index 16c0608..b12726f 100644
--- a/rsf-admin/src/page/purchase/PurchaseEdit.jsx
+++ b/rsf-admin/src/page/purchase/PurchaseEdit.jsx
@@ -63,14 +63,14 @@
                         <Typography variant="h6" gutterBottom>
                             {translate('common.edit.title.main')}
                         </Typography>
-                        <Stack direction='row' gap={2}>
+                        {/* <Stack direction='row' gap={2}>
                             <TextInput
                                 label="table.field.purchase.code"
                                 source="code"
                                 parse={v => v}
                                 autoFocus
                             />
-                        </Stack>
+                        </Stack> */}
                         <Stack direction='row' gap={2}>
                             <TextInput
                                 label="table.field.purchase.type"
diff --git a/rsf-admin/src/page/purchaseItem/PurchaseItemCreate.jsx b/rsf-admin/src/page/purchaseItem/PurchaseItemCreate.jsx
index 36ed82b..abc53cc 100644
--- a/rsf-admin/src/page/purchaseItem/PurchaseItemCreate.jsx
+++ b/rsf-admin/src/page/purchaseItem/PurchaseItemCreate.jsx
@@ -32,7 +32,7 @@
 import MemoInput from "../components/MemoInput";
 
 const PurchaseItemCreate = (props) => {
-    const { open, setOpen } = props;
+    const { open, setOpen, row } = props;
 
     const translate = useTranslate();
     const notify = useNotify();
@@ -88,7 +88,7 @@
                                     <NumberInput
                                         label="table.field.purchaseItem.purchaseId"
                                         source="purchaseId"
-                                        autoFocus
+                                        defaultValue={row.poId}
                                     />
                                 </Grid>
                                 <Grid item xs={6} display="flex" gap={1}>
diff --git a/rsf-admin/src/page/purchaseItem/PurchaseItemList.jsx b/rsf-admin/src/page/purchaseItem/PurchaseItemList.jsx
index dd9e4f4..139441c 100644
--- a/rsf-admin/src/page/purchaseItem/PurchaseItemList.jsx
+++ b/rsf-admin/src/page/purchaseItem/PurchaseItemList.jsx
@@ -167,6 +167,7 @@
         <PurchaseItemCreate
           open={createDialog}
           setOpen={setCreateDialog}
+          row={{ poId }}
         />
         <PageDrawer
           title='PurchaseItem Detail'
diff --git a/rsf-admin/src/page/qlyInspect/QlyInspectCreate.jsx b/rsf-admin/src/page/qlyInspect/QlyInspectCreate.jsx
index 4ad8576..4aa684f 100644
--- a/rsf-admin/src/page/qlyInspect/QlyInspectCreate.jsx
+++ b/rsf-admin/src/page/qlyInspect/QlyInspectCreate.jsx
@@ -100,6 +100,37 @@
                                         parse={v => v}
                                     />
                                 </Grid>
+                                <Grid item xs={6} display="flex" gap={1}>
+                                    <TextInput
+                                        label="table.field.qlyInspect.barcode"
+                                        source="barcode"
+                                        parse={v => v}
+                                    />
+                                </Grid>
+                                <Grid item xs={6} display="flex" gap={1}>
+                                    <NumberInput
+                                        label="table.field.qlyInspect.asnItemId"
+                                        source="asnItemId"
+                                    />
+                                </Grid>
+                                <Grid item xs={6} display="flex" gap={1}>
+                                    <NumberInput
+                                        label="table.field.qlyInspect.poItemId"
+                                        source="poItemId"
+                                    />
+                                </Grid>
+                                <Grid item xs={6} display="flex" gap={1}>
+                                    <NumberInput
+                                        label="table.field.qlyInspect.safeQty"
+                                        source="safeQty"
+                                    />
+                                </Grid>
+                                <Grid item xs={6} display="flex" gap={1}>
+                                    <NumberInput
+                                        label="table.field.qlyInspect.disQty"
+                                        source="disQty"
+                                    />
+                                </Grid>
 
                                 <Grid item xs={6} display="flex" gap={1}>
                                     <StatusSelectInput />
diff --git a/rsf-admin/src/page/qlyInspect/QlyInspectEdit.jsx b/rsf-admin/src/page/qlyInspect/QlyInspectEdit.jsx
index d287ef3..985c367 100644
--- a/rsf-admin/src/page/qlyInspect/QlyInspectEdit.jsx
+++ b/rsf-admin/src/page/qlyInspect/QlyInspectEdit.jsx
@@ -79,6 +79,37 @@
                                 parse={v => v}
                             />
                         </Stack>
+                        <Stack direction='row' gap={2}>
+                            <TextInput
+                                label="table.field.qlyInspect.barcode"
+                                source="barcode"
+                                parse={v => v}
+                            />
+                        </Stack>
+                        <Stack direction='row' gap={2}>
+                            <NumberInput
+                                label="table.field.qlyInspect.asnItemId"
+                                source="asnItemId"
+                            />
+                        </Stack>
+                        <Stack direction='row' gap={2}>
+                            <NumberInput
+                                label="table.field.qlyInspect.poItemId"
+                                source="poItemId"
+                            />
+                        </Stack>
+                        <Stack direction='row' gap={2}>
+                            <NumberInput
+                                label="table.field.qlyInspect.safeQty"
+                                source="safeQty"
+                            />
+                        </Stack>
+                        <Stack direction='row' gap={2}>
+                            <NumberInput
+                                label="table.field.qlyInspect.disQty"
+                                source="disQty"
+                            />
+                        </Stack>
 
                     </Grid>
                     <Grid item xs={12} md={4}>
diff --git a/rsf-admin/src/page/qlyInspect/QlyInspectList.jsx b/rsf-admin/src/page/qlyInspect/QlyInspectList.jsx
index 591d778..10bda0b 100644
--- a/rsf-admin/src/page/qlyInspect/QlyInspectList.jsx
+++ b/rsf-admin/src/page/qlyInspect/QlyInspectList.jsx
@@ -65,6 +65,11 @@
 
     <TextInput source="code" label="table.field.qlyInspect.code" />,
     <TextInput source="name" label="table.field.qlyInspect.name" />,
+    <TextInput source="barcode" label="table.field.qlyInspect.barcode" />,
+    <NumberInput source="asnItemId" label="table.field.qlyInspect.asnItemId" />,
+    <NumberInput source="poItemId" label="table.field.qlyInspect.poItemId" />,
+    <NumberInput source="safeQty" label="table.field.qlyInspect.safeQty" />,
+    <NumberInput source="disQty" label="table.field.qlyInspect.disQty" />,
 
     <TextInput label="common.field.memo" source="memo" />,
     <SelectInput
@@ -120,6 +125,11 @@
                     <NumberField source="id" />
                     <TextField source="code" label="table.field.qlyInspect.code" />
                     <TextField source="name" label="table.field.qlyInspect.name" />
+                    <TextField source="barcode" label="table.field.qlyInspect.barcode" />
+                    <NumberField source="asnItemId" label="table.field.qlyInspect.asnItemId" />
+                    <NumberField source="poItemId" label="table.field.qlyInspect.poItemId" />
+                    <NumberField source="safeQty" label="table.field.qlyInspect.safeQty" />
+                    <NumberField source="disQty" label="table.field.qlyInspect.disQty" />
 
                     <ReferenceField source="updateBy" label="common.field.updateBy" reference="user" link={false} sortable={false}>
                         <TextField source="nickname" />
diff --git a/rsf-admin/src/page/qlyInspect/QlyInspectPanel.jsx b/rsf-admin/src/page/qlyInspect/QlyInspectPanel.jsx
index de828b5..785ba88 100644
--- a/rsf-admin/src/page/qlyInspect/QlyInspectPanel.jsx
+++ b/rsf-admin/src/page/qlyInspect/QlyInspectPanel.jsx
@@ -52,6 +52,36 @@
                                 property={record.name}
                             />
                         </Grid>
+                        <Grid item xs={6}>
+                            <PanelTypography
+                                title="table.field.qlyInspect.barcode" 
+                                property={record.barcode}
+                            />
+                        </Grid>
+                        <Grid item xs={6}>
+                            <PanelTypography
+                                title="table.field.qlyInspect.asnItemId" 
+                                property={record.asnItemId}
+                            />
+                        </Grid>
+                        <Grid item xs={6}>
+                            <PanelTypography
+                                title="table.field.qlyInspect.poItemId" 
+                                property={record.poItemId}
+                            />
+                        </Grid>
+                        <Grid item xs={6}>
+                            <PanelTypography
+                                title="table.field.qlyInspect.safeQty" 
+                                property={record.safeQty}
+                            />
+                        </Grid>
+                        <Grid item xs={6}>
+                            <PanelTypography
+                                title="table.field.qlyInspect.disQty" 
+                                property={record.disQty}
+                            />
+                        </Grid>
 
                     </Grid>
                 </CardContent>
diff --git a/rsf-admin/src/page/system/dicts/dictData/DictDataCreate.jsx b/rsf-admin/src/page/system/dicts/dictData/DictDataCreate.jsx
index cc98111..f15c25d 100644
--- a/rsf-admin/src/page/system/dicts/dictData/DictDataCreate.jsx
+++ b/rsf-admin/src/page/system/dicts/dictData/DictDataCreate.jsx
@@ -32,7 +32,7 @@
 import MemoInput from "../../../components/MemoInput";
 
 const DictDataCreate = (props) => {
-    const { open, setOpen } = props;
+    const { open, setOpen, row } = props;
 
     const translate = useTranslate();
     const notify = useNotify();
@@ -91,6 +91,7 @@
                                         parse={v => v}
                                         autoFocus
                                         validate={required()}
+                                        defaultValue={row.dictTypeId}
                                     />
                                 </Grid>
                                 <Grid item xs={6} display="flex" gap={1}>
@@ -99,6 +100,7 @@
                                         source="dictTypeCode"
                                         parse={v => v}
                                         validate={required()}
+                                        defaultValue={row.dictTypeCode}
                                     />
                                 </Grid>
                                 <Grid item xs={6} display="flex" gap={1}>
@@ -114,7 +116,6 @@
                                         label="table.field.dictData.label"
                                         source="label"
                                         parse={v => v}
-                                        validate={required()}
                                     />
                                 </Grid>
                                 <Grid item xs={6} display="flex" gap={1}>
@@ -123,13 +124,13 @@
                                         source="sort"
                                     />
                                 </Grid>
-                                <Grid item xs={6} display="flex" gap={1}>
+                                {/* <Grid item xs={6} display="flex" gap={1}>
                                     <TextInput
                                         label="table.field.dictData.color"
                                         source="color"
                                         parse={v => v}
                                     />
-                                </Grid>
+                                </Grid> */}
 
                                 <Grid item xs={6} display="flex" gap={1}>
                                     <StatusSelectInput />
diff --git a/rsf-admin/src/page/system/dicts/dictData/DictDataEdit.jsx b/rsf-admin/src/page/system/dicts/dictData/DictDataEdit.jsx
index 6190953..a52a4c2 100644
--- a/rsf-admin/src/page/system/dicts/dictData/DictDataEdit.jsx
+++ b/rsf-admin/src/page/system/dicts/dictData/DictDataEdit.jsx
@@ -94,7 +94,6 @@
                                 label="table.field.dictData.label"
                                 source="label"
                                 parse={v => v}
-                                validate={required()}
                             />
                         </Stack>
                         <Stack direction='row' gap={2}>
@@ -103,13 +102,13 @@
                                 source="sort"
                             />
                         </Stack>
-                        <Stack direction='row' gap={2}>
+                        {/* <Stack direction='row' gap={2}>
                             <TextInput
                                 label="table.field.dictData.color"
                                 source="color"
                                 parse={v => v}
                             />
-                        </Stack>
+                        </Stack> */}
 
                     </Grid>
                     <Grid item xs={12} md={4}>
diff --git a/rsf-admin/src/page/system/dicts/dictData/DictDataList.jsx b/rsf-admin/src/page/system/dicts/dictData/DictDataList.jsx
index 65ea973..21a3f45 100644
--- a/rsf-admin/src/page/system/dicts/dictData/DictDataList.jsx
+++ b/rsf-admin/src/page/system/dicts/dictData/DictDataList.jsx
@@ -70,7 +70,7 @@
     <TextInput source="value" label="table.field.dictData.value" />,
     <TextInput source="label" label="table.field.dictData.label" />,
     <NumberInput source="sort" label="table.field.dictData.sort" />,
-    <TextInput source="color" label="table.field.dictData.color" />,
+    // <TextInput source="color" label="table.field.dictData.color" />,
 
     <TextInput label="common.field.memo" source="memo" />,
     <SelectInput
@@ -93,11 +93,7 @@
     const location = useLocation();
     const queryParams = new URLSearchParams(location.search);
     const dictTypeId = queryParams.get('dictTypeId');
-    console.log(dictTypeId);
-    if (dictTypeId != null && dictTypeId != undefined) {
-        console.log(dictTypeId);
-        console.log(fit);
-    }
+    const dictTypeCode = queryParams.get('code');
 
     return (
         <>
@@ -111,7 +107,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.dictData"}
                     empty={<EmptyData onClick={() => { setCreateDialog(true) }} />}
@@ -142,7 +138,7 @@
                         <TextField source="value" label="table.field.dictData.value" />
                         <TextField source="label" label="table.field.dictData.label" />
                         <NumberField source="sort" label="table.field.dictData.sort" />
-                        <TextField source="color" label="table.field.dictData.color" />
+                        {/* <TextField source="color" label="table.field.dictData.color" /> */}
 
                         <ReferenceField source="updateBy" label="common.field.updateBy" reference="user" link={false} sortable={false}>
                             <TextField source="nickname" />
@@ -163,6 +159,7 @@
                 <DictDataCreate
                     open={createDialog}
                     setOpen={setCreateDialog}
+                    row={{ dictTypeId, dictTypeCode }}
                 />
                 <PageDrawer
                     title='DictData Detail'
diff --git a/rsf-admin/src/page/system/dicts/dictType/DictTypeCreate.jsx b/rsf-admin/src/page/system/dicts/dictType/DictTypeCreate.jsx
index 9c17b03..8acd215 100644
--- a/rsf-admin/src/page/system/dicts/dictType/DictTypeCreate.jsx
+++ b/rsf-admin/src/page/system/dicts/dictType/DictTypeCreate.jsx
@@ -84,7 +84,7 @@
                         </DialogTitle>
                         <DialogContent sx={{ mt: 2 }}>
                             <Grid container rowSpacing={2} columnSpacing={2}>
-                            <Grid item xs={6} display="flex" gap={1}>
+                                <Grid item xs={6} display="flex" gap={1}>
                                     <TextInput
                                         label="table.field.dictType.code"
                                         source="code"
@@ -96,6 +96,7 @@
                                         label="table.field.dictType.name"
                                         source="name"
                                         parse={v => v}
+                                        validate={required()}
                                     />
                                 </Grid>
                                 <Grid item xs={6} display="flex" gap={1}>
diff --git a/rsf-admin/src/page/system/dicts/dictType/DictTypeList.jsx b/rsf-admin/src/page/system/dicts/dictType/DictTypeList.jsx
index 4fc1553..09058f4 100644
--- a/rsf-admin/src/page/system/dicts/dictType/DictTypeList.jsx
+++ b/rsf-admin/src/page/system/dicts/dictType/DictTypeList.jsx
@@ -87,7 +87,7 @@
 
     const navigate = useNavigate();
     const assign = (record) => {
-        navigate(`/dictData?dictTypeId=${record.id}`);
+        navigate(`/dictData?dictTypeId=${record.id}&code=${record.code}`);
     }
 
     return (
@@ -99,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.dictType"}
                 empty={<EmptyData onClick={() => { setCreateDialog(true) }} />}
diff --git a/rsf-admin/src/page/system/operationRecord/OperationRecordList.jsx b/rsf-admin/src/page/system/operationRecord/OperationRecordList.jsx
index 249b3c1..ac5b4d6 100644
--- a/rsf-admin/src/page/system/operationRecord/OperationRecordList.jsx
+++ b/rsf-admin/src/page/system/operationRecord/OperationRecordList.jsx
@@ -43,6 +43,7 @@
 import rowSx from './rowSx';
 import { format } from 'date-fns';
 import OperationDetail from './OperationDetail'
+import { width } from "@mui/system";
 
 const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
     '& .css-1vooibu-MuiSvgIcon-root': {
@@ -122,7 +123,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.operation"}
                 empty={<EmptyData onClick={() => { setCreateDialog(true) }} />}

--
Gitblit v1.9.1