From 0d42706148e164656334d3dbd284daf4f2bf1b30 Mon Sep 17 00:00:00 2001
From: verou <857149855@qq.com>
Date: 星期四, 03 四月 2025 16:59:27 +0800
Subject: [PATCH] feat:收货单完成

---
 rsf-admin/src/page/asnOrder/AsnOrderList.jsx                     |   29 ++++++++++++++
 rsf-admin/src/page/asnOrder/AsnOrderPanel.jsx                    |   12 +++++-
 rsf-admin/src/page/qlyInspect/QlyInspectList.jsx                 |   24 ++++++++---
 rsf-admin/.env                                                   |    2 
 rsf-admin/src/page/warehouseAreasItem/WarehouseAreasItemList.jsx |    2 
 rsf-admin/src/page/asnOrder/AsnOrderModal.jsx                    |    4 +
 6 files changed, 60 insertions(+), 13 deletions(-)

diff --git a/rsf-admin/.env b/rsf-admin/.env
index 75359a8..a8ce658 100644
--- a/rsf-admin/.env
+++ b/rsf-admin/.env
@@ -1,3 +1,3 @@
-VITE_BASE_IP=192.168.4.13
+VITE_BASE_IP=192.168.4.24
 # VITE_BASE_IP=47.76.147.249
 VITE_BASE_PORT=8080
diff --git a/rsf-admin/src/page/asnOrder/AsnOrderList.jsx b/rsf-admin/src/page/asnOrder/AsnOrderList.jsx
index 70af9af..ad77e8f 100644
--- a/rsf-admin/src/page/asnOrder/AsnOrderList.jsx
+++ b/rsf-admin/src/page/asnOrder/AsnOrderList.jsx
@@ -48,6 +48,7 @@
 import ConstructionIcon from "@mui/icons-material/Construction";
 import FileDownloadIcon from '@mui/icons-material/FileDownload';
 import EditIcon from '@mui/icons-material/Edit';
+import TaskIcon from '@mui/icons-material/Task';
 import request from '@/utils/request';
 
 
@@ -101,6 +102,7 @@
   const [createDialog, setCreateDialog] = useState(false);
   const [drawerVal, setDrawerVal] = useState(false);
   const [modalType, setmodalType] = useState(0);
+  const [billReload, setBillReload] = useState(null);
 
   const navigate = useNavigate();
   const assign = (record) => {
@@ -138,7 +140,7 @@
           preferenceKey='asnOrder'
           bulkActionButtons={<> <InspectionsButton /><BulkDeleteButton mutationMode={OPERATE_MODE} /></>}
           rowClick={() => false}
-          expand={<AsnOrderPanel />}
+          expand={<AsnOrderPanel setBillReload={setBillReload} />}
           expandSingle={true}
           omit={['id', 'createTime', 'createBy', 'memo', 'poId']}
         >
@@ -179,6 +181,7 @@
             >
             </Button> */}
             <InspectionButton />
+            <CompleteButton />
             <DeleteButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} />
           </WrapperField>
         </StyledDatagrid>
@@ -187,6 +190,7 @@
         open={createDialog}
         setOpen={setCreateDialog}
         asnId={modalType}
+        billReload={billReload}
       />
       <PageDrawer
         title='AsnOrder Detail'
@@ -278,3 +282,26 @@
     </Button>
   )
 }
+
+const CompleteButton = () => {
+  const record = useRecordContext();
+  const notify = useNotify();
+  const refresh = useRefresh();
+  const requestComplete = async () => {
+    const { data: { code, data, msg } } = await request.post(`/asnOrder/complete/${record.id}`);
+
+    if (code === 200) {
+      notify(msg);
+      refresh()
+    } else {
+      notify(msg);
+    }
+  }
+
+
+  return (
+    <Button onClick={requestComplete} label={"toolbar.complete"} color="success">
+      <TaskIcon />
+    </Button>
+  )
+}
diff --git a/rsf-admin/src/page/asnOrder/AsnOrderModal.jsx b/rsf-admin/src/page/asnOrder/AsnOrderModal.jsx
index 9bb5800..3f6b568 100644
--- a/rsf-admin/src/page/asnOrder/AsnOrderModal.jsx
+++ b/rsf-admin/src/page/asnOrder/AsnOrderModal.jsx
@@ -57,7 +57,7 @@
 import DictSelect from "../components/DictSelect";
 
 const AsnOrderModal = (props) => {
-    const { open, setOpen, asnId } = props;
+    const { open, setOpen, asnId, billReload } = props;
 
     const translate = useTranslate();
     const notify = useNotify();
@@ -108,6 +108,7 @@
             const res = await request.post(`/asnOrder/items/save`, parmas);
             if (res?.data?.code === 200) {
                 setOpen(false);
+                billReload()
                 refresh();
             } else {
                 notify(res.data.msg);
@@ -121,6 +122,7 @@
             if (res?.data?.code === 200) {
                 setOpen(false);
                 refresh();
+
             } else {
                 notify(res.data.msg);
             }
diff --git a/rsf-admin/src/page/asnOrder/AsnOrderPanel.jsx b/rsf-admin/src/page/asnOrder/AsnOrderPanel.jsx
index 1880e12..0d858d2 100644
--- a/rsf-admin/src/page/asnOrder/AsnOrderPanel.jsx
+++ b/rsf-admin/src/page/asnOrder/AsnOrderPanel.jsx
@@ -15,7 +15,7 @@
 import { DataGrid } from '@mui/x-data-grid';
 import PrintModal from './PrintModal';
 import { width } from "@mui/system";
-const AsnOrderPanel = () => {
+const AsnOrderPanel = ({ setBillReload }) => {
     const record = useRecordContext();
     if (!record) return null;
     const translate = useTranslate();
@@ -26,7 +26,13 @@
 
     useEffect(() => {
         debouncedHttp({ maktx });
+        setBillReload(http)
     }, [asnId, maktx]);
+
+    useEffect(() => {
+        setBillReload(http)
+    }, []);
+
 
 
     const http = async (parmas) => {
@@ -37,6 +43,7 @@
             notify(res.data.msg);
         }
     }
+
 
     const debouncedHttp = useMemo(() => debounce(http, 300), []);
 
@@ -104,7 +111,8 @@
         },
         {
             field: 'trackCode',
-            headerName: translate('table.field.asnOrderItem.barcode')
+            headerName: translate('table.field.asnOrderItem.barcode'),
+            width: 150
         },
         {
             field: 'prodTime',
diff --git a/rsf-admin/src/page/qlyInspect/QlyInspectList.jsx b/rsf-admin/src/page/qlyInspect/QlyInspectList.jsx
index b30ce29..46b4912 100644
--- a/rsf-admin/src/page/qlyInspect/QlyInspectList.jsx
+++ b/rsf-admin/src/page/qlyInspect/QlyInspectList.jsx
@@ -107,7 +107,13 @@
                     marginRight: drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0,
                 }}
                 title={"menu.qlyInspect"}
-                empty={<EmptyData onClick={() => { setCreateDialog(true) }} />}
+                empty={<EmptyData
+                    children={
+                        <Box sx={{ gap: 2, display: 'flex' }}>
+                            <AsnCreatButton isInit={true} />
+                        </Box>
+                    }
+                    onClick={() => { }} />}
                 filters={filters}
                 sort={{ field: "create_time", order: "desc" }}
                 actions={(
@@ -244,19 +250,23 @@
     )
 }
 
-const AsnCreatButton = () => {
+const AsnCreatButton = ({ isInit }) => {
     const record = useRecordContext();
     const notify = useNotify();
     const refresh = useRefresh();
     const [createDialog, setCreateDialog] = useState(false);
 
-
-
     return (
         <>
-            <Button onClick={() => setCreateDialog(true)} label={"toolbar.asnCreate"}>
-                <AddIcon />
-            </Button>
+            {
+                isInit ? <Button onClick={() => setCreateDialog(true)} label={"toolbar.asnCreate"} variant="contained"
+                    color="primary">
+                    <AddIcon />
+                </Button> : <Button onClick={() => setCreateDialog(true)} label={"toolbar.asnCreate"} >
+                    <AddIcon />
+                </Button>
+            }
+
 
             <AsnSelModal
                 open={createDialog}
diff --git a/rsf-admin/src/page/warehouseAreasItem/WarehouseAreasItemList.jsx b/rsf-admin/src/page/warehouseAreasItem/WarehouseAreasItemList.jsx
index 999b8d4..37aa8a0 100644
--- a/rsf-admin/src/page/warehouseAreasItem/WarehouseAreasItemList.jsx
+++ b/rsf-admin/src/page/warehouseAreasItem/WarehouseAreasItemList.jsx
@@ -127,7 +127,7 @@
                     preferenceKey='warehouseAreasItem'
                     bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />}
                     rowClick={(id, resource, record) => false}
-                    omit={['id', 'createTime', 'createBy', 'memo']}
+                    omit={['id', 'createTime', 'createBy', 'memo', 'areaId', 'matnrId']}
                 >
                     <NumberField source="id" />
                     <NumberField source="areaId" label="table.field.warehouseAreasItem.areaId" />

--
Gitblit v1.9.1