From 50f2f8945f1ab86c931fee6cf9d9bd88a122ae6e Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期六, 07 六月 2025 17:14:47 +0800
Subject: [PATCH] #单据出库

---
 rsf-admin/src/page/orders/outStock/OutStockPublic.jsx |   72 ++++++++++++++++++++++++++++++++---
 1 files changed, 65 insertions(+), 7 deletions(-)

diff --git a/rsf-admin/src/page/orders/outStock/OutStockPublic.jsx b/rsf-admin/src/page/orders/outStock/OutStockPublic.jsx
index c2c399a..fac542a 100644
--- a/rsf-admin/src/page/orders/outStock/OutStockPublic.jsx
+++ b/rsf-admin/src/page/orders/outStock/OutStockPublic.jsx
@@ -34,15 +34,16 @@
     AutocompleteInput,
     DeleteButton,
     SimpleForm,
+    required,
     Form,
-    SaveButton,
-    useRefresh,
-    useGetList,
-    useGetOne,
 } from 'react-admin';
 import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE, DEFAULT_ITEM_PAGE_SIZE } from '@/config/setting';
 import { styled } from '@mui/material/styles';
 import { DataGrid } from '@mui/x-data-grid';
+import request from '@/utils/request';
+import DictSelect from "../../components/DictSelect";
+import ConfirmationNumberOutlinedIcon from '@mui/icons-material/ConfirmationNumberOutlined';
+import CloseSharpIcon from '@mui/icons-material/CloseSharp';
 
 const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
     '& .css-1vooibu-MuiSvgIcon-root': {
@@ -51,11 +52,41 @@
     '& .RaDatagrid-row': {
         cursor: 'auto'
     },
+    '& .column-maktx': {
+        width: 200
+    }
 }));
 
 
 const OutStockPublic = (props) => {
-    const { record } = props;
+    const { record, open } = props;
+    const notify = useNotify();
+    const translate = useTranslate();
+    const [formData, setFormData] = useState({
+        orderId: record?.id
+    });
+    useEffect(() => {
+        getWaveRule()
+    }, [formData, open])
+
+    const getWaveRule = async () => {
+        if (formData.waveId == null && formData.waveId == undefined) {
+            return
+        }
+        const res = await request.post('/outStock/order/getOutTaskItems', { ...formData });
+        if (res?.data?.code === 200) {
+            setRows(res.data.data.records)
+        } else {
+            notify(res.data.msg);
+        }
+    }
+
+    const handleChange = (value, name) => {
+        setFormData((prevData) => ({
+            ...prevData,
+            [name]: value
+        }));
+    };
 
     return (
         <>
@@ -63,6 +94,26 @@
                 <Grid sx={{ display: "flex" }} container rowSpacing={2} columnSpacing={2}>
                     <Grid item xl={6} gap={2} >
                         <Card>
+                            <Form>
+                                <ReferenceInput
+                                    source="type"
+                                    reference="waveRule"
+                                >
+                                    <AutocompleteInput
+                                        label="table.field.waveRule.type"
+                                        onChange={(e) => handleChange(e, 'waveId')}
+                                        value={formData.type}
+                                        validate={required()}
+                                    />
+                                </ReferenceInput>
+                            </Form>
+                            {/* <DictSelect
+                                label={translate("table.field.waveRule.type")}
+                                onChange={(e) => handleChange(e.target.value, 'type')}
+                                value={formData.type}
+                                dictTypeCode="sys_wave_rule_code"
+                                required
+                            /> */}
                             <List
                                 resource="outStockItem"
                                 storeKey='outStockItem'
@@ -77,7 +128,9 @@
                                 empty={false}
                                 filter={{ asnId: record?.id, deleted: 0 }}
                                 sort={{ field: "create_time", order: "desc" }}
-                                actions={false}
+                                actions={(
+                                    <SelectColumnsButton preferenceKey='outStock' />
+                                )}
                                 perPage={DEFAULT_ITEM_PAGE_SIZE}
                             >
                                 <LinearProgress
@@ -87,7 +140,7 @@
                                     preferenceKey='outStockItem'
                                     bulkActionButtons={false}
                                     rowClick={false}
-                                    omit={['id', 'splrName', 'qty']}
+                                    omit={['id', 'splrName', 'qty', 'poCode', 'workQty']}
                                 >
                                     <NumberField source="id" />
                                     <TextField source="asnCode" label="table.field.outStockItem.asnCode" />
@@ -120,6 +173,10 @@
                                     disableRowSelectionOnClick
                                 />
                             </Box>
+                            <Box sx={{ textAlign: 'center' }}>
+                                <Button label="toolbar.close" variant="outlined" size="medium" startIcon={<CloseSharpIcon />} sx={{ margin: '3.5em' }} />
+                                <Button label="toolbar.confirm" variant="contained" size="medium" startIcon={<ConfirmationNumberOutlinedIcon />} />
+                            </Box>
                         </Card>
                     </Grid>
                 </Grid>
@@ -129,6 +186,7 @@
 }
 
 
+
 const rows = [
     { id: 1, locCode: '03-02-1-2-1', container: 'Snow', batch: 'Jon', curQty: 14 },
     { id: 2, locCode: '03-02-1-2-1', container: 'Lannister', batch: 'Cersei', curQty: 31 },

--
Gitblit v1.9.1