From 953fa1c73524d39663ea3ee2031df1f1a6284fe2 Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期一, 02 二月 2026 16:16:49 +0800
Subject: [PATCH] 站点信息-可跨库区显示

---
 rsf-admin/src/page/basicInfo/basStation/CrossZoneAreaField.jsx |   22 ++++++++++++----------
 1 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/rsf-admin/src/page/basicInfo/basStation/CrossZoneAreaField.jsx b/rsf-admin/src/page/basicInfo/basStation/CrossZoneAreaField.jsx
index 708d31b..f81d839 100644
--- a/rsf-admin/src/page/basicInfo/basStation/CrossZoneAreaField.jsx
+++ b/rsf-admin/src/page/basicInfo/basStation/CrossZoneAreaField.jsx
@@ -20,31 +20,32 @@
     };
 
     const fetchAreaNames = async () => {
-        if (!record?.areas || record.areas.length === 0) return;
+        const areasData = record?.areaIds || record?.areas;
+        if (!areasData || areasData.length === 0) return;
 
         setLoading(true);
         try {
             // 鎻愬彇鎺掑簭淇℃伅鍜孖D
             // Old format: [1, 2, 3] (array of integers)
             // New format: [{id: 1, sort: 1}, {id: 2, sort: 2}] (array of objects)
-            const isObjectArray = record.areas.length > 0 && 
-                typeof record.areas[0] === 'object' && 
-                record.areas[0] !== null && 
-                'id' in record.areas[0];
+            const isObjectArray = areasData.length > 0 && 
+                typeof areasData[0] === 'object' && 
+                areasData[0] !== null && 
+                'id' in areasData[0];
             
             let areaIds = [];
             let sortMap = new Map(); // 瀛樺偍 id -> sort 鐨勬槧灏�
             
             if (isObjectArray) {
                 // 瀵硅薄鏁扮粍鏍煎紡锛屾彁鍙朓D鍜屾帓搴忎俊鎭�
-                areaIds = record.areas.map(area => {
+                areaIds = areasData.map(area => {
                     const id = area.id;
                     sortMap.set(id, area.sort || 0);
                     return id;
                 });
             } else {
                 // 绾疘D鏁扮粍鏍煎紡
-                areaIds = record.areas.map(id => Number(id));
+                areaIds = areasData.map(id => Number(id));
             }
             
             const res = await request.post(`/warehouseAreas/many/${areaIds.join(',')}`);
@@ -70,7 +71,8 @@
     };
 
     useEffect(() => {
-        if (record?.areas && record.areas.length !== 0 && record.areas.length > 0) {
+        const areasData = record?.areaIds || record?.areas;
+        if (areasData && areasData.length > 0) {
             fetchAreaNames();
         }
     }, [record]);
@@ -101,10 +103,10 @@
                         label={`+${areaNames.length - 1}`}
                     />
                 )}
-                {areaNames.length === 0 && record.areas && record.areas.length > 0 && (
+                {areaNames.length === 0 && (record?.areaIds || record?.areas) && (record?.areaIds || record?.areas).length > 0 && (
                     <Chip
                         size="small"
-                        label={`${record.areas.length} 涓尯鍩焋}
+                        label={`${(record?.areaIds || record?.areas).length} 涓尯鍩焋}
                     />
                 )}
             </Stack>

--
Gitblit v1.9.1