From 5b7b608a6acd3a6178687372cdb6b74198e23376 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期二, 03 三月 2026 13:52:44 +0800
Subject: [PATCH] #

---
 rsf-admin/src/page/components/DictionarySelect.jsx                                               |   50 +++++++++++++++++++++++++++++++++-----------------
 rsf-admin/src/page/orders/preparation/PreparationOrderList.jsx                                   |    1 -
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatPreparationController.java |    2 +-
 3 files changed, 34 insertions(+), 19 deletions(-)

diff --git a/rsf-admin/src/page/components/DictionarySelect.jsx b/rsf-admin/src/page/components/DictionarySelect.jsx
index 41101ee..e6934f9 100644
--- a/rsf-admin/src/page/components/DictionarySelect.jsx
+++ b/rsf-admin/src/page/components/DictionarySelect.jsx
@@ -9,21 +9,21 @@
 import request from '@/utils/request';
 
 const DictionarySelect = (props) => {
-    const { 
-        dictTypeCode, 
-        name, 
+    const {
+        dictTypeCode,
+        name,
         group,
-        multiple = false, 
+        multiple = false,
         perPage = 100,  // 榛樿姣忛〉鏄剧ず100鏉℃暟鎹�
         page = 1,       // 榛樿绗竴椤�
-        ...parmas 
+        ...parmas
     } = props;
     const translate = useTranslate();
     const notify = useNotify();
     const { watch } = useFormContext();
     const [list, setList] = useState([]);
     const [loading, setLoading] = useState(false);
-    
+
     // 鑾峰彇褰撳墠琛ㄥ崟鍊�
     const currentValue = watch(name);
 
@@ -34,13 +34,13 @@
     const http = async () => {
         setLoading(true);
         try {
-            const res = await request.post('/dictData/page', { 
+            const res = await request.post('/dictData/page', {
                 dictTypeCode,
                 group,
                 current: page,
                 pageSize: perPage
             });
-            
+
             if (res?.data?.code === 200) {
                 setList(res.data.data.records.map((item) => {
                     return {
@@ -64,21 +64,37 @@
         if (!list || list.length === 0) {
             // 濡傛灉鍒楄〃涓虹┖浣嗗綋鍓嶆湁鍊硷紝娣诲姞鍗犱綅閫夐」浠ラ伩鍏嶈鍛�
             if (currentValue !== undefined && currentValue !== null && currentValue !== '') {
+                if (multiple && Array.isArray(currentValue)) {
+                    return currentValue.map(v => ({ id: v, name: String(v) }));
+                }
                 return [{ id: currentValue, name: String(currentValue) }];
             }
             return [];
         }
-        
-        // 妫�鏌ュ綋鍓嶅�兼槸鍚﹀湪閫夐」涓�
-        const valueExists = list.some(item => String(item.id) === String(currentValue));
-        
-        // 濡傛灉褰撳墠鍊间笉鍦ㄩ�夐」涓紝娣诲姞瀹冿紙鍙兘鏄姞杞藉欢杩熷鑷寸殑锛�
-        if (currentValue !== undefined && currentValue !== null && currentValue !== '' && !valueExists) {
-            return [...list, { id: currentValue, name: String(currentValue) }];
+
+        if (currentValue !== undefined && currentValue !== null && currentValue !== '') {
+            if (multiple && Array.isArray(currentValue)) {
+                let newChoices = [...list];
+                currentValue.forEach(val => {
+                    const exists = newChoices.some(item => String(item.id) === String(val));
+                    if (!exists) {
+                        newChoices.push({ id: val, name: String(val) });
+                    }
+                });
+                return newChoices;
+            } else {
+                // 妫�鏌ュ綋鍓嶅�兼槸鍚﹀湪閫夐」涓�
+                const valueExists = list.some(item => String(item.id) === String(currentValue));
+
+                // 濡傛灉褰撳墠鍊间笉鍦ㄩ�夐」涓紝娣诲姞瀹冿紙鍙兘鏄姞杞藉欢杩熷鑷寸殑锛�
+                if (!valueExists) {
+                    return [...list, { id: currentValue, name: String(currentValue) }];
+                }
+            }
         }
-        
+
         return list;
-    }, [list, currentValue]);
+    }, [list, currentValue, multiple]);
 
     const InputComponent = multiple ? SelectArrayInput : SelectInput;
 
diff --git a/rsf-admin/src/page/orders/preparation/PreparationOrderList.jsx b/rsf-admin/src/page/orders/preparation/PreparationOrderList.jsx
index 8f3a8ff..2422e13 100644
--- a/rsf-admin/src/page/orders/preparation/PreparationOrderList.jsx
+++ b/rsf-admin/src/page/orders/preparation/PreparationOrderList.jsx
@@ -224,7 +224,6 @@
         actions={(
           <TopToolbar>
             <FilterButton />
-            <CreateByOrderButton setCreateDialog={setCreateDialog} />
             <MyCreateButton onClick={() => { setManualDialog(true); setmodalType(0) }} />
             <ColumnsButton storeKey='outStock' />
             <ImportButton value={'outStockItem'} />
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatPreparationController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatPreparationController.java
index 9e416e6..e729b28 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatPreparationController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatPreparationController.java
@@ -115,7 +115,7 @@
     }
 
     @PreAuthorize("hasAuthority('manager:outStock:update')")
-    @OperationLog("Update 锛涘嚭搴撳崟鎹�")
+    @OperationLog("Update 鍑哄簱鍗曟嵁")
     @PostMapping("/preparation/update")
     @ApiOperation("鏇存柊")
     public R update(@RequestBody WkOrder wkOrder) {

--
Gitblit v1.9.1