From 6732a988fe843cf59f12aae1460fc97fda5408dd Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期四, 08 五月 2025 19:59:10 +0800
Subject: [PATCH] 新增asn单,修改asn单,添加动态字段修改功能

---
 rsf-admin/src/page/orders/asnOrder/AsnOrderModal.jsx |  236 ++++++++++++++++++++++++++++++-----------------------------
 1 files changed, 120 insertions(+), 116 deletions(-)

diff --git a/rsf-admin/src/page/orders/asnOrder/AsnOrderModal.jsx b/rsf-admin/src/page/orders/asnOrder/AsnOrderModal.jsx
index 1b9a2f1..140bd65 100644
--- a/rsf-admin/src/page/orders/asnOrder/AsnOrderModal.jsx
+++ b/rsf-admin/src/page/orders/asnOrder/AsnOrderModal.jsx
@@ -180,7 +180,7 @@
             setFormData(res.data.data)
         } else {
             notify(res.data.msg);
-        }       
+        }
     }
 
     const requestGetBody = async () => {
@@ -202,7 +202,7 @@
     }
 
     return (
-        <>       
+        <>
             <Dialog
                 open={open}
                 onClose={handleClose}
@@ -211,7 +211,7 @@
                 fullWidth
                 disableRestoreFocus
                 maxWidth="lg"   // 'xs' | 'sm' | 'md' | 'lg' | 'xl'
-            >                
+            >
                 <DialogTitle id="form-dialog-title" sx={{
                     position: 'sticky',
                     top: 0,
@@ -232,7 +232,7 @@
                                         label={translate("table.field.asnOrder.type")}
                                         value={formData.type}
                                         onChange={(e) => handleChange(e.target.value, 'type')}
-                                        dictTypeCode="sys_order_type"
+                                        dictTypeCode="sys_in_stock_type"
                                         required
                                     />
                                 </Grid>
@@ -240,39 +240,35 @@
                                     <DictSelect
                                         label={translate("table.field.asnOrder.wkType")}
                                         value={formData.wkType}
+                                        group='1'
                                         onChange={(e) => handleChange(e.target.value, 'wkType')}
                                         dictTypeCode="sys_business_type"
                                         required
                                     />
                                 </Grid>
-                                <Grid item md={3}>
+                                <Grid item md={2}>
                                     <TextField
                                         label={translate("table.field.asnOrder.poCode")}
                                         value={formData.poCode}
+                                        variant="filled"
                                         onChange={(e) => handleChange(e.target.value, 'poCode')}
                                     />
                                 </Grid>
-                                <Grid item md={3}>
+                                <Grid item md={2}>
                                     <TextField
                                         label={translate("table.field.asnOrder.logisNo")}
                                         value={formData.logisNo}
+                                        variant="filled"
                                         onChange={(e) => handleChange(e.target.value, 'logisNo')}
                                     />
                                 </Grid>
-
                                 <Grid item md={3}>
-                                    {/* <TextField
-                                        label={translate("table.field.asnOrder.arrTime")}
-                                        value={formData.arrTime}
-                                        onChange={(e) => handleChange(e.target.value, 'arrTime')}
-                                    /> */}
                                     <DateInput
                                         source="arrTime"
                                         label="table.field.asnOrder.arrTime"
                                         value={formData.arrTime}
                                         onChange={(e) => handleChange(e.target.value, 'arrTime')}
                                     />
-
                                 </Grid>
                             </Grid>
                         </Form>
@@ -282,7 +278,7 @@
                         <Stack direction="row" spacing={2}>
                             <Button variant="contained" onClick={() => setCreateDialog(true)}>鏂板鐗╂枡</Button>
                             {/* {asnId !== '' && <ConfirmButton label={'鍒犻櫎'} variant="outlined" color="error" onConfirm={handleDelete} />} */}
-                            <ConfirmButton label={'鍒犻櫎'} variant="outlined" color="error" onConfirm={handleDeleteItem} />
+                            <ConfirmButton label={'ra.action.delete'} variant="outlined" color="error" onConfirm={handleDeleteItem} />
                         </Stack>
                     </Box>
                     <Box sx={{ mt: 2 }}>
@@ -316,114 +312,114 @@
     useEffect(() => {
         getOptions();
     }, []);
-    const getOptions = async () => {        
-        const parmas = {    
-            "type": "supplier"       
+    const getOptions = async () => {
+        const parmas = {
+            "type": "supplier"
         }
         const {
             data: { code, data, msg },
-        } = await request.post("companys/page",parmas);
+        } = await request.post("companys/page", parmas);
         if (code === 200) {
             setFormData(data.records)
-            console.log(data.records)           
+            console.log(data.records)
         } else {
             notify(msg);
         }
-    }  
-  
+    }
+
     return (
         <Select
-        value={params.value}
-        onChange={(e) =>{
-            params.api.setEditCellValue({
-                id: params.id,
-                field: params.field,
-                value: e.target.value,
-              })
-              // 鎵惧埌閫変腑鐨勪緵搴斿晢璁板綍
-          const selectedSupplier = formData.find(supplier => supplier.name === e.target.value);
-          
-          // 濡傛灉鎵惧埌瀵瑰簲鐨勪緵搴斿晢璁板綍锛屽悓鏃舵洿鏂皊plrCode瀛楁
-          if (selectedSupplier) {
-            params.api.setEditCellValue({
-              id: params.id,
-              field: 'splrCode',
-              value: selectedSupplier.id,
-            });
-          }
+            value={params.value}
+            onChange={(e) => {
+                params.api.setEditCellValue({
+                    id: params.id,
+                    field: params.field,
+                    value: e.target.value,
+                })
+                // 鎵惧埌閫変腑鐨勪緵搴斿晢璁板綍
+                const selectedSupplier = formData.find(supplier => supplier.name === e.target.value);
 
-        }
-          
-        }
-        fullWidth
-       
-      >        
-          {formData.map(e => {
-            return(
-                <MenuItem value={e.name} children={e.name} key={e.id} />
-            );
-              
-          })}
-        
-      </Select>
+                // 濡傛灉鎵惧埌瀵瑰簲鐨勪緵搴斿晢璁板綍锛屽悓鏃舵洿鏂皊plrCode瀛楁
+                if (selectedSupplier) {
+                    params.api.setEditCellValue({
+                        id: params.id,
+                        field: 'splrCode',
+                        value: selectedSupplier.id,
+                    });
+                }
+
+            }
+
+            }
+            fullWidth
+
+        >
+            {formData.map(e => {
+                return (
+                    <MenuItem value={e.name} children={e.name} key={e.id} />
+                );
+
+            })}
+
+        </Select>
     );
-  };
+};
 
-  const SelectInputSplrCodeEditCell = (params) => {
+const SelectInputSplrCodeEditCell = (params) => {
     const [formData, setFormData] = useState([{}])
     useEffect(() => {
         getOptions();
     }, []);
-    const getOptions = async () => {        
-        const parmas = {    
-            "type": "supplier"       
+    const getOptions = async () => {
+        const parmas = {
+            "type": "supplier"
         }
         const {
             data: { code, data, msg },
-        } = await request.post("companys/page",parmas);
+        } = await request.post("companys/page", parmas);
         if (code === 200) {
             setFormData(data.records)
-            console.log(data.records)           
+            console.log(data.records)
         } else {
             notify(msg);
         }
-    }  
-  
+    }
+
     return (
         <Select
-        value={params.value}
-        onChange={(e) =>{
-            params.api.setEditCellValue({
-                id: params.id,
-                field: params.field,
-                value: e.target.value,
-              })
-              const selectedSupplier = formData.find(supplier => supplier.id === e.target.value);
-              
-              // 濡傛灉鎵惧埌瀵瑰簲鐨勪緵搴斿晢璁板綍锛屽悓鏃舵洿鏂皊plrCode瀛楁
-              if (selectedSupplier) {
+            value={params.value}
+            onChange={(e) => {
                 params.api.setEditCellValue({
-                  id: params.id,
-                  field: 'splrName',
-                  value: selectedSupplier.name,
-                });
-              }
-        }
-          
-        }
-        fullWidth
-        
-      >        
-          {formData.map(e => {
-            return(
-                <MenuItem value={e.id} children={e.name} key={e.id} />
-            );
-              
-          })}
-        
-      </Select>
+                    id: params.id,
+                    field: params.field,
+                    value: e.target.value,
+                })
+                const selectedSupplier = formData.find(supplier => supplier.id === e.target.value);
+
+                // 濡傛灉鎵惧埌瀵瑰簲鐨勪緵搴斿晢璁板綍锛屽悓鏃舵洿鏂皊plrCode瀛楁
+                if (selectedSupplier) {
+                    params.api.setEditCellValue({
+                        id: params.id,
+                        field: 'splrName',
+                        value: selectedSupplier.name,
+                    });
+                }
+            }
+
+            }
+            fullWidth
+
+        >
+            {formData.map(e => {
+                return (
+                    <MenuItem value={e.id} children={e.name} key={e.id} />
+                );
+
+            })}
+
+        </Select>
     );
-  };
+};
 
 
 
@@ -433,13 +429,6 @@
     const notify = useNotify();
 
     const [columns, setColumns] = useState([
-
-        {
-            field: 'maktx',
-            headerName: translate('table.field.asnOrderItem.maktx'),
-            width: 250,
-            editable: false,
-        },
         {
             field: 'matnrCode',
             headerName: translate('table.field.asnOrderItem.matnrCode'),
@@ -447,8 +436,14 @@
             editable: false,
         },
         {
+            field: 'maktx',
+            headerName: translate('table.field.asnOrderItem.maktx'),
+            width: 250,
+            editable: false,
+        },
+        {
             field: 'anfme',
-            headerName: translate('table.field.asnOrderItem.anfme')+"*",
+            headerName: translate('table.field.asnOrderItem.anfme') + "*",
             type: 'number',
             minWidth: 100,
             flex: 1,
@@ -458,26 +453,26 @@
         },
         {
             field: 'splrCode',
-            headerName: translate('table.field.asnOrderItem.splrCode')+"*",
+            headerName: translate('table.field.asnOrderItem.splrCode') + "*",
             minWidth: 100,
             flex: 1,
             editable: true,
             renderEditCell: (params) => (
                 <SelectInputSplrCodeEditCell {...params} />
             ),
-            headerClassName: "custom",         
-        },
-        {
-            field: 'splrName',
-            headerName: translate('table.field.asnOrderItem.splrName')+"*",
-            minWidth: 100,
-            flex: 1,
-            editable: true,
-            renderEditCell: (params) => (
-                <SelectInputSplrNameEditCell {...params} />
-            ),
             headerClassName: "custom",
         },
+        // {
+        //     field: 'splrName',
+        //     headerName: translate('table.field.asnOrderItem.splrName') + "*",
+        //     minWidth: 100,
+        //     flex: 1,
+        //     editable: true,
+        //     renderEditCell: (params) => (
+        //         <SelectInputSplrNameEditCell {...params} />
+        //     ),
+        //     headerClassName: "custom",
+        // },
         // {
         //     field: 'packName',
         //     headerName: translate('table.field.asnOrderItem.packName'),
@@ -492,13 +487,22 @@
         //     flex: 1,
         // },
         {
-            field: 'poCode',
-            headerName: translate('table.field.asnOrderItem.poDetlCode')+"*",
+            field: 'platItemId',
+            headerName: translate('table.field.asnOrderItem.platItemId') + "*",
             minWidth: 100,
             flex: 1,
             editable: true,
             headerClassName: "custom",
         },
+
+        // {
+        //     field: 'poCode',
+        //     headerName: translate('table.field.asnOrderItem.poDetlCode') + "*",
+        //     minWidth: 100,
+        //     flex: 1,
+        //     editable: true,
+        //     headerClassName: "custom",
+        // },
 
         {
             field: 'stockUnit',
@@ -563,7 +567,7 @@
                 headerName: el.fieldsAlise,
                 minWidth: 100,
                 flex: 1,
-                editable: false
+                editable: true
             }))
             setColumns([...columns, ...cols, action])
         } else {

--
Gitblit v1.9.1