From bb69d7a4bdfbb90cde19b3d828f490ab10f2bb43 Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期一, 02 二月 2026 15:44:33 +0800
Subject: [PATCH] 库区增加序号

---
 rsf-admin/src/page/basicInfo/locArea/LocAreaEdit.jsx                               |    1 
 rsf-admin/src/page/basicInfo/locAreaMat/BindLocModal.jsx                           |    1 
 rsf-admin/src/page/basicInfo/deviceSite/InitModal.jsx                              |    4 +-
 rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WarehouseAreas.java |    6 +++
 rsf-admin/src/page/deviceBind/DeviceBindCreate.jsx                                 |    2 
 rsf-admin/src/page/basicInfo/locAreaMatRela/LocAreaMatRelaEdit.jsx                 |    1 
 rsf-admin/src/page/locPreview/LocPreviewList.jsx                                   |    1 
 rsf-admin/src/page/basicInfo/loc/LocCreate.jsx                                     |    1 
 rsf-admin/src/page/basicInfo/locArea/LocAreaCreate.jsx                             |    1 
 rsf-admin/src/page/warehouseAreas/WarehouseAreasEdit.jsx                           |    7 +++
 rsf-admin/src/page/deviceBind/DeviceBindEdit.jsx                                   |    2 
 rsf-admin/src/page/basicInfo/locAreaMat/LocAreaMatCreate.jsx                       |    1 
 rsf-admin/src/page/stockManage/locRevise/LocReviseCreate.jsx                       |    2 
 rsf-admin/src/page/basicInfo/basContainer/BasContainerEdit.jsx                     |    2 
 version/db/man_warehouse_areas_add_sort.sql                                        |   12 ++++++
 rsf-admin/src/i18n/zh.js                                                           |    1 
 rsf-admin/src/i18n/en.js                                                           |    1 
 rsf-admin/src/page/basicInfo/basStation/BasStationEdit.jsx                         |    4 +-
 rsf-admin/src/page/basicInfo/locAreaMat/LocAreaMatEdit.jsx                         |    1 
 rsf-admin/src/page/basicInfo/loc/BatchModal.jsx                                    |    1 
 rsf-admin/src/page/basicInfo/basContainer/BasContainerCreate.jsx                   |    2 
 rsf-admin/src/page/components/AreasSortInput.jsx                                   |   17 ++++++--
 rsf-admin/src/page/basicInfo/loc/LocList.jsx                                       |    1 
 rsf-admin/src/page/basicInfo/basStation/BasStationCreate.jsx                       |    4 +-
 rsf-admin/src/page/basicInfo/loc/InitModal.jsx                                     |    1 
 rsf-admin/src/page/warehouseAreas/WarehouseAreasCreate.jsx                         |    5 ++
 rsf-admin/src/page/warehouseAreas/WarehouseAreasList.jsx                           |    1 
 rsf-admin/src/page/basicInfo/matnr/BindModal.jsx                                   |    1 
 rsf-admin/src/page/basicInfo/loc/LocEdit.jsx                                       |    1 
 rsf-admin/src/page/warehouseAreas/WarehouseAreasPanel.jsx                          |    6 +++
 rsf-admin/src/page/basicInfo/locAreaMat/BindMatnrModal.jsx                         |    1 
 rsf-admin/src/page/locPreview/LocPreviewEdit.jsx                                   |    1 
 rsf-admin/src/page/basicInfo/locAreaMatRela/LocAreaMatRelaCreate.jsx               |    1 
 33 files changed, 78 insertions(+), 16 deletions(-)

diff --git a/rsf-admin/src/i18n/en.js b/rsf-admin/src/i18n/en.js
index 53cb5d2..a12d985 100644
--- a/rsf-admin/src/i18n/en.js
+++ b/rsf-admin/src/i18n/en.js
@@ -428,6 +428,7 @@
                 name: "name",
                 wareId: "ware",
                 code: "code",
+                sort: "Sort",
                 shipperId: "shipperId",
                 supplierId: "supplierId",
                 flagMinus: "flagMinus",
diff --git a/rsf-admin/src/i18n/zh.js b/rsf-admin/src/i18n/zh.js
index 96ff5d9..3189fc4 100644
--- a/rsf-admin/src/i18n/zh.js
+++ b/rsf-admin/src/i18n/zh.js
@@ -458,6 +458,7 @@
                 type: "搴撳尯绫诲瀷",
                 wareId: "鎵�灞炰粨搴�",
                 code: "搴撳尯缂栫爜",
+                sort: "搴忓彿",
                 shipperId: "璐т富",
                 supplierId: "渚涘簲鍟�",
                 flagMinus: "鍏佽璐熷簱瀛�",
diff --git a/rsf-admin/src/page/basicInfo/basContainer/BasContainerCreate.jsx b/rsf-admin/src/page/basicInfo/basContainer/BasContainerCreate.jsx
index 8794320..7ff3a4a 100644
--- a/rsf-admin/src/page/basicInfo/basContainer/BasContainerCreate.jsx
+++ b/rsf-admin/src/page/basicInfo/basContainer/BasContainerCreate.jsx
@@ -103,7 +103,7 @@
                                     />
                                 </Grid>
                                 <Grid item xs={6} display="flex" gap={1}>
-                                    <ReferenceArrayInput source="areas" reference="warehouseAreas">
+                                    <ReferenceArrayInput source="areas" reference="warehouseAreas" sort={{ field: 'sort', order: 'ASC' }}>
                                         <SelectArrayInput
                                             label="table.field.basStation.crossZoneArea"
                                             optionText="name"
diff --git a/rsf-admin/src/page/basicInfo/basContainer/BasContainerEdit.jsx b/rsf-admin/src/page/basicInfo/basContainer/BasContainerEdit.jsx
index 6d9ed5c..e0d70ae 100644
--- a/rsf-admin/src/page/basicInfo/basContainer/BasContainerEdit.jsx
+++ b/rsf-admin/src/page/basicInfo/basContainer/BasContainerEdit.jsx
@@ -131,7 +131,7 @@
                             <ReferenceArrayInput 
                                 source="areas" 
                                 reference="warehouseAreas"
-                                sort={{ field: 'name', order: 'ASC' }}
+                                sort={{ field: 'sort', order: 'ASC' }}
                                 format={(value) => {
                                     // 浠庡悗绔帴鏀舵椂锛氬皢 [{id, sort}] 杞崲涓� [id, id, ...]
                                     if (!value || !Array.isArray(value)) return [];
diff --git a/rsf-admin/src/page/basicInfo/basStation/BasStationCreate.jsx b/rsf-admin/src/page/basicInfo/basStation/BasStationCreate.jsx
index 75bd7a8..2062d7d 100644
--- a/rsf-admin/src/page/basicInfo/basStation/BasStationCreate.jsx
+++ b/rsf-admin/src/page/basicInfo/basStation/BasStationCreate.jsx
@@ -148,7 +148,7 @@
                                     />
                                 </Grid>
                                 <Grid item xs={6} display="flex" gap={1}>
-                                    <ReferenceInput source="area" reference="warehouseAreas">
+                                    <ReferenceInput source="area" reference="warehouseAreas" sort={{ field: 'sort', order: 'ASC' }}>
                                         <SelectInput
                                             label="table.field.basStation.area"
                                             optionText="name"
@@ -170,7 +170,7 @@
                                     />
                                 </Grid>
                                 <Grid item xs={6} display="flex" gap={1}>
-                                    <ReferenceArrayInput source="areaIds" reference="warehouseAreas">
+                                    <ReferenceArrayInput source="areaIds" reference="warehouseAreas" sort={{ field: 'sort', order: 'ASC' }}>
                                         <SelectArrayInput
                                             label="table.field.basStation.crossZoneArea"
                                             optionText="name"
diff --git a/rsf-admin/src/page/basicInfo/basStation/BasStationEdit.jsx b/rsf-admin/src/page/basicInfo/basStation/BasStationEdit.jsx
index b50f57c..4977d7b 100644
--- a/rsf-admin/src/page/basicInfo/basStation/BasStationEdit.jsx
+++ b/rsf-admin/src/page/basicInfo/basStation/BasStationEdit.jsx
@@ -122,7 +122,7 @@
                             />
                         </Stack>
                         <Stack direction='row' gap={2}>                            
-                            <ReferenceInput source="area" reference="warehouseAreas">
+                            <ReferenceInput source="area" reference="warehouseAreas" sort={{ field: 'sort', order: 'ASC' }}>
                                 <SelectInput 
                                     label="table.field.basStation.area"
                                     optionText="name"
@@ -144,7 +144,7 @@
                             />
                         </Stack>
                         <Stack direction='row' gap={2}> 
-                            <ReferenceArrayInput source="areaIds" reference="warehouseAreas">
+                            <ReferenceArrayInput source="areaIds" reference="warehouseAreas" sort={{ field: 'sort', order: 'ASC' }}>
                                 <SelectArrayInput 
                                     label="table.field.basStation.crossZoneArea"
                                     optionText="name"
diff --git a/rsf-admin/src/page/basicInfo/deviceSite/InitModal.jsx b/rsf-admin/src/page/basicInfo/deviceSite/InitModal.jsx
index a1417ed..2609bd7 100644
--- a/rsf-admin/src/page/basicInfo/deviceSite/InitModal.jsx
+++ b/rsf-admin/src/page/basicInfo/deviceSite/InitModal.jsx
@@ -160,12 +160,12 @@
                                 />
                             </Grid>
                             <Grid item xs={6} display="flex" gap={1}>
-                                <ReferenceInput source="areaIdStart" label="table.field.deviceBind.typeId" reference="warehouseAreas" filter={{}}>
+                                <ReferenceInput source="areaIdStart" label="table.field.deviceBind.typeId" reference="warehouseAreas" sort={{ field: 'sort', order: 'ASC' }} filter={{}}>
                                     <AutocompleteInput optionValue="id" optionText="name" label={translate('table.field.deviceSite.areaIdStart')} />
                                 </ReferenceInput>
                             </Grid>
                             <Grid item xs={6} display="flex" gap={1}>
-                                <ReferenceInput source="areaIdEnd" label="table.field.deviceBind.typeId" reference="warehouseAreas" filter={{}}>
+                                <ReferenceInput source="areaIdEnd" label="table.field.deviceBind.typeId" reference="warehouseAreas" sort={{ field: 'sort', order: 'ASC' }} filter={{}}>
                                     <AutocompleteInput optionValue="id" optionText="name" label={translate('table.field.deviceSite.areaIdEnd')} />
                                 </ReferenceInput>
                             </Grid>
diff --git a/rsf-admin/src/page/basicInfo/loc/BatchModal.jsx b/rsf-admin/src/page/basicInfo/loc/BatchModal.jsx
index 64cc36a..b675f0b 100644
--- a/rsf-admin/src/page/basicInfo/loc/BatchModal.jsx
+++ b/rsf-admin/src/page/basicInfo/loc/BatchModal.jsx
@@ -155,6 +155,7 @@
                                     <ReferenceInput
                                         source="areaId"
                                         reference="warehouseAreas"
+                                        sort={{ field: 'sort', order: 'ASC' }}
                                     >
                                         <AutocompleteInput
                                             label="table.field.loc.areaId"
diff --git a/rsf-admin/src/page/basicInfo/loc/InitModal.jsx b/rsf-admin/src/page/basicInfo/loc/InitModal.jsx
index ce39a9e..61a884c 100644
--- a/rsf-admin/src/page/basicInfo/loc/InitModal.jsx
+++ b/rsf-admin/src/page/basicInfo/loc/InitModal.jsx
@@ -138,6 +138,7 @@
                                 <ReferenceInput
                                     source="areaId"
                                     reference="warehouseAreas"
+                                    sort={{ field: 'sort', order: 'ASC' }}
                                     filter={{ warehouseId: formData.warehouseId }}
                                 >
                                     <AutocompleteInput
diff --git a/rsf-admin/src/page/basicInfo/loc/LocCreate.jsx b/rsf-admin/src/page/basicInfo/loc/LocCreate.jsx
index 23465f9..daf1326 100644
--- a/rsf-admin/src/page/basicInfo/loc/LocCreate.jsx
+++ b/rsf-admin/src/page/basicInfo/loc/LocCreate.jsx
@@ -112,6 +112,7 @@
                                     <ReferenceInput
                                         source="areaId"
                                         reference="warehouseAreas"
+                                        sort={{ field: 'sort', order: 'ASC' }}
                                         filter={{ warehouseId }}
                                     >
                                         <AutocompleteInput
diff --git a/rsf-admin/src/page/basicInfo/loc/LocEdit.jsx b/rsf-admin/src/page/basicInfo/loc/LocEdit.jsx
index cddeaff..465ac76 100644
--- a/rsf-admin/src/page/basicInfo/loc/LocEdit.jsx
+++ b/rsf-admin/src/page/basicInfo/loc/LocEdit.jsx
@@ -104,6 +104,7 @@
                                     <ReferenceInput
                                         source="areaId"
                                         reference="warehouseAreas"
+                                        sort={{ field: 'sort', order: 'ASC' }}
                                         filter={{ warehouseId }}
                                     >
                                         <AutocompleteInput
diff --git a/rsf-admin/src/page/basicInfo/loc/LocList.jsx b/rsf-admin/src/page/basicInfo/loc/LocList.jsx
index d65f0c1..79c6c7d 100644
--- a/rsf-admin/src/page/basicInfo/loc/LocList.jsx
+++ b/rsf-admin/src/page/basicInfo/loc/LocList.jsx
@@ -109,6 +109,7 @@
             source="areaId"
             label="table.field.loc.areaId"
             reference="warehouseAreas"
+            sort={{ field: 'sort', order: 'ASC' }}
         >
             <AutocompleteInput
                 label="table.field.loc.areaId"
diff --git a/rsf-admin/src/page/basicInfo/locArea/LocAreaCreate.jsx b/rsf-admin/src/page/basicInfo/locArea/LocAreaCreate.jsx
index 363386b..1be1742 100644
--- a/rsf-admin/src/page/basicInfo/locArea/LocAreaCreate.jsx
+++ b/rsf-admin/src/page/basicInfo/locArea/LocAreaCreate.jsx
@@ -104,6 +104,7 @@
                                     <ReferenceInput
                                         source="areaId"
                                         reference="warehouseAreas"
+                                        sort={{ field: 'sort', order: 'ASC' }}
                                     >
                                         <AutocompleteInput
                                             label="table.field.locArea.areaId"
diff --git a/rsf-admin/src/page/basicInfo/locArea/LocAreaEdit.jsx b/rsf-admin/src/page/basicInfo/locArea/LocAreaEdit.jsx
index 8e356d2..f8ecdbc 100644
--- a/rsf-admin/src/page/basicInfo/locArea/LocAreaEdit.jsx
+++ b/rsf-admin/src/page/basicInfo/locArea/LocAreaEdit.jsx
@@ -84,6 +84,7 @@
                             <ReferenceInput
                                 source="areaId"
                                 reference="warehouseAreas"
+                                sort={{ field: 'sort', order: 'ASC' }}
                             >
                                 <AutocompleteInput
                                     label="table.field.locArea.areaId"
diff --git a/rsf-admin/src/page/basicInfo/locAreaMat/BindLocModal.jsx b/rsf-admin/src/page/basicInfo/locAreaMat/BindLocModal.jsx
index 07f22b4..7a1027b 100644
--- a/rsf-admin/src/page/basicInfo/locAreaMat/BindLocModal.jsx
+++ b/rsf-admin/src/page/basicInfo/locAreaMat/BindLocModal.jsx
@@ -159,6 +159,7 @@
                                 <ReferenceInput
                                     source="areaId"
                                     reference="warehouseAreas"
+                                    sort={{ field: 'sort', order: 'ASC' }}
                                 >
                                     <AutocompleteInput
                                         label="table.field.loc.areaId"
diff --git a/rsf-admin/src/page/basicInfo/locAreaMat/BindMatnrModal.jsx b/rsf-admin/src/page/basicInfo/locAreaMat/BindMatnrModal.jsx
index 6de436b..2d55428 100644
--- a/rsf-admin/src/page/basicInfo/locAreaMat/BindMatnrModal.jsx
+++ b/rsf-admin/src/page/basicInfo/locAreaMat/BindMatnrModal.jsx
@@ -158,6 +158,7 @@
                                 <ReferenceInput
                                     source="areaId"
                                     reference="warehouseAreas"
+                                    sort={{ field: 'sort', order: 'ASC' }}
                                 >
                                     <AutocompleteInput
                                         label="table.field.loc.areaId"
diff --git a/rsf-admin/src/page/basicInfo/locAreaMat/LocAreaMatCreate.jsx b/rsf-admin/src/page/basicInfo/locAreaMat/LocAreaMatCreate.jsx
index a4ef04a..4f1d6c0 100644
--- a/rsf-admin/src/page/basicInfo/locAreaMat/LocAreaMatCreate.jsx
+++ b/rsf-admin/src/page/basicInfo/locAreaMat/LocAreaMatCreate.jsx
@@ -124,6 +124,7 @@
                                     <ReferenceInput
                                         source="areaId"
                                         reference="warehouseAreas"
+                                        sort={{ field: 'sort', order: 'ASC' }}
                                         filter={{ warehouseId }}
                                     >
                                         <AutocompleteInput
diff --git a/rsf-admin/src/page/basicInfo/locAreaMat/LocAreaMatEdit.jsx b/rsf-admin/src/page/basicInfo/locAreaMat/LocAreaMatEdit.jsx
index 4253adf..050714f 100644
--- a/rsf-admin/src/page/basicInfo/locAreaMat/LocAreaMatEdit.jsx
+++ b/rsf-admin/src/page/basicInfo/locAreaMat/LocAreaMatEdit.jsx
@@ -102,6 +102,7 @@
                             <ReferenceInput
                                 source="areaId"
                                 reference="warehouseAreas"
+                                sort={{ field: 'sort', order: 'ASC' }}
                                 filter={{ warehouseId }}
                             >
                                 <AutocompleteInput
diff --git a/rsf-admin/src/page/basicInfo/locAreaMatRela/LocAreaMatRelaCreate.jsx b/rsf-admin/src/page/basicInfo/locAreaMatRela/LocAreaMatRelaCreate.jsx
index c685d20..945fcb2 100644
--- a/rsf-admin/src/page/basicInfo/locAreaMatRela/LocAreaMatRelaCreate.jsx
+++ b/rsf-admin/src/page/basicInfo/locAreaMatRela/LocAreaMatRelaCreate.jsx
@@ -90,6 +90,7 @@
                                     <ReferenceInput
                                         source="areaId"
                                         reference="warehouseAreas"
+                                        sort={{ field: 'sort', order: 'ASC' }}
                                     >
                                         <AutocompleteInput
                                             label="table.field.locAreaMatRela.areaId"
diff --git a/rsf-admin/src/page/basicInfo/locAreaMatRela/LocAreaMatRelaEdit.jsx b/rsf-admin/src/page/basicInfo/locAreaMatRela/LocAreaMatRelaEdit.jsx
index 63bb3ae..bf70d02 100644
--- a/rsf-admin/src/page/basicInfo/locAreaMatRela/LocAreaMatRelaEdit.jsx
+++ b/rsf-admin/src/page/basicInfo/locAreaMatRela/LocAreaMatRelaEdit.jsx
@@ -70,6 +70,7 @@
                             <ReferenceInput
                                 source="areaId"
                                 reference="warehouseAreas"
+                                sort={{ field: 'sort', order: 'ASC' }}
                             >
                                 <AutocompleteInput
                                     label="table.field.locAreaMatRela.areaId"
diff --git a/rsf-admin/src/page/basicInfo/matnr/BindModal.jsx b/rsf-admin/src/page/basicInfo/matnr/BindModal.jsx
index af1939f..236ec2a 100644
--- a/rsf-admin/src/page/basicInfo/matnr/BindModal.jsx
+++ b/rsf-admin/src/page/basicInfo/matnr/BindModal.jsx
@@ -159,6 +159,7 @@
                                 <ReferenceInput
                                     source="areaId"
                                     reference="warehouseAreas"
+                                    sort={{ field: 'sort', order: 'ASC' }}
                                 >
                                     <AutocompleteInput
                                         label="table.field.loc.areaId"
diff --git a/rsf-admin/src/page/components/AreasSortInput.jsx b/rsf-admin/src/page/components/AreasSortInput.jsx
index 9f6fb1f..9707e18 100644
--- a/rsf-admin/src/page/components/AreasSortInput.jsx
+++ b/rsf-admin/src/page/components/AreasSortInput.jsx
@@ -72,14 +72,21 @@
                     .map(id => Number(id))
                     .filter(id => !existingIds.has(id));
                 
-                // 涓烘柊澧炵殑ID鍒涘缓鎺掑簭椤癸紙榛樿鎺掑簭涓哄凡鏈夋渶澶ф帓搴忓��+1锛�
+                // 涓烘柊澧炵殑ID鍒涘缓鎺掑簭椤癸紙榛樿鎺掑簭浠庡簱鍖虹殑 sort 瀛楁鑾峰彇锛屽鏋滄病鏈夊垯浣跨敤宸叉湁鏈�澶ф帓搴忓��+1锛�
                 const maxSort = existingAreas.length > 0 
                     ? Math.max(...existingAreas.map(item => item.sort || 1), 0)
                     : 0;
-                const newItems = newIds.map((id, index) => ({
-                    id: id,
-                    sort: maxSort + index + 1,
-                }));
+                const newItems = newIds.map((id, index) => {
+                    // 浠� areas 鏁扮粍涓煡鎵惧搴斿簱鍖虹殑 sort 瀛楁
+                    const area = areas.find(a => a.id === id);
+                    const defaultSort = area && area.sort !== undefined && area.sort !== null 
+                        ? area.sort 
+                        : (maxSort + index + 1);
+                    return {
+                        id: id,
+                        sort: defaultSort,
+                    };
+                });
                 
                 // 鍚堝苟宸叉湁椤瑰拰鏂伴」
                 const converted = [...existingAreas, ...newItems];
diff --git a/rsf-admin/src/page/deviceBind/DeviceBindCreate.jsx b/rsf-admin/src/page/deviceBind/DeviceBindCreate.jsx
index c8e60f9..3e6acbe 100644
--- a/rsf-admin/src/page/deviceBind/DeviceBindCreate.jsx
+++ b/rsf-admin/src/page/deviceBind/DeviceBindCreate.jsx
@@ -129,7 +129,7 @@
                                     />
                                 </Grid>
                                 <Grid item xs={6} display="flex" gap={1}>                                    
-                                    <ReferenceInput source="typeId" label="table.field.deviceBind.typeId" reference="warehouseAreas" filter={{}}>
+                                    <ReferenceInput source="typeId" label="table.field.deviceBind.typeId" reference="warehouseAreas" sort={{ field: 'sort', order: 'ASC' }} filter={{}}>
                                         <AutocompleteInput optionValue="id" optionText="name" label="table.field.deviceBind.typeId" />
                                     </ReferenceInput>
                                 </Grid>
diff --git a/rsf-admin/src/page/deviceBind/DeviceBindEdit.jsx b/rsf-admin/src/page/deviceBind/DeviceBindEdit.jsx
index f93e7fd..d9a3834 100644
--- a/rsf-admin/src/page/deviceBind/DeviceBindEdit.jsx
+++ b/rsf-admin/src/page/deviceBind/DeviceBindEdit.jsx
@@ -108,7 +108,7 @@
                             />
                         </Stack>
                         <Stack direction='row' gap={2}>
-                            <ReferenceInput source="typeId" label="table.field.deviceBind.typeId" reference="warehouseAreas" filter={{}}>
+                            <ReferenceInput source="typeId" label="table.field.deviceBind.typeId" reference="warehouseAreas" sort={{ field: 'sort', order: 'ASC' }} filter={{}}>
                                 <AutocompleteInput optionValue="id" optionText="name" label="table.field.deviceBind.typeId" />
                             </ReferenceInput>
                         </Stack>
diff --git a/rsf-admin/src/page/locPreview/LocPreviewEdit.jsx b/rsf-admin/src/page/locPreview/LocPreviewEdit.jsx
index 424a37c..0b26bce 100644
--- a/rsf-admin/src/page/locPreview/LocPreviewEdit.jsx
+++ b/rsf-admin/src/page/locPreview/LocPreviewEdit.jsx
@@ -95,6 +95,7 @@
                                     <ReferenceInput
                                         source="areaId"
                                         reference="warehouseAreas"
+                                        sort={{ field: 'sort', order: 'ASC' }}
                                         filter={{ warehouseId }}
                                     >
                                         <AutocompleteInput
diff --git a/rsf-admin/src/page/locPreview/LocPreviewList.jsx b/rsf-admin/src/page/locPreview/LocPreviewList.jsx
index 6ee064f..24e134d 100644
--- a/rsf-admin/src/page/locPreview/LocPreviewList.jsx
+++ b/rsf-admin/src/page/locPreview/LocPreviewList.jsx
@@ -95,6 +95,7 @@
             source="areaId"
             label="table.field.loc.areaId"
             reference="warehouseAreas"
+            sort={{ field: 'sort', order: 'ASC' }}
         >
             <AutocompleteInput
                 label="table.field.loc.areaId"
diff --git a/rsf-admin/src/page/stockManage/locRevise/LocReviseCreate.jsx b/rsf-admin/src/page/stockManage/locRevise/LocReviseCreate.jsx
index 70791d8..39bdeca 100644
--- a/rsf-admin/src/page/stockManage/locRevise/LocReviseCreate.jsx
+++ b/rsf-admin/src/page/stockManage/locRevise/LocReviseCreate.jsx
@@ -180,7 +180,7 @@
                                 />
                             </Grid>
                             <Grid item md={2}>
-                                <ReferenceInput source="areaId" reference="warehouseAreas">
+                                <ReferenceInput source="areaId" reference="warehouseAreas" sort={{ field: 'sort', order: 'ASC' }}>
                                     <AutocompleteInput
                                         optionText='name'
                                         optionValue="id"
diff --git a/rsf-admin/src/page/warehouseAreas/WarehouseAreasCreate.jsx b/rsf-admin/src/page/warehouseAreas/WarehouseAreasCreate.jsx
index 3cf95b4..46a4ce7 100644
--- a/rsf-admin/src/page/warehouseAreas/WarehouseAreasCreate.jsx
+++ b/rsf-admin/src/page/warehouseAreas/WarehouseAreasCreate.jsx
@@ -127,6 +127,11 @@
                     parse={v => v}
                     validate={[required()]}
                   />                
+                  <NumberInput
+                    label="table.field.warehouseAreas.sort"
+                    source="sort"
+                    parse={v => v}
+                  />
                   {/* <SelectInput
                     label="table.field.warehouseAreas.flagLabelMange"
                     source="flagLabelMange"
diff --git a/rsf-admin/src/page/warehouseAreas/WarehouseAreasEdit.jsx b/rsf-admin/src/page/warehouseAreas/WarehouseAreasEdit.jsx
index aea80ce..cc2cdf5 100644
--- a/rsf-admin/src/page/warehouseAreas/WarehouseAreasEdit.jsx
+++ b/rsf-admin/src/page/warehouseAreas/WarehouseAreasEdit.jsx
@@ -115,6 +115,13 @@
                             />
                         </Stack>
                         <Stack direction='row' gap={2}>
+                            <NumberInput
+                                label="table.field.warehouseAreas.sort"
+                                source="sort"
+                                parse={v => v}
+                            />
+                        </Stack>
+                        <Stack direction='row' gap={2}>
                             <SelectInput
                                 label="table.field.warehouseAreas.flagMix"
                                 source="flagMix"
diff --git a/rsf-admin/src/page/warehouseAreas/WarehouseAreasList.jsx b/rsf-admin/src/page/warehouseAreas/WarehouseAreasList.jsx
index 4e3ce12..317f494 100644
--- a/rsf-admin/src/page/warehouseAreas/WarehouseAreasList.jsx
+++ b/rsf-admin/src/page/warehouseAreas/WarehouseAreasList.jsx
@@ -164,6 +164,7 @@
                     <TextField source="code" label="table.field.warehouseAreas.code" />
                     <TextField source="name" label="table.field.warehouseAreas.name" />                   
                     <TextField source="type$" label="table.field.warehouseAreas.type"/>
+                    <NumberField source="sort" label="table.field.warehouseAreas.sort" />
                     <TextField source="shipperId$" label="table.field.warehouseAreas.shipperId" />
                     <NumberField source="supplierId" label="table.field.warehouseAreas.supplierId" />
                     <TextField source="flagMix$" label="table.field.warehouseAreas.flagMix" sortable={false} />
diff --git a/rsf-admin/src/page/warehouseAreas/WarehouseAreasPanel.jsx b/rsf-admin/src/page/warehouseAreas/WarehouseAreasPanel.jsx
index a42017e..4fbf843 100644
--- a/rsf-admin/src/page/warehouseAreas/WarehouseAreasPanel.jsx
+++ b/rsf-admin/src/page/warehouseAreas/WarehouseAreasPanel.jsx
@@ -60,6 +60,12 @@
                         </Grid>
                         <Grid item xs={6}>
                             <PanelTypography
+                                title="table.field.warehouseAreas.sort" 
+                                property={record.sort}
+                            />
+                        </Grid>
+                        <Grid item xs={6}>
+                            <PanelTypography
                                 title="table.field.warehouseAreas.shipperId" 
                                 property={record.shipperId$}
                             />
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WarehouseAreas.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WarehouseAreas.java
index de80a2d..b331794 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WarehouseAreas.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WarehouseAreas.java
@@ -107,6 +107,12 @@
     private Integer status;
 
     /**
+     * 鎺掑簭瀛楁
+     */
+    @ApiModelProperty(value= "鎺掑簭瀛楁")
+    private Integer sort;
+
+    /**
      * 鏄惁鍒犻櫎 1: 鏄�  0: 鍚�  
      */
     @ApiModelProperty(value= "鏄惁鍒犻櫎 1: 鏄�  0: 鍚�  ")
diff --git a/version/db/man_warehouse_areas_add_sort.sql b/version/db/man_warehouse_areas_add_sort.sql
new file mode 100644
index 0000000..9822dd4
--- /dev/null
+++ b/version/db/man_warehouse_areas_add_sort.sql
@@ -0,0 +1,12 @@
+-- 涓� man_warehouse_areas 琛ㄦ坊鍔� sort 鎺掑簭瀛楁
+-- @author chen.lin
+-- @time 2026-02-02
+
+-- 娣诲姞 sort 瀛楁锛岄粯璁ゅ�间负 NULL锛屽厑璁镐负绌�
+ALTER TABLE `man_warehouse_areas` 
+ADD COLUMN `sort` INT(11) NULL DEFAULT NULL COMMENT '鎺掑簭瀛楁' AFTER `status`;
+
+-- 涓虹幇鏈夋暟鎹缃粯璁ゆ帓搴忓�硷紙浣跨敤 id 浣滀负鍒濆鎺掑簭鍊硷級
+UPDATE `man_warehouse_areas` 
+SET `sort` = `id` 
+WHERE `sort` IS NULL;

--
Gitblit v1.9.1