From e01c5a713793239e26b2e304fafd551affa4bcfc Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期二, 29 四月 2025 17:36:18 +0800
Subject: [PATCH] 波次任务下发功能优化

---
 rsf-admin/src/page/orders/wave/ItemToTaskModal.jsx |   32 +++++++++++++++++++++-----------
 1 files changed, 21 insertions(+), 11 deletions(-)

diff --git a/rsf-admin/src/page/orders/wave/ItemToTaskModal.jsx b/rsf-admin/src/page/orders/wave/ItemToTaskModal.jsx
index d37edc4..955470f 100644
--- a/rsf-admin/src/page/orders/wave/ItemToTaskModal.jsx
+++ b/rsf-admin/src/page/orders/wave/ItemToTaskModal.jsx
@@ -150,7 +150,7 @@
                 </DialogContent>
                 <DialogActions>
                     <Toolbar sx={{ width: '100%', justifyContent: 'end' }} >
-                        <GenerateTaskButton record={record?.id} dataSource={data} />
+                        <GenerateTaskButton record={record?.id} dataSource={data} setOpen={setOpen}/>
                     </Toolbar>
                 </DialogActions>
             </Dialog>
@@ -160,22 +160,32 @@
 
 export default ItemToTaskModal;
 
-const GenerateTaskButton = (record, dataSource) => {
+const GenerateTaskButton = (record) => {
     const refresh = useRefresh();
     const notify = useNotify();
     const redirect = useRedirect();
+    const translate = useTranslate();
+    const { locs, setLocs } = useState([]);
     const generateTask = async () => {
-        const params = {wave: record, waveItem: dataSource}
-        console.log('---------->');
-        console.log(record);
-        const res = await request.post(`/wave/public/task`, { wave: record?.record, waveItem: record?.dataSource });
-        if (res?.data?.code === 200) {
-            notify(res.data.msg);
-            redirect("/task")
+        record?.dataSource.map(item => {
+            const loc = JSON.parse(item.stockLocs);
+            if (loc != undefined && loc.length > 0) {
+                setLocs(...loc)
+            }
+        })
+        if (locs == undefined || locs.length < 1) {
+            notify(translate('request.error.stock'))
         } else {
-            notify(res.data.msg);
+            const res = await request.post(`/wave/public/task`, { wave: record?.record, waveItem: record?.dataSource });
+            if (res?.data?.code === 200) {
+                notify(res.data.msg);
+                redirect("/task")
+            } else {
+                notify(res.data.msg);
+            }
+            refresh();
         }
-        refresh();
+        record.setOpen(false)
     }
     return (<Button variant="contained" label={"ra.action.save"} onClick={generateTask}></Button>)
 }

--
Gitblit v1.9.1