From 6867bd50c316d0d628adf35023f01c82523c66a8 Mon Sep 17 00:00:00 2001
From: verou <857149855@qq.com>
Date: 星期三, 26 三月 2025 08:03:20 +0800
Subject: [PATCH] fix:库位分区

---
 rsf-admin/src/page/basicInfo/loc/BindModal.jsx              |   16 ++++----
 rsf-admin/src/page/basicInfo/locType/BindModal.jsx          |   16 ++++----
 rsf-admin/src/page/basicInfo/matnr/BindModal.jsx            |   21 ++++++++++
 rsf-admin/src/i18n/zh.js                                    |    2 +
 rsf-admin/src/page/basicInfo/matnr/MatnrList.jsx            |   50 +++++++++++++++++++++++++
 rsf-admin/.env                                              |    4 +-
 rsf-admin/src/page/basicInfo/locAreaMat/LocAreaMatPanel.jsx |    8 ++--
 7 files changed, 94 insertions(+), 23 deletions(-)

diff --git a/rsf-admin/.env b/rsf-admin/.env
index a8ce658..9669b2c 100644
--- a/rsf-admin/.env
+++ b/rsf-admin/.env
@@ -1,3 +1,3 @@
-VITE_BASE_IP=192.168.4.24
-# VITE_BASE_IP=47.76.147.249
+# VITE_BASE_IP=192.168.4.24
+VITE_BASE_IP=47.76.147.249
 VITE_BASE_PORT=8080
diff --git a/rsf-admin/src/i18n/zh.js b/rsf-admin/src/i18n/zh.js
index dc195f9..8358e70 100644
--- a/rsf-admin/src/i18n/zh.js
+++ b/rsf-admin/src/i18n/zh.js
@@ -652,6 +652,8 @@
         batchMix: '鎵归噺娣锋斁',
         batchWarehouse: '鎵归噺浠撳簱',
         batchStockLevel: "鎵归噺ABC鍒嗙被",
+        batchValidWarn: "鎵归噺棰勮",
+        batchFlagCheck: "鎵归噺鍏嶆",
     },
 };
 
diff --git a/rsf-admin/src/page/basicInfo/loc/BindModal.jsx b/rsf-admin/src/page/basicInfo/loc/BindModal.jsx
index 04cd607..bef8401 100644
--- a/rsf-admin/src/page/basicInfo/loc/BindModal.jsx
+++ b/rsf-admin/src/page/basicInfo/loc/BindModal.jsx
@@ -60,7 +60,7 @@
     const notify = useNotify();
 
     const [formData, setFormData] = useState({
-        areaId: null,
+        areaMatId: null,
         groupId: null,
         matnrId: null,
     });
@@ -78,7 +78,7 @@
 
     const reset = () => {
         setFormData({
-            areaId: null,
+            areaMatId: null,
             groupId: null,
             matnrId: null,
         })
@@ -109,7 +109,7 @@
     const handleSubmit = async () => {
         const parmas = {
             locId: selectedIds,
-            areaId: formData.areaId,
+            areaMatId: formData.areaMatId,
             matnrId: formData.matnrId,
         }
 
@@ -140,14 +140,14 @@
                         <Grid container spacing={2}>
                             <Grid item xs={4}>
                                 <ReferenceInput
-                                    source="areaId"
-                                    reference="warehouseAreas"
+                                    source="areaMatId"
+                                    reference="locArea"
                                 >
                                     <AutocompleteInput
-                                        label="table.field.loc.areaId"
+                                        label="table.field.loc.locAreaId"
                                         optionText="name"
-                                        onChange={(value) => handleChange(value, 'areaId')}
-                                        value={formData.areaId}
+                                        onChange={(value) => handleChange(value, 'areaMatId')}
+                                        value={formData.areaMatId}
                                         validate={required()}
                                         filterToQuery={(val) => ({ name: val })}
                                     />
diff --git a/rsf-admin/src/page/basicInfo/locAreaMat/LocAreaMatPanel.jsx b/rsf-admin/src/page/basicInfo/locAreaMat/LocAreaMatPanel.jsx
index 7620e16..330640d 100644
--- a/rsf-admin/src/page/basicInfo/locAreaMat/LocAreaMatPanel.jsx
+++ b/rsf-admin/src/page/basicInfo/locAreaMat/LocAreaMatPanel.jsx
@@ -243,11 +243,11 @@
         <Card sx={{ p: 1 }}>
             <div style={{ display: 'flex', justifyContent: 'space-between', paddingBottom: '3px', marginBottom: '3px', borderBottom: '1px dashed #d4d4d4' }}>
                 <div style={{ fontSize: '17px' }}>鐗╂枡鍒嗙粍</div>
-                <div style={{ display: 'flex', alignItems: 'center', gap: '3px' }}>
+                {/* <div style={{ display: 'flex', alignItems: 'center', gap: '3px' }}>
                     <AddIcon color={'info'} sx={{ cursor: 'pointer' }} onClick={() => handleAdd()} />
 
                     <DeleteIcon color={'warning'} sx={{ cursor: 'pointer' }} onClick={() => handleDelete()} />
-                </div>
+                </div> */}
             </div>
 
             <RichTreeView
@@ -379,11 +379,11 @@
         <Card sx={{ p: 1 }}>
             <div style={{ display: 'flex', justifyContent: 'space-between', paddingBottom: '3px', marginBottom: '3px', borderBottom: '1px dashed #d4d4d4' }}>
                 <div style={{ fontSize: '17px' }}>搴撲綅绫诲瀷</div>
-                <div style={{ display: 'flex', alignItems: 'center', gap: '3px' }}>
+                {/* <div style={{ display: 'flex', alignItems: 'center', gap: '3px' }}>
                     <AddIcon color={'info'} sx={{ cursor: 'pointer' }} onClick={() => handleAdd()} />
 
                     <DeleteIcon color={'warning'} sx={{ cursor: 'pointer' }} onClick={() => handleDelete()} />
-                </div>
+                </div> */}
             </div>
 
             <RichTreeView
diff --git a/rsf-admin/src/page/basicInfo/locType/BindModal.jsx b/rsf-admin/src/page/basicInfo/locType/BindModal.jsx
index 310dd74..d24442a 100644
--- a/rsf-admin/src/page/basicInfo/locType/BindModal.jsx
+++ b/rsf-admin/src/page/basicInfo/locType/BindModal.jsx
@@ -62,7 +62,7 @@
     const notify = useNotify();
 
     const [formData, setFormData] = useState({
-        areaId: null,
+        areaMatId: null,
         groupId: null,
         matnrId: null,
     });
@@ -80,7 +80,7 @@
 
     const reset = () => {
         setFormData({
-            areaId: null,
+            areaMatId: null,
             groupId: null,
             matnrId: null,
         })
@@ -111,7 +111,7 @@
     const handleSubmit = async () => {
         const parmas = {
             typeId: selectedIds,
-            areaId: formData.areaId,
+            areaMatId: formData.areaMatId,
             matnrId: formData.matnrId,
         }
 
@@ -142,14 +142,14 @@
                         <Grid container spacing={2}>
                             <Grid item xs={4}>
                                 <ReferenceInput
-                                    source="areaId"
-                                    reference="warehouseAreas"
+                                    source="areaMatId"
+                                    reference="locArea"
                                 >
                                     <AutocompleteInput
-                                        label="table.field.loc.areaId"
+                                        label="table.field.loc.locAreaId"
                                         optionText="name"
-                                        onChange={(value) => handleChange(value, 'areaId')}
-                                        value={formData.areaId}
+                                        onChange={(value) => handleChange(value, 'areaMatId')}
+                                        value={formData.areaMatId}
                                         validate={required()}
                                         filterToQuery={(val) => ({ name: val })}
                                     />
diff --git a/rsf-admin/src/page/basicInfo/matnr/BindModal.jsx b/rsf-admin/src/page/basicInfo/matnr/BindModal.jsx
index 3ada880..9808136 100644
--- a/rsf-admin/src/page/basicInfo/matnr/BindModal.jsx
+++ b/rsf-admin/src/page/basicInfo/matnr/BindModal.jsx
@@ -60,6 +60,7 @@
     const notify = useNotify();
 
     const [formData, setFormData] = useState({
+        areaMatId: null,
         areaId: null,
         locId: null,
     });
@@ -77,6 +78,7 @@
 
     const reset = () => {
         setFormData({
+            areaMatId: null,
             areaId: null,
             locId: null,
         })
@@ -107,6 +109,7 @@
     const handleSubmit = async () => {
         const parmas = {
             matnrId: selectedIds,
+            areaMatId: formData.areaMatId,
             areaId: formData.areaId,
             locId: formData.locId,
         }
@@ -138,6 +141,22 @@
                         <Grid container spacing={2}>
                             <Grid item xs={4}>
                                 <ReferenceInput
+                                    source="areaMatId"
+                                    reference="locArea"
+                                >
+                                    <AutocompleteInput
+                                        label="table.field.loc.locAreaId"
+                                        optionText="name"
+                                        onChange={(value) => handleChange(value, 'areaMatId')}
+                                        value={formData.areaMatId}
+                                        validate={required()}
+                                        filterToQuery={(val) => ({ name: val })}
+                                    />
+                                </ReferenceInput>
+                            </Grid>
+
+                            <Grid item xs={4}>
+                                <ReferenceInput
                                     source="areaId"
                                     reference="warehouseAreas"
                                 >
@@ -155,7 +174,7 @@
 
 
                             <Grid item xs={4}>
-                                <ReferenceArrayInput source="locId" reference="loc" >
+                                <ReferenceArrayInput source="locId" reference="loc" filter={{ areaId: formData.areaId }}>
                                     <SelectArrayInput
                                         label="table.field.locAreaMatRela.locId"
                                         validate={required()}
diff --git a/rsf-admin/src/page/basicInfo/matnr/MatnrList.jsx b/rsf-admin/src/page/basicInfo/matnr/MatnrList.jsx
index 4114430..6bfc5ee 100644
--- a/rsf-admin/src/page/basicInfo/matnr/MatnrList.jsx
+++ b/rsf-admin/src/page/basicInfo/matnr/MatnrList.jsx
@@ -242,6 +242,8 @@
                     preferenceKey='matnr'
                     bulkActionButtons={<>
                         <BatchGroupButton />
+                        <BatchWarnButton />
+                        <BatchFlagButton />
                         <BatchStatusButton />
                         <BatchLevelButton />
                         <BindButton />
@@ -388,6 +390,54 @@
     )
 }
 
+const BatchWarnButton = () => {
+    const record = useRecordContext();
+    const notify = useNotify();
+    const refresh = useRefresh();
+
+
+    const [createDialog, setCreateDialog] = useState(false);
+
+    return (
+        <>
+            <Button onClick={() => setCreateDialog(true)} label={"toolbar.batchValidWarn"}>
+                <EditIcon />
+            </Button>
+
+            <BatchModal
+                open={createDialog}
+                setOpen={setCreateDialog}
+                fieldType={'validWarn'}
+            />
+        </>
+
+    )
+}
+
+const BatchFlagButton = () => {
+    const record = useRecordContext();
+    const notify = useNotify();
+    const refresh = useRefresh();
+
+
+    const [createDialog, setCreateDialog] = useState(false);
+
+    return (
+        <>
+            <Button onClick={() => setCreateDialog(true)} label={"toolbar.batchFlagCheck"}>
+                <EditIcon />
+            </Button>
+
+            <BatchModal
+                open={createDialog}
+                setOpen={setCreateDialog}
+                fieldType={'flagCheck'}
+            />
+        </>
+
+    )
+}
+
 const BatchGroupButton = () => {
     const record = useRecordContext();
     const notify = useNotify();

--
Gitblit v1.9.1