From 054c4b3be788b870026fdd1da916be18931161e7 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周三, 30 4月 2025 16:24:31 +0800
Subject: [PATCH] Merge branch 'master' of http://222.71.245.114:9086/r/HIA24016N_PipeLineDemo

---
 HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/CMSPluginDbContextModelSnapshot.cs                         |    6 
 HIAWms/web/src/widgets/HIAWms/Views/HIAWms.tsx                                                                  |    2 
 HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250430035549_InitialCreate1.cs                           |   39 +
 HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Util/GetEnumDescriptionUtil.cs                                |   30 +
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterials/WmsMaterialDto.cs                   |   37 +
 HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250430035549_InitialCreate1.Designer.cs                  |  675 +++++++++++++++++++++++++++++
 HIAWms/server/src/CMS.Plugin.HIAWms/Resources/Templates/WmsPlace导出模板.xlsx                                       |    0 
 HIAWms/web/src/widgets/HIAWms/Controllers/WmsMaterialDrawer.tsx                                                 |  101 +++
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterials/ExportWmsMaterialModel.cs           |  100 ++++
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsEnumDto/WmsEnumInput.cs                       |   21 
 HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Util/ExportHelper.cs                                          |   59 ++
 HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsMaterial.cs     |    3 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterials/WmsMaterialCreateOrUpdateDtoBase.cs |    2 
 HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsEnumController.cs                                             |   45 +
 HIAWms/web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialDrawer/WmsMaterialDrawer.tsx                        |    2 
 HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Util/EnumHelper.cs                                            |   84 +++
 HIAWms/server/src/CMS.Plugin.HIAWms/Resources/Templates/WmsMaterial导出模板.xlsx                                    |    0 
 HIAWms/web/src/config/menu.ts                                                                                   |    4 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsEnumAppService.cs                        |   22 
 HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Scripts/UpdateMigrations.bat                                          |    2 
 HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterials/WmsMaterial.cs                                          |    2 
 HIAWms/web/src/widgets/HIAWms/Models/Service/WmsMaterialDrawer.ts                                               |    8 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsAreaAutoMapperProfile.cs                      |    1 
 HIAWms/web/src/widgets/HIAWms/Models/WmsMaterialDrawer.ts                                                       |    6 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsStoreAutoMapperProfile.cs                     |    1 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsContainerAutoMapperProfile.cs                 |    1 
 HIAWms/server/src/CMS.Plugin.HIAWms/Resources/Templates/WmsContainer导出模板.xlsx                                   |    0 
 HIAWms/web/src/widgets/HIAWms/Views/Pages/WmsMaterial/Config.ts                                                 |   31 -
 HIAWms/project/Wms.cmsproj                                                                                      |    0 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterials/WmsMaterialsExportModel.cs          |   16 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialAppService.cs                             |    7 
 /dev/null                                                                                                       |    0 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsMaterialAutoMapperProfile.cs                  |    1 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsPlaceAutoMapperProfile.cs                     |    1 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsEnumAppService.cs                                 |   22 
 HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Enums/PurchaseTypeEnum.cs                                     |    6 
 HIAWms/server/src/CMS.Plugin.HIAWms/Resources/Templates/WmsArea导出模板.xlsx                                        |    0 
 HIAWms/server/src/CMS.Plugin.HIAWms/Resources/Templates/WmsStore导出模板.xlsx                                       |    0 
 38 files changed, 1,270 insertions(+), 67 deletions(-)

diff --git a/HIAWms/project/Wms.cmsproj b/HIAWms/project/Wms.cmsproj
index d4f9623..6a5d5a6 100644
--- a/HIAWms/project/Wms.cmsproj
+++ b/HIAWms/project/Wms.cmsproj
Binary files differ
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsEnumDto/WmsEnumInput.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsEnumDto/WmsEnumInput.cs
new file mode 100644
index 0000000..2cc0375
--- /dev/null
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsEnumDto/WmsEnumInput.cs
@@ -0,0 +1,21 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsEnumDto
+{
+    /// <summary>
+    /// 鏋氫妇杈撳叆鍙傛暟
+    /// </summary>
+    public class WmsEnumInput
+    {
+        /// <summary>
+        /// 鏋氫妇绫诲瀷鍚嶇О
+        /// </summary>
+        /// <example>AccountTypeEnum</example>
+        public string EnumName { get; set; }
+    }
+}
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterials/ExportWmsMaterialModel.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterials/ExportWmsMaterialModel.cs
new file mode 100644
index 0000000..5c5e666
--- /dev/null
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterials/ExportWmsMaterialModel.cs
@@ -0,0 +1,100 @@
+锘縰sing CMS.Plugin.HIAWms.Domain.Shared.Enums;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterials
+{
+    /// <summary>
+    /// 瀵煎嚭瀹炰綋绫�
+    /// </summary>
+    public class ExportWmsMaterialModel
+    {
+        /// <summary>
+        /// 鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�
+        /// </summary>
+        [Description("鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�")]
+        public string MaterialCode { get; set; }
+
+        /// <summary>
+        /// 鐗╂枡鍚嶇О
+        /// </summary>
+        [Description("鐗╂枡鍚嶇О")]
+        public string MaterialName { get; set; }
+
+        /// <summary>
+        /// 閲囪喘绫诲瀷锛堟灇涓惧�硷級
+        /// </summary>
+        [Description("閲囪喘绫诲瀷锛堟灇涓惧�硷級")]
+        public string PurchaseType { get; set; }
+
+        /// <summary>
+        /// 鐗╂枡绫诲瀷锛堟灇涓惧�硷級
+        /// </summary>
+        [Description("鐗╂枡绫诲瀷锛堟灇涓惧�硷級")]
+        public string MaterialType { get; set; }
+
+        /// <summary>
+        /// 涓诲崟浣嶏紙濡傦細kg銆乵銆佷釜锛�
+        /// </summary>
+        [Description("涓诲崟浣嶏紙濡傦細kg銆乵銆佷釜锛�")]
+        public string PrimaryUnit { get; set; }
+
+        /// <summary>
+        /// 瑙勬牸/鏍囧噯锛堝锛欸B/T 8163-2018锛�
+        /// </summary>
+        [Description("瑙勬牸/鏍囧噯锛堝锛欸B/T 8163-2018锛�")]
+        public string Standard { get; set; }
+
+        /// <summary>
+        /// 澶栧緞锛堝崟浣嶏細mm锛�
+        /// </summary>
+        [Description("澶栧緞锛堝崟浣嶏細mm锛�")]
+        public decimal OuterDiameter { get; set; }
+
+        /// <summary>
+        /// 澹佸帤锛堝崟浣嶏細mm锛�
+        /// </summary>
+        [Description("澹佸帤锛堝崟浣嶏細mm锛�")]
+        public decimal WallThickness { get; set; }
+
+        /// <summary>
+        /// 鏉愯川锛堝锛�304涓嶉攬閽級
+        /// </summary>
+        [Description("鏉愯川锛堝锛�304涓嶉攬閽級")]
+        public string MaterialQuality { get; set; }
+
+        /// <summary>
+        /// 闀垮害锛堝崟浣嶏細m锛�
+        /// </summary>
+        [Description("闀垮害锛堝崟浣嶏細m锛�")]
+        public decimal Length { get; set; }
+
+        /// <summary>
+        /// 鏄惁涓轰富鏀锛坱rue: 涓绘敮绠�, false: 闈炰富鏀锛�
+        /// </summary>
+        [Description("鏄惁涓轰富鏀锛坱rue: 涓绘敮绠�, false: 闈炰富鏀锛�")]
+        public string IsMainBranch { get; set; }
+
+        /// <summary>
+        /// 鐢熶骇宸ュ巶
+        /// </summary>
+        [Description("鐢熶骇宸ュ巶")]
+        public string Factory { get; set; }
+
+        /// <summary>
+        /// 璇佷功缂栧彿锛堝锛氬帇鍔涘鍣ㄨ璇侊級
+        /// </summary>
+        [Description("璇佷功缂栧彿锛堝锛氬帇鍔涘鍣ㄨ璇侊級")]
+        public string Certification { get; set; }
+
+        /// <summary>
+        /// 澶囨敞
+        /// </summary>
+        [Description("澶囨敞")]
+        public virtual string Remark { get; set; }
+    }
+}
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterials/WmsMaterialCreateOrUpdateDtoBase.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterials/WmsMaterialCreateOrUpdateDtoBase.cs
index 83ceb38..9d4e9c8 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterials/WmsMaterialCreateOrUpdateDtoBase.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterials/WmsMaterialCreateOrUpdateDtoBase.cs
@@ -61,7 +61,7 @@
     /// <summary>
     /// 鏄惁涓轰富鏀锛坱rue: 涓绘敮绠�, false: 闈炰富鏀锛�
     /// </summary>
-    public bool IsMainBranch { get; set; }
+    public YesNoEnum IsMainBranch { get; set; }
 
     /// <summary>
     /// 鐢熶骇宸ュ巶
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterials/WmsMaterialDto.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterials/WmsMaterialDto.cs
index 11de0a0..9681abf 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterials/WmsMaterialDto.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterials/WmsMaterialDto.cs
@@ -25,9 +25,31 @@
     public PurchaseTypeEnum PurchaseType { get; set; }
 
     /// <summary>
+    /// 閲囪喘绫诲瀷锛堟灇涓惧�硷級
+    /// </summary>
+    public string PurchaseTypeDesc
+    {
+        get
+        {
+            return GetEnumDescriptionUtil.GetEnumDescription(PurchaseType);
+        }
+    }
+
+    /// <summary>
     /// 鐗╂枡绫诲瀷锛堟灇涓惧�硷級
     /// </summary>
     public MaterialTypeEnum MaterialType { get; set; }
+
+    /// <summary>
+    /// 鐗╂枡绫诲瀷锛堟灇涓惧�硷級
+    /// </summary>
+    public string MaterialTypeDesc
+    {
+        get
+        {
+            return GetEnumDescriptionUtil.GetEnumDescription(MaterialType);
+        }
+    }
 
     /// <summary>
     /// 涓诲崟浣嶏紙濡傦細kg銆乵銆佷釜锛�
@@ -60,9 +82,20 @@
     public decimal Length { get; set; }
 
     /// <summary>
-    /// 鏄惁涓轰富鏀锛坱rue: 涓绘敮绠�, false: 闈炰富鏀锛�
+    /// 鏄惁涓轰富鏀锛�1: 涓绘敮绠�, 2: 闈炰富鏀锛�
     /// </summary>
-    public bool IsMainBranch { get; set; }
+    public YesNoEnum IsMainBranch { get; set; }
+
+    /// <summary>
+    /// 鏄惁涓轰富鏀
+    /// </summary>
+    public string IsMainBranchDesc
+    {
+        get
+        {
+            return GetEnumDescriptionUtil.GetEnumDescription(IsMainBranch);
+        }
+    }
 
     /// <summary>
     /// 鐢熶骇宸ュ巶
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterials/WmsMaterialsExportModel.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterials/WmsMaterialsExportModel.cs
index e13f3d6..3a90013 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterials/WmsMaterialsExportModel.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterials/WmsMaterialsExportModel.cs
@@ -93,7 +93,7 @@
         /// <example>true</example>
         [ExcelColumn(Name = "鏄惁涓绘敮绠�", Width = 25)]
         [Description("鏄�/鍚�")]
-        public bool IsMainBranch { get; set; }
+        public YesNoEnum IsMainBranch { get; set; }
 
         /// <summary>
         /// 鐢熶骇宸ュ巶鍚嶇О
@@ -136,8 +136,22 @@
         [ExcelColumn(Name = "鎵╁睍瀛楁3", Width = 25)]
         public string RedundantField3 { get; set; }
 
+        /// <summary>
+        /// 澶囨敞
+        /// </summary>
         [ExcelColumn(Name = "澶囨敞",Width = 25)]
         public string Remark { get; set; }
+
+        public Dictionary<string, object> GetExportData()
+        {
+            var exportData = new Dictionary<string, object>();
+            foreach (var property in this.GetType().GetProperties())
+            {
+                exportData.Add(property.Name, property.GetValue(this));
+            }
+
+            return exportData;
+        }
     }
 }
 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsEnumAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsEnumAppService.cs
new file mode 100644
index 0000000..f4ad031
--- /dev/null
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsEnumAppService.cs
@@ -0,0 +1,22 @@
+锘縰sing CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsEnumDto;
+using CMS.Plugin.HIAWms.Domain.Shared.Util;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CMS.Plugin.HIAWms.Application.Contracts.Services
+{
+    /// <summary>
+    /// 鏋氫妇鎺ュ彛
+    /// </summary>
+    public interface IWmsEnumAppService
+    {
+        /// <summary>
+        /// 鑾峰彇鏋氫妇.
+        /// </summary>
+        /// <returns></returns>
+        List<EnumItem> GetEnumDataList(WmsEnumInput enumInput);
+    }
+}
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsEnumAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsEnumAppService.cs
new file mode 100644
index 0000000..a3f4057
--- /dev/null
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsEnumAppService.cs
@@ -0,0 +1,22 @@
+锘縰sing CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsEnumDto;
+using CMS.Plugin.HIAWms.Application.Contracts.Services;
+using CMS.Plugin.HIAWms.Domain.Shared.Util;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CMS.Plugin.HIAWms.Application.Implements
+{
+    /// <summary>
+    /// 鏋氫妇绫诲瀷鎺ュ彛瀹炵幇
+    /// </summary>
+    public class WmsEnumAppService : CMSPluginAppService, IWmsEnumAppService
+    {
+        public List<EnumItem> GetEnumDataList(WmsEnumInput enumInput)
+        {
+            return EnumHelper.GetEnumItems(enumInput.EnumName);
+        }
+    }
+}
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialAppService.cs
index 201c2cb..b3032ee 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialAppService.cs
@@ -1,8 +1,9 @@
 using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterials;
 using CMS.Plugin.HIAWms.Application.Contracts.Services;
-using CMS.Plugin.HIAWms.Domain.WmsMaterials;
 using CMS.Plugin.HIAWms.Domain.Shared;
+using CMS.Plugin.HIAWms.Domain.Shared.Util;
 using CMS.Plugin.HIAWms.Domain.Shared.WmsMaterials;
+using CMS.Plugin.HIAWms.Domain.WmsMaterials;
 using Volo.Abp;
 using Volo.Abp.Application.Dtos;
 using Volo.Abp.Data;
@@ -322,10 +323,10 @@
 
         var sheets = new Dictionary<string, object>
         {
-            ["閰嶇疆"] = result.Select(x => x.GetExportData()).ToList(),
+            ["閰嶇疆"] = ExportHelper.ConvertListToExportData(result),
         };
 
-        var fileName = result.Count > 1 ? "WmsMaterial鍒楄〃" : result.Count == 1 ? result.First()?.MaterialCode : "WmsMaterial妯$増";
+        var fileName = result.Count > 1 ? "WmsMaterial鍒楄〃" : result.Count == 1 ? result[0]?.MaterialCode : "WmsMaterial妯$増";
         return (sheets, fileName);
     }
 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsAreaAutoMapperProfile.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsAreaAutoMapperProfile.cs
index 02fe098..16dc174 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsAreaAutoMapperProfile.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsAreaAutoMapperProfile.cs
@@ -20,5 +20,6 @@
          * Alternatively, you can split your mapping configurations
          * into multiple profile classes for a better organization. */
         CreateMap<WmsArea, WmsAreaDto>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None);
+        CreateMap<WmsAreaCreateDto, WmsArea>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None);
     }
 }
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsContainerAutoMapperProfile.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsContainerAutoMapperProfile.cs
index 2bc4ae4..9cf32b5 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsContainerAutoMapperProfile.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsContainerAutoMapperProfile.cs
@@ -20,5 +20,6 @@
          * Alternatively, you can split your mapping configurations
          * into multiple profile classes for a better organization. */
         CreateMap<WmsContainer, WmsContainerDto>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None);
+        CreateMap<WmsContainerCreateDto, WmsContainer>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None);
     }
 }
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsMaterialAutoMapperProfile.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsMaterialAutoMapperProfile.cs
index e2c717a..3ca5666 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsMaterialAutoMapperProfile.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsMaterialAutoMapperProfile.cs
@@ -20,5 +20,6 @@
          * Alternatively, you can split your mapping configurations
          * into multiple profile classes for a better organization. */
         CreateMap<WmsMaterial, WmsMaterialDto>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None);
+        CreateMap<WmsMaterialCreateDto, WmsMaterial>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None);
     }
 }
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsPlaceAutoMapperProfile.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsPlaceAutoMapperProfile.cs
index ea69096..e53aaa0 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsPlaceAutoMapperProfile.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsPlaceAutoMapperProfile.cs
@@ -20,5 +20,6 @@
          * Alternatively, you can split your mapping configurations
          * into multiple profile classes for a better organization. */
         CreateMap<WmsPlace, WmsPlaceDto>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None);
+        CreateMap<WmsPlaceCreateDto, WmsPlace>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None);
     }
 }
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsStoreAutoMapperProfile.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsStoreAutoMapperProfile.cs
index 6394739..6695501 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsStoreAutoMapperProfile.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsStoreAutoMapperProfile.cs
@@ -20,5 +20,6 @@
          * Alternatively, you can split your mapping configurations
          * into multiple profile classes for a better organization. */
         CreateMap<WmsStore, WmsStoreDto>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None);
+        CreateMap<WmsStoreCreateDto, WmsStore>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None);
     }
 }
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Enums/PurchaseTypeEnum.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Enums/PurchaseTypeEnum.cs
index 1f19617..2207a40 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Enums/PurchaseTypeEnum.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Enums/PurchaseTypeEnum.cs
@@ -16,19 +16,19 @@
         /// <summary>
         /// /鑷埗
         /// </summary>
-        [Description("Self-made - 鑷埗")]
+        [Description("鑷埗")]
         SelfMade,
 
         /// <summary>
         /// 閲囪喘
         /// </summary>
-        [Description("Purchased - 閲囪喘")]
+        [Description("閲囪喘")]
         Purchased,
 
         /// <summary>
         /// 鍧囧彲
         /// </summary>
-        [Description("Both - 鍧囧彲")]
+        [Description("鍧囧彲")]
         Both
     }
 }
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Util/EnumHelper.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Util/EnumHelper.cs
new file mode 100644
index 0000000..c79ae29
--- /dev/null
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Util/EnumHelper.cs
@@ -0,0 +1,84 @@
+锘縰sing KissUtil.Helpers;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp;
+
+namespace CMS.Plugin.HIAWms.Domain.Shared.Util
+{
+    /// <summary>
+    /// 鏋氫妇甯姪绫�.
+    /// </summary>
+    public static class EnumHelper
+    {
+        /// <summary>
+        /// 鑾峰彇鏋氫妇.
+        /// </summary>
+        /// <param name="enumName"> </param>
+        /// <returns></returns>
+        /// <exception cref="ArgumentException"></exception>
+        public static List<EnumItem> GetEnumItems(string enumName)
+        {
+            // 鑾峰彇褰撳墠绋嬪簭闆嗕腑鐨勬墍鏈夌被鍨�
+            var enumType = AppDomain.CurrentDomain.GetAssemblies()
+                .SelectMany(a => a.GetTypes())
+                .FirstOrDefault(t => t.Name == enumName && t.IsEnum);
+
+            if (enumType == null)
+            {
+                throw new UserFriendlyException($"鏋氫妇绫诲瀷 {enumName} 涓嶅瓨鍦�");
+            }
+
+            return GetEnumItems(enumType);
+        }
+
+        /// <summary>
+        /// 鑾峰彇鏋氫妇绫诲瀷.
+        /// </summary>
+        /// <param name="enumType"></param>
+        /// <returns></returns>
+        /// <exception cref="ArgumentException"></exception>
+        public static List<EnumItem> GetEnumItems(Type enumType)
+        {
+            if (!enumType.IsEnum)
+            {
+                throw new UserFriendlyException("鎻愪緵鐨勭被鍨嬩笉鏄灇涓剧被鍨�");
+            }
+
+            var result = new List<EnumItem>();
+            var values = Enum.GetValues(enumType);
+
+            foreach (var value in values)
+            {
+                var fieldInfo = enumType.GetField(value.ToString());
+                var description = fieldInfo?
+                    .GetCustomAttributes(typeof(DescriptionAttribute), false)
+                    .FirstOrDefault() as DescriptionAttribute;
+
+                result.Add(new EnumItem
+                {
+                    Value = (int)value,
+                    Name = value.ToString(),
+                    Description = description?.Description ?? value.ToString(),
+                });
+            }
+
+            return result;
+        }
+    }
+
+    /// <summary>
+    /// 鏋氫妇鎻忚堪.
+    /// </summary>
+    public class EnumItem
+    {
+        public int Value { get; set; }
+
+        public string Name { get; set; }
+
+        public string Description { get; set; }
+    }
+}
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Util/ExportHelper.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Util/ExportHelper.cs
new file mode 100644
index 0000000..b0f8e3b
--- /dev/null
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Util/ExportHelper.cs
@@ -0,0 +1,59 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Reflection;
+using System.Threading.Tasks;
+
+namespace CMS.Plugin.HIAWms.Domain.Shared.Util
+{
+    /// <summary>
+    /// 瀵煎嚭甯姪绫�.
+    /// </summary>
+    public static class ExportHelper
+    {
+        // 閫氱敤杞崲鏂规硶锛堝吋瀹� Func<T, Dictionary<string, object>>锛�
+        public static Dictionary<string, object> ConvertToExportData<T>(T entity)
+        {
+            var dict = new Dictionary<string, object>();
+            if (entity == null) return dict;
+
+            foreach (var prop in typeof(T).GetProperties())
+            {
+                var value = prop.GetValue(entity);
+                dict[prop.Name] = FormatValue(value);
+            }
+            return dict;
+        }
+
+        // 鎵归噺杞崲鏂规硶
+        public static List<Dictionary<string, object>> ConvertListToExportData<T>(IEnumerable<T> list)
+        {
+            return list.Select(ConvertToExportData).ToList();
+        }
+
+        private static object FormatValue(object value)
+        {
+            if (value == null) return string.Empty;
+
+            // 澶勭悊鏋氫妇
+            if (value is Enum enumValue)
+                return GetEnumDescriptionUtil.GetEnumDescription(enumValue);
+
+            // 澶勭悊甯冨皵
+            if (value is bool boolValue)
+                return boolValue ? "鏄�" : "鍚�";
+
+            return value;
+        }
+
+        private static string GetEnumDescription(Enum value)
+        {
+            var fieldInfo = value.GetType().GetField(value.ToString());
+            var description = fieldInfo?
+                .GetCustomAttributes(typeof(DescriptionAttribute), false)
+                .FirstOrDefault() as DescriptionAttribute;
+            return description?.Description ?? value.ToString();
+        }
+    }
+}
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Util/GetEnumDescriptionUtil.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Util/GetEnumDescriptionUtil.cs
new file mode 100644
index 0000000..d65574b
--- /dev/null
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Util/GetEnumDescriptionUtil.cs
@@ -0,0 +1,30 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using System.Reflection;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CMS.Plugin.HIAWms
+{
+    public class GetEnumDescriptionUtil
+    {
+        /// <summary>
+        /// 鑾峰彇鏋氫妇鐨勬弿杩�
+        /// </summary>
+        /// <param name="enumValue"></param>
+        /// <returns></returns>
+        public static string GetEnumDescription(Enum enumValue)
+        {
+            string value = enumValue.ToString();
+            if (string.IsNullOrWhiteSpace(value) || value == "0") return "";
+            FieldInfo field = enumValue.GetType().GetField(value);
+            object[] objs = field.GetCustomAttributes(typeof(DescriptionAttribute), false);  //鑾峰彇鎻忚堪灞炴��
+            if (objs == null || objs.Length == 0)  //褰撴弿杩板睘鎬ф病鏈夋椂锛岀洿鎺ヨ繑鍥炲悕绉�
+                return value;
+            DescriptionAttribute descriptionAttribute = (DescriptionAttribute)objs[0];
+            return descriptionAttribute.Description;
+        }
+    }
+}
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterials/WmsMaterial.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterials/WmsMaterial.cs
index af8372d..4b9d049 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterials/WmsMaterial.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterials/WmsMaterial.cs
@@ -64,7 +64,7 @@
         /// <summary>
         /// 鏄惁涓轰富鏀锛坱rue: 涓绘敮绠�, false: 闈炰富鏀锛�
         /// </summary>
-        public bool IsMainBranch { get; set; }
+        public YesNoEnum IsMainBranch { get; set; }
 
         /// <summary>
         /// 鐢熶骇宸ュ巶
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsMaterial.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsMaterial.cs
index 7cf375e..f04c91b 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsMaterial.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsMaterial.cs
@@ -4,6 +4,7 @@
 using Microsoft.EntityFrameworkCore;
 using Volo.Abp;
 using Volo.Abp.EntityFrameworkCore.Modeling;
+using CMS.Plugin.HIAWms.Domain.Shared.Enums;
 
 namespace CMS.Plugin.HIAWms.EntityFrameworkCore.Extensions;
 
@@ -90,7 +91,7 @@
                 .HasComment("闀垮害锛堝崟浣嶏細m锛�");
 
             b.Property(x => x.IsMainBranch)
-                .HasDefaultValue(false)
+                .HasDefaultValue(YesNoEnum.N)
                 .HasComment("鏄惁涓轰富鏀");
 
             b.Property(x => x.Factory)
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250430035549_InitialCreate1.Designer.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250430035549_InitialCreate1.Designer.cs
new file mode 100644
index 0000000..bb6700e
--- /dev/null
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250430035549_InitialCreate1.Designer.cs
@@ -0,0 +1,675 @@
+锘�// <auto-generated />
+using System;
+using CMS.Plugin.HIAWms.MySQL;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Volo.Abp.EntityFrameworkCore;
+
+#nullable disable
+
+namespace CMS.Plugin.HIAWms.MySQL.Migrations
+{
+    [DbContext(typeof(CMSPluginDbContext))]
+    [Migration("20250430035549_InitialCreate1")]
+    partial class InitialCreate1
+    {
+        protected override void BuildTargetModel(ModelBuilder modelBuilder)
+        {
+#pragma warning disable 612, 618
+            modelBuilder
+                .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.MySql)
+                .HasAnnotation("ProductVersion", "6.0.16")
+                .HasAnnotation("Relational:MaxIdentifierLength", 64);
+
+            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsAreas.WmsArea", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("char(36)");
+
+                    b.Property<string>("AreaDesc")
+                        .HasMaxLength(200)
+                        .HasColumnType("varchar(200)")
+                        .HasComment("鎻忚堪");
+
+                    b.Property<string>("AreaName")
+                        .IsRequired()
+                        .HasMaxLength(100)
+                        .HasColumnType("varchar(100)")
+                        .HasComment("搴撳尯鍚嶇О");
+
+                    b.Property<string>("AreaNo")
+                        .IsRequired()
+                        .HasMaxLength(64)
+                        .HasColumnType("varchar(64)")
+                        .HasComment("搴撳尯缂栧彿");
+
+                    b.Property<int>("AreaStatus")
+                        .HasColumnType("int")
+                        .HasComment("搴撳尯鐘舵��");
+
+                    b.Property<int>("AreaType")
+                        .HasColumnType("int")
+                        .HasComment("搴撳尯绫诲瀷");
+
+                    b.Property<string>("ConcurrencyStamp")
+                        .IsConcurrencyToken()
+                        .HasMaxLength(40)
+                        .HasColumnType("varchar(40)")
+                        .HasColumnName("ConcurrencyStamp");
+
+                    b.Property<DateTime>("CreationTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("CreationTime");
+
+                    b.Property<Guid?>("CreatorId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("CreatorId");
+
+                    b.Property<Guid?>("DeleterId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("DeleterId");
+
+                    b.Property<DateTime?>("DeletionTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("DeletionTime");
+
+                    b.Property<string>("ExtraProperties")
+                        .HasColumnType("longtext")
+                        .HasColumnName("ExtraProperties");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("tinyint(1)")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted");
+
+                    b.Property<bool?>("IsDisabled")
+                        .HasColumnType("tinyint(1)")
+                        .HasComment("鏄惁绂佺敤");
+
+                    b.Property<DateTime?>("LastModificationTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("LastModificationTime");
+
+                    b.Property<Guid?>("LastModifierId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("LastModifierId");
+
+                    b.Property<string>("RedundantField1")
+                        .HasMaxLength(100)
+                        .HasColumnType("varchar(100)")
+                        .HasComment("鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��");
+
+                    b.Property<string>("RedundantField2")
+                        .HasMaxLength(100)
+                        .HasColumnType("varchar(100)")
+                        .HasComment("鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��");
+
+                    b.Property<string>("RedundantField3")
+                        .HasMaxLength(100)
+                        .HasColumnType("varchar(100)")
+                        .HasComment("鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��");
+
+                    b.Property<string>("Remark")
+                        .HasMaxLength(256)
+                        .HasColumnType("varchar(256)")
+                        .HasComment("澶囨敞");
+
+                    b.Property<int>("Sort")
+                        .HasColumnType("int")
+                        .HasComment("鎺掑簭");
+
+                    b.Property<string>("StoreCode")
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("浠撳簱浠g爜");
+
+                    b.Property<string>("StoreName")
+                        .HasMaxLength(100)
+                        .HasColumnType("varchar(100)")
+                        .HasComment("浠撳簱鍚嶇О");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("AreaName");
+
+                    b.ToTable("scms_wmsareas", (string)null);
+
+                    b.HasComment("搴撳尯琛�");
+                });
+
+            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsContainers.WmsContainer", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("char(36)");
+
+                    b.Property<string>("ConcurrencyStamp")
+                        .IsConcurrencyToken()
+                        .HasMaxLength(40)
+                        .HasColumnType("varchar(40)")
+                        .HasColumnName("ConcurrencyStamp");
+
+                    b.Property<string>("ContainerNo")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("鎵樼洏缂栧彿");
+
+                    b.Property<int>("ContainerStatus")
+                        .HasColumnType("int")
+                        .HasComment("鎵樼洏鐘舵��");
+
+                    b.Property<int>("ContainerType")
+                        .HasColumnType("int")
+                        .HasComment("鎵樼洏绫诲瀷");
+
+                    b.Property<DateTime>("CreationTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("CreationTime");
+
+                    b.Property<Guid?>("CreatorId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("CreatorId");
+
+                    b.Property<Guid?>("DeleterId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("DeleterId");
+
+                    b.Property<DateTime?>("DeletionTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("DeletionTime");
+
+                    b.Property<int?>("ExceptionNumber")
+                        .HasColumnType("int")
+                        .HasComment("寮傚父鏁伴噺");
+
+                    b.Property<string>("ExtraProperties")
+                        .HasColumnType("longtext")
+                        .HasColumnName("ExtraProperties");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("tinyint(1)")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted");
+
+                    b.Property<bool?>("IsDisabled")
+                        .HasColumnType("tinyint(1)")
+                        .HasComment("鏄惁绂佺敤");
+
+                    b.Property<DateTime?>("LastModificationTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("LastModificationTime");
+
+                    b.Property<Guid?>("LastModifierId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("LastModifierId");
+
+                    b.Property<decimal?>("LimitHeight")
+                        .HasPrecision(18, 2)
+                        .HasColumnType("decimal(18,2)")
+                        .HasComment("闄愰珮");
+
+                    b.Property<decimal?>("LimitLength")
+                        .HasPrecision(18, 2)
+                        .HasColumnType("decimal(18,2)")
+                        .HasComment("闄愰暱");
+
+                    b.Property<decimal?>("LimitWidth")
+                        .HasPrecision(18, 2)
+                        .HasColumnType("decimal(18,2)")
+                        .HasComment("闄愬");
+
+                    b.Property<int?>("MaterialNumber")
+                        .HasColumnType("int")
+                        .HasComment("鐗╂枡鏁伴噺");
+
+                    b.Property<decimal?>("MaxWeight")
+                        .HasPrecision(18, 2)
+                        .HasColumnType("decimal(18,2)")
+                        .HasComment("杞介噸涓婇檺");
+
+                    b.Property<string>("RedundantField1")
+                        .HasMaxLength(200)
+                        .HasColumnType("varchar(200)")
+                        .HasComment("鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��");
+
+                    b.Property<string>("RedundantField2")
+                        .HasMaxLength(200)
+                        .HasColumnType("varchar(200)")
+                        .HasComment("鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��");
+
+                    b.Property<string>("RedundantField3")
+                        .HasMaxLength(200)
+                        .HasColumnType("varchar(200)")
+                        .HasComment("鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��");
+
+                    b.Property<string>("Remark")
+                        .HasMaxLength(256)
+                        .HasColumnType("varchar(256)")
+                        .HasComment("澶囨敞");
+
+                    b.Property<int>("Sort")
+                        .HasColumnType("int")
+                        .HasComment("鎺掑簭");
+
+                    b.Property<decimal?>("SpecHeight")
+                        .HasPrecision(18, 2)
+                        .HasColumnType("decimal(18,2)")
+                        .HasComment("楂樺害");
+
+                    b.Property<decimal?>("SpecLength")
+                        .HasPrecision(18, 2)
+                        .HasColumnType("decimal(18,2)")
+                        .HasComment("闀垮害");
+
+                    b.Property<decimal?>("SpecWidth")
+                        .HasPrecision(18, 2)
+                        .HasColumnType("decimal(18,2)")
+                        .HasComment("瀹藉害");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("ContainerNo")
+                        .IsUnique();
+
+                    b.HasIndex("ContainerStatus");
+
+                    b.HasIndex("ContainerType");
+
+                    b.ToTable("scms_wmscontainers", (string)null);
+
+                    b.HasComment("鎵樼洏淇℃伅琛�");
+                });
+
+            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsMaterials.WmsMaterial", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("char(36)");
+
+                    b.Property<string>("Certification")
+                        .HasMaxLength(128)
+                        .HasColumnType("varchar(128)")
+                        .HasComment("璇佷功缂栧彿");
+
+                    b.Property<string>("ConcurrencyStamp")
+                        .IsConcurrencyToken()
+                        .HasMaxLength(40)
+                        .HasColumnType("varchar(40)")
+                        .HasColumnName("ConcurrencyStamp");
+
+                    b.Property<DateTime>("CreationTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("CreationTime");
+
+                    b.Property<Guid?>("CreatorId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("CreatorId");
+
+                    b.Property<Guid?>("DeleterId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("DeleterId");
+
+                    b.Property<DateTime?>("DeletionTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("DeletionTime");
+
+                    b.Property<string>("ExtraProperties")
+                        .HasColumnType("longtext")
+                        .HasColumnName("ExtraProperties");
+
+                    b.Property<string>("Factory")
+                        .HasMaxLength(64)
+                        .HasColumnType("varchar(64)")
+                        .HasComment("鐢熶骇宸ュ巶");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("tinyint(1)")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted");
+
+                    b.Property<bool?>("IsDisabled")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("tinyint(1)")
+                        .HasDefaultValue(false)
+                        .HasComment("鏄惁绂佺敤");
+
+                    b.Property<int>("IsMainBranch")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int")
+                        .HasDefaultValue(2)
+                        .HasComment("鏄惁涓轰富鏀");
+
+                    b.Property<DateTime?>("LastModificationTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("LastModificationTime");
+
+                    b.Property<Guid?>("LastModifierId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("LastModifierId");
+
+                    b.Property<decimal>("Length")
+                        .HasColumnType("decimal(18,2)")
+                        .HasComment("闀垮害锛堝崟浣嶏細m锛�");
+
+                    b.Property<string>("MaterialCode")
+                        .IsRequired()
+                        .HasMaxLength(64)
+                        .HasColumnType("varchar(64)")
+                        .HasComment("鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�");
+
+                    b.Property<string>("MaterialName")
+                        .IsRequired()
+                        .HasMaxLength(128)
+                        .HasColumnType("varchar(128)")
+                        .HasComment("鐗╂枡鍚嶇О");
+
+                    b.Property<string>("MaterialQuality")
+                        .HasMaxLength(64)
+                        .HasColumnType("varchar(64)")
+                        .HasComment("鏉愯川锛堝锛�304涓嶉攬閽級");
+
+                    b.Property<int>("MaterialType")
+                        .HasColumnType("int")
+                        .HasComment("鐗╂枡绫诲瀷锛堟灇涓惧�硷級");
+
+                    b.Property<decimal>("OuterDiameter")
+                        .HasColumnType("decimal(18,2)")
+                        .HasComment("澶栧緞锛堝崟浣嶏細mm锛�");
+
+                    b.Property<string>("PrimaryUnit")
+                        .HasMaxLength(20)
+                        .HasColumnType("varchar(20)")
+                        .HasComment("涓诲崟浣嶏紙濡傦細kg銆乵銆佷釜锛�");
+
+                    b.Property<int>("PurchaseType")
+                        .HasColumnType("int")
+                        .HasComment("閲囪喘绫诲瀷锛堟灇涓惧�硷級");
+
+                    b.Property<string>("RedundantField1")
+                        .HasMaxLength(256)
+                        .HasColumnType("varchar(256)")
+                        .HasComment("鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��");
+
+                    b.Property<string>("RedundantField2")
+                        .HasMaxLength(256)
+                        .HasColumnType("varchar(256)")
+                        .HasComment("鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��");
+
+                    b.Property<string>("RedundantField3")
+                        .HasMaxLength(256)
+                        .HasColumnType("varchar(256)")
+                        .HasComment("鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��");
+
+                    b.Property<string>("Remark")
+                        .HasMaxLength(500)
+                        .HasColumnType("varchar(500)")
+                        .HasComment("澶囨敞");
+
+                    b.Property<int>("Sort")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int")
+                        .HasDefaultValue(0)
+                        .HasComment("鎺掑簭");
+
+                    b.Property<string>("Standard")
+                        .HasMaxLength(128)
+                        .HasColumnType("varchar(128)")
+                        .HasComment("瑙勬牸/鏍囧噯锛堝锛欸B/T 8163-2018锛�");
+
+                    b.Property<decimal>("WallThickness")
+                        .HasColumnType("decimal(18,2)")
+                        .HasComment("澹佸帤锛堝崟浣嶏細mm锛�");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("MaterialCode")
+                        .IsUnique();
+
+                    b.HasIndex("MaterialName");
+
+                    b.HasIndex("MaterialType");
+
+                    b.HasIndex("PurchaseType");
+
+                    b.ToTable("scms_wmsmaterials", (string)null);
+
+                    b.HasComment("鐗╂枡鍩虹淇℃伅琛�");
+                });
+
+            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsPlaces.WmsPlace", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("char(36)");
+
+                    b.Property<int>("Aisle")
+                        .HasColumnType("int")
+                        .HasComment("宸烽亾");
+
+                    b.Property<string>("AreaCode")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("鎵�鍦ㄥ簱鍖�");
+
+                    b.Property<int>("ColumnNo")
+                        .HasColumnType("int")
+                        .HasComment("鍒�");
+
+                    b.Property<string>("ConcurrencyStamp")
+                        .IsConcurrencyToken()
+                        .HasMaxLength(40)
+                        .HasColumnType("varchar(40)")
+                        .HasColumnName("ConcurrencyStamp");
+
+                    b.Property<DateTime>("CreationTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("CreationTime");
+
+                    b.Property<Guid?>("CreatorId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("CreatorId");
+
+                    b.Property<Guid?>("DeleterId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("DeleterId");
+
+                    b.Property<DateTime?>("DeletionTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("DeletionTime");
+
+                    b.Property<int>("EmptyContainer")
+                        .HasColumnType("int")
+                        .HasComment("鏄惁绌烘墭");
+
+                    b.Property<string>("ExtraProperties")
+                        .HasColumnType("longtext")
+                        .HasColumnName("ExtraProperties");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("tinyint(1)")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted");
+
+                    b.Property<bool?>("IsDisabled")
+                        .HasColumnType("tinyint(1)")
+                        .HasComment("鏄惁绂佺敤");
+
+                    b.Property<int>("Islock")
+                        .HasColumnType("int")
+                        .HasComment("鏄惁閿佸畾");
+
+                    b.Property<DateTime?>("LastModificationTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("LastModificationTime");
+
+                    b.Property<Guid?>("LastModifierId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("LastModifierId");
+
+                    b.Property<int>("LayerNo")
+                        .HasColumnType("int")
+                        .HasComment("灞�");
+
+                    b.Property<string>("PlaceNo")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("缂栧彿");
+
+                    b.Property<int>("PlaceStatus")
+                        .HasColumnType("int")
+                        .HasComment("璐т綅鐘舵��");
+
+                    b.Property<string>("RedundantField1")
+                        .HasMaxLength(100)
+                        .HasColumnType("varchar(100)")
+                        .HasComment("鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��");
+
+                    b.Property<string>("RedundantField2")
+                        .HasMaxLength(100)
+                        .HasColumnType("varchar(100)")
+                        .HasComment("鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��");
+
+                    b.Property<string>("RedundantField3")
+                        .HasMaxLength(100)
+                        .HasColumnType("varchar(100)")
+                        .HasComment("鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��");
+
+                    b.Property<string>("Remark")
+                        .HasMaxLength(256)
+                        .HasColumnType("varchar(256)")
+                        .HasComment("澶囨敞");
+
+                    b.Property<int>("RowNo")
+                        .HasColumnType("int")
+                        .HasComment("鎺�");
+
+                    b.Property<int>("Sort")
+                        .HasColumnType("int")
+                        .HasComment("鎺掑簭");
+
+                    b.Property<int>("StorageTypeNo")
+                        .HasColumnType("int")
+                        .HasComment("璐т綅绫诲瀷");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("AreaCode");
+
+                    b.HasIndex("PlaceNo")
+                        .IsUnique();
+
+                    b.HasIndex("PlaceStatus");
+
+                    b.HasIndex("StorageTypeNo");
+
+                    b.ToTable("scms_wmsplaces", (string)null);
+
+                    b.HasComment("搴撲綅琛�");
+                });
+
+            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsStores.WmsStore", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("char(36)");
+
+                    b.Property<string>("ConcurrencyStamp")
+                        .IsConcurrencyToken()
+                        .HasMaxLength(40)
+                        .HasColumnType("varchar(40)")
+                        .HasColumnName("ConcurrencyStamp");
+
+                    b.Property<DateTime>("CreationTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("CreationTime");
+
+                    b.Property<Guid?>("CreatorId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("CreatorId");
+
+                    b.Property<Guid?>("DeleterId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("DeleterId");
+
+                    b.Property<DateTime?>("DeletionTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("DeletionTime");
+
+                    b.Property<string>("ExtraProperties")
+                        .HasColumnType("longtext")
+                        .HasColumnName("ExtraProperties");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("tinyint(1)")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted");
+
+                    b.Property<bool?>("IsDisabled")
+                        .HasColumnType("tinyint(1)")
+                        .HasComment("鏄惁绂佺敤");
+
+                    b.Property<DateTime?>("LastModificationTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("LastModificationTime");
+
+                    b.Property<Guid?>("LastModifierId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("LastModifierId");
+
+                    b.Property<string>("RedundantField1")
+                        .HasMaxLength(100)
+                        .HasColumnType("varchar(100)")
+                        .HasComment("鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��");
+
+                    b.Property<string>("RedundantField2")
+                        .HasMaxLength(100)
+                        .HasColumnType("varchar(100)")
+                        .HasComment("鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��");
+
+                    b.Property<string>("RedundantField3")
+                        .HasMaxLength(100)
+                        .HasColumnType("varchar(100)")
+                        .HasComment("鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��");
+
+                    b.Property<string>("Remark")
+                        .HasMaxLength(256)
+                        .HasColumnType("varchar(256)")
+                        .HasComment("澶囨敞");
+
+                    b.Property<int>("Sort")
+                        .HasColumnType("int")
+                        .HasComment("鎺掑簭");
+
+                    b.Property<string>("StoreCode")
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("浠撳簱浠g爜");
+
+                    b.Property<string>("StoreName")
+                        .HasMaxLength(100)
+                        .HasColumnType("varchar(100)")
+                        .HasComment("浠撳簱鍚嶇О");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("StoreName");
+
+                    b.ToTable("scms_wmsstores", (string)null);
+
+                    b.HasComment("浠撳簱淇℃伅琛�");
+                });
+#pragma warning restore 612, 618
+        }
+    }
+}
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250430035549_InitialCreate1.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250430035549_InitialCreate1.cs
new file mode 100644
index 0000000..aba4201
--- /dev/null
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250430035549_InitialCreate1.cs
@@ -0,0 +1,39 @@
+锘縰sing Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace CMS.Plugin.HIAWms.MySQL.Migrations
+{
+    public partial class InitialCreate1 : Migration
+    {
+        protected override void Up(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.AlterColumn<int>(
+                name: "IsMainBranch",
+                table: "scms_wmsmaterials",
+                type: "int",
+                nullable: false,
+                defaultValue: 2,
+                comment: "鏄惁涓轰富鏀",
+                oldClrType: typeof(bool),
+                oldType: "tinyint(1)",
+                oldDefaultValue: false,
+                oldComment: "鏄惁涓轰富鏀");
+        }
+
+        protected override void Down(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.AlterColumn<bool>(
+                name: "IsMainBranch",
+                table: "scms_wmsmaterials",
+                type: "tinyint(1)",
+                nullable: false,
+                defaultValue: false,
+                comment: "鏄惁涓轰富鏀",
+                oldClrType: typeof(int),
+                oldType: "int",
+                oldDefaultValue: 2,
+                oldComment: "鏄惁涓轰富鏀");
+        }
+    }
+}
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/CMSPluginDbContextModelSnapshot.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/CMSPluginDbContextModelSnapshot.cs
index a11c8d5..88d2312 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/CMSPluginDbContextModelSnapshot.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/CMSPluginDbContextModelSnapshot.cs
@@ -338,10 +338,10 @@
                         .HasDefaultValue(false)
                         .HasComment("鏄惁绂佺敤");
 
-                    b.Property<bool>("IsMainBranch")
+                    b.Property<int>("IsMainBranch")
                         .ValueGeneratedOnAdd()
-                        .HasColumnType("tinyint(1)")
-                        .HasDefaultValue(false)
+                        .HasColumnType("int")
+                        .HasDefaultValue(2)
                         .HasComment("鏄惁涓轰富鏀");
 
                     b.Property<DateTime?>("LastModificationTime")
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Scripts/UpdateMigrations.bat b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Scripts/UpdateMigrations.bat
index edbd167..101a898 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Scripts/UpdateMigrations.bat
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Scripts/UpdateMigrations.bat
@@ -1,5 +1,5 @@
 cd ../
-dotnet ef migrations add InitialCreate -c CMSPluginDbContext -o Migrations
+dotnet ef migrations add InitialCreate1 -c CMSPluginDbContext -o Migrations
 ::dotnet ef migrations add Update1 -c CMSPluginDbContext -o Migrations
 ::dotnet ef migrations add Update2 -c CMSPluginDbContext -o Migrations
 ::dotnet ef migrations add Update3 -c CMSPluginDbContext -o Migrations
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsEnumController.cs b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsEnumController.cs
new file mode 100644
index 0000000..dc0295b
--- /dev/null
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsEnumController.cs
@@ -0,0 +1,45 @@
+锘縰sing CMS.Extensions.Abp.AspNetCore.Mvc.Filters;
+using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsEnumDto;
+using CMS.Plugin.HIAWms.Application.Contracts.Services;
+using CMS.Plugin.HIAWms.Domain.Shared.Util;
+using Microsoft.AspNetCore.Mvc;
+using System;
+using System.Web;
+
+namespace CMS.Plugin.HIAWms.Controller
+{
+    /// <summary>
+    /// 鏋氫妇鏈嶅姟鎺ュ彛.
+    /// </summary>
+    [ApiController]
+    [TypeFilter(typeof(CMSLanguageFilter))]
+    [TypeFilter(typeof(CMSUowActionFilter))]
+    [TypeFilter(typeof(CMSAuditActionFilter))]
+    [TypeFilter(typeof(CMSExceptionFilter))]
+    [Route("api/v{version:apiVersion}/HIAWms/[controller]")]
+    public class WmsEnumController : ControllerBase
+    {
+        private readonly IWmsEnumAppService _wmsEnumAppService;
+
+        /// <summary>
+        /// Initializes a new instance of the <see cref="WmsEnumController"/> class.
+        /// 鏋勯�犲嚱鏁�.
+        /// </summary>
+        /// <param name="wmsEnumAppService"></param>
+        public WmsEnumController(IWmsEnumAppService wmsEnumAppService)
+        {
+            _wmsEnumAppService = wmsEnumAppService;
+        }
+
+        /// <summary>
+        /// 鑾峰彇鏋氫妇鏁版嵁.
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public List<EnumItem> GetEnumDataList(WmsEnumInput input)
+        {
+            return _wmsEnumAppService.GetEnumDataList(input);
+        }
+    }
+}
diff --git "a/HIAWms/server/src/CMS.Plugin.HIAWms/Resources/Templates/Sample\345\257\274\345\207\272\346\250\241\346\235\277.xlsx" "b/HIAWms/server/src/CMS.Plugin.HIAWms/Resources/Templates/Sample\345\257\274\345\207\272\346\250\241\346\235\277.xlsx"
deleted file mode 100644
index ca8c2ef..0000000
--- "a/HIAWms/server/src/CMS.Plugin.HIAWms/Resources/Templates/Sample\345\257\274\345\207\272\346\250\241\346\235\277.xlsx"
+++ /dev/null
Binary files differ
diff --git "a/HIAWms/server/src/CMS.Plugin.HIAWms/Resources/Templates/WmsArea\345\257\274\345\207\272\346\250\241\346\235\277.xlsx" "b/HIAWms/server/src/CMS.Plugin.HIAWms/Resources/Templates/WmsArea\345\257\274\345\207\272\346\250\241\346\235\277.xlsx"
index ca8c2ef..8096a4d 100644
--- "a/HIAWms/server/src/CMS.Plugin.HIAWms/Resources/Templates/WmsArea\345\257\274\345\207\272\346\250\241\346\235\277.xlsx"
+++ "b/HIAWms/server/src/CMS.Plugin.HIAWms/Resources/Templates/WmsArea\345\257\274\345\207\272\346\250\241\346\235\277.xlsx"
Binary files differ
diff --git "a/HIAWms/server/src/CMS.Plugin.HIAWms/Resources/Templates/WmsContainer\345\257\274\345\207\272\346\250\241\346\235\277.xlsx" "b/HIAWms/server/src/CMS.Plugin.HIAWms/Resources/Templates/WmsContainer\345\257\274\345\207\272\346\250\241\346\235\277.xlsx"
index ca8c2ef..57d6b44 100644
--- "a/HIAWms/server/src/CMS.Plugin.HIAWms/Resources/Templates/WmsContainer\345\257\274\345\207\272\346\250\241\346\235\277.xlsx"
+++ "b/HIAWms/server/src/CMS.Plugin.HIAWms/Resources/Templates/WmsContainer\345\257\274\345\207\272\346\250\241\346\235\277.xlsx"
Binary files differ
diff --git "a/HIAWms/server/src/CMS.Plugin.HIAWms/Resources/Templates/WmsMaterial\345\257\274\345\207\272\346\250\241\346\235\277.xlsx" "b/HIAWms/server/src/CMS.Plugin.HIAWms/Resources/Templates/WmsMaterial\345\257\274\345\207\272\346\250\241\346\235\277.xlsx"
index ca8c2ef..16a561b 100644
--- "a/HIAWms/server/src/CMS.Plugin.HIAWms/Resources/Templates/WmsMaterial\345\257\274\345\207\272\346\250\241\346\235\277.xlsx"
+++ "b/HIAWms/server/src/CMS.Plugin.HIAWms/Resources/Templates/WmsMaterial\345\257\274\345\207\272\346\250\241\346\235\277.xlsx"
Binary files differ
diff --git "a/HIAWms/server/src/CMS.Plugin.HIAWms/Resources/Templates/WmsPlace\345\257\274\345\207\272\346\250\241\346\235\277.xlsx" "b/HIAWms/server/src/CMS.Plugin.HIAWms/Resources/Templates/WmsPlace\345\257\274\345\207\272\346\250\241\346\235\277.xlsx"
index ca8c2ef..ccb12f5 100644
--- "a/HIAWms/server/src/CMS.Plugin.HIAWms/Resources/Templates/WmsPlace\345\257\274\345\207\272\346\250\241\346\235\277.xlsx"
+++ "b/HIAWms/server/src/CMS.Plugin.HIAWms/Resources/Templates/WmsPlace\345\257\274\345\207\272\346\250\241\346\235\277.xlsx"
Binary files differ
diff --git "a/HIAWms/server/src/CMS.Plugin.HIAWms/Resources/Templates/WmsStore\345\257\274\345\207\272\346\250\241\346\235\277.xlsx" "b/HIAWms/server/src/CMS.Plugin.HIAWms/Resources/Templates/WmsStore\345\257\274\345\207\272\346\250\241\346\235\277.xlsx"
index ca8c2ef..c70c1c3 100644
--- "a/HIAWms/server/src/CMS.Plugin.HIAWms/Resources/Templates/WmsStore\345\257\274\345\207\272\346\250\241\346\235\277.xlsx"
+++ "b/HIAWms/server/src/CMS.Plugin.HIAWms/Resources/Templates/WmsStore\345\257\274\345\207\272\346\250\241\346\235\277.xlsx"
Binary files differ
diff --git a/HIAWms/web/src/config/menu.ts b/HIAWms/web/src/config/menu.ts
index 71904c0..1a0aaf6 100644
--- a/HIAWms/web/src/config/menu.ts
+++ b/HIAWms/web/src/config/menu.ts
@@ -21,7 +21,7 @@
     "notPage": false
   },
   {
-    "name": "鐗╂枡鍩虹",
+    "name": "Wms鐗╂枡鍩虹",
     "path": "/information-base/HIAWms",
     "patchName": "HIAWms",
     "icon": "p",
@@ -51,7 +51,7 @@
     "notPage": false
   },
   "HIAWms": {
-    "name": "鐗╂枡鍩虹",
+    "name": "Wms鐗╂枡鍩虹",
     "path": "/information-base/HIAWms",
     "patchName": "HIAWms",
     "icon": "p",
diff --git a/HIAWms/web/src/widgets/HIAWms/Controllers/WmsMaterialDrawer.ts b/HIAWms/web/src/widgets/HIAWms/Controllers/WmsMaterialDrawer.tsx
similarity index 74%
rename from HIAWms/web/src/widgets/HIAWms/Controllers/WmsMaterialDrawer.ts
rename to HIAWms/web/src/widgets/HIAWms/Controllers/WmsMaterialDrawer.tsx
index 377b8fb..2e2946f 100644
--- a/HIAWms/web/src/widgets/HIAWms/Controllers/WmsMaterialDrawer.ts
+++ b/HIAWms/web/src/widgets/HIAWms/Controllers/WmsMaterialDrawer.tsx
@@ -1,4 +1,13 @@
-import { ref, onMounted, reactive, computed, Ref, watch } from 'vue'
+import {
+  ref,
+  onMounted,
+  reactive,
+  computed,
+  Ref,
+  watch,
+  SetupContext,
+  h,
+} from 'vue'
 import { injectModel } from '@/libs/Provider/Provider'
 import { WmsMaterialDrawer } from '../Models/WmsMaterialDrawer'
 import { ElMessage } from 'element-plus'
@@ -16,9 +25,23 @@
   // ref
   const formRef = ref()
 
+  const disabled = ref(false)
+
   const current = computed(() => {
     return props.row || null
   })
+
+  const inputNumber = (attrs) => {
+    return (
+      <el-input-number
+        min="1"
+        step="1"
+        precision="0"
+        {...attrs}
+      ></el-input-number>
+    )
+  }
+
   const visible = computed({
     get() {
       return props.modelValue
@@ -35,6 +58,7 @@
       label: '鐗╂枡缂栫爜',
       prop: 'materialCode',
       el: 'input',
+      disabled: disabled,
       placeholder: '璇疯緭鍏ョ墿鏂欑紪鐮�',
       rules: [{ required: true, message: '鐗╂枡缂栫爜涓嶈兘涓虹┖', trigger: 'blur' }],
     },
@@ -50,11 +74,7 @@
       prop: 'purchaseType',
       el: 'select',
       placeholder: '璇烽�夋嫨閲囪喘绫诲瀷',
-      options: [
-        { label: '绫诲瀷1', value: 1 },
-        { label: '绫诲瀷2', value: 2 },
-        // Add all enum values
-      ],
+      options: [],
       rules: [{ required: true, message: '璇烽�夋嫨閲囪喘绫诲瀷', trigger: 'change' }],
     },
     {
@@ -62,11 +82,7 @@
       prop: 'materialType',
       el: 'select',
       placeholder: '璇烽�夋嫨鐗╂枡绫诲瀷',
-      options: [
-        { label: '绫诲瀷A', value: 1 },
-        { label: '绫诲瀷B', value: 2 },
-        // Add all enum values
-      ],
+      options: [],
       rules: [{ required: true, message: '璇烽�夋嫨鐗╂枡绫诲瀷', trigger: 'change' }],
     },
     {
@@ -84,7 +100,14 @@
     {
       label: '澶栧緞(mm)',
       prop: 'outerDiameter',
-      el: 'input-number',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(inputNumber, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      width: '100%',
       placeholder: '璇疯緭鍏ュ寰�',
       step: 0.01,
       precision: 2,
@@ -92,7 +115,14 @@
     {
       label: '澹佸帤(mm)',
       prop: 'wallThickness',
-      el: 'input-number',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(inputNumber, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      width: '100%',
       placeholder: '璇疯緭鍏ュ鍘�',
       step: 0.01,
       precision: 2,
@@ -106,7 +136,14 @@
     {
       label: '闀垮害(m)',
       prop: 'length',
-      el: 'input-number',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(inputNumber, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      width: '100%',
       placeholder: '璇疯緭鍏ラ暱搴�',
       step: 0.1,
       precision: 2,
@@ -115,10 +152,7 @@
       label: '鏄惁涓绘敮绠�',
       prop: 'isMainBranch',
       el: 'select',
-      options: [
-        { label: '鏄�', value: 1 },
-        { label: '鍚�', value: 2 },
-      ],
+      options: [],
     },
     {
       label: '鐢熶骇宸ュ巶',
@@ -184,7 +218,7 @@
       wallThickness: formData.value.wallThickness,
       materialQuality: formData.value.materialQuality,
       length: formData.value.length,
-      isMainBranch: formData.value.isMainBranch === 1,
+      isMainBranch: formData.value.isMainBranch,
       factory: formData.value.factory,
       certification: formData.value.certification,
       remark: formData.value.remark,
@@ -206,10 +240,34 @@
       },
     }
   }
+  const updateFormItemOptions = (propName: string, enumData: any[]) => {
+    const item = formItems.find((item) => item.prop === propName)
+    if (item && enumData) {
+      item.options = enumData.map((item) => ({
+        label: item.description,
+        value: item.value,
+      }))
+    }
+  }
   /**
    * 寮圭獥鎵撳紑鑾峰彇璇︽儏
    */
   const onOpen = async () => {
+    const materialTypeEnum = await wmsMaterialDrawer.getWmsEnumData({
+      EnumName: 'MaterialTypeEnum',
+    })
+    updateFormItemOptions('materialType', materialTypeEnum)
+
+    const purchaseTypeEnum = await wmsMaterialDrawer.getWmsEnumData({
+      EnumName: 'PurchaseTypeEnum',
+    })
+    updateFormItemOptions('purchaseType', purchaseTypeEnum)
+
+    const yesOrNoTypeEnum = await wmsMaterialDrawer.getWmsEnumData({
+      EnumName: 'YesNoEnum',
+    })
+    updateFormItemOptions('isMainBranch', yesOrNoTypeEnum)
+
     if (current.value) {
       const res = await wmsMaterialDrawer.getWmsMaterialDetail(current.value)
 
@@ -224,15 +282,18 @@
         wallThickness: res.wallThickness,
         materialQuality: res.materialQuality,
         length: res.length,
-        isMainBranch: res.isMainBranch ? 1 : 2,
+        isMainBranch: res.isMainBranch,
         factory: res.factory,
         certification: res.certification,
         remark: res.remark,
         id: res.id,
       }
+      disabled.value = true
       updateCheckData()
     } else {
       formData.value = {}
+
+      disabled.value = false
       updateCheckData()
     }
   }
diff --git a/HIAWms/web/src/widgets/HIAWms/Models/Service/WmsMaterialDrawer.ts b/HIAWms/web/src/widgets/HIAWms/Models/Service/WmsMaterialDrawer.ts
index c4b007b..a51c5b5 100644
--- a/HIAWms/web/src/widgets/HIAWms/Models/Service/WmsMaterialDrawer.ts
+++ b/HIAWms/web/src/widgets/HIAWms/Models/Service/WmsMaterialDrawer.ts
@@ -24,3 +24,11 @@
 export const updateWmsMaterial = (id: string, data: Record<string, any>) => {
   return request.put(`/api/v1/hIAWms/wmsMaterial/${id}`, data)
 }
+
+/**
+ * 鑾峰彇鏋氫妇
+ * @returns
+ */
+export const getWmsEnumData = (data: any) => {
+  return request.post('/api/v1/hIAWms/WmsEnum', data)
+}
diff --git a/HIAWms/web/src/widgets/HIAWms/Models/WmsMaterialDrawer.ts b/HIAWms/web/src/widgets/HIAWms/Models/WmsMaterialDrawer.ts
index 1fd7ab6..4194408 100644
--- a/HIAWms/web/src/widgets/HIAWms/Models/WmsMaterialDrawer.ts
+++ b/HIAWms/web/src/widgets/HIAWms/Models/WmsMaterialDrawer.ts
@@ -3,6 +3,7 @@
   addWmsMaterial,
   getWmsMaterial,
   updateWmsMaterial,
+  getWmsEnumData,
 } from './Service/WmsMaterialDrawer'
 import { useGlobalState } from '@/libs/Store/Store'
 
@@ -35,4 +36,9 @@
   async getWmsMaterialDetail(current: any, id?: string) {
     return getWmsMaterial(id || current?.id)
   }
+
+  //  鑾峰彇鏋氫妇鍊�
+  async getWmsEnumData(data: Record<string, any>) {
+    return getWmsEnumData(data)
+  }
 }
diff --git a/HIAWms/web/src/widgets/HIAWms/Views/HIAWms.tsx b/HIAWms/web/src/widgets/HIAWms/Views/HIAWms.tsx
index 6c8532f..57e5ac0 100644
--- a/HIAWms/web/src/widgets/HIAWms/Views/HIAWms.tsx
+++ b/HIAWms/web/src/widgets/HIAWms/Views/HIAWms.tsx
@@ -68,7 +68,7 @@
               return (
                 <TabPane label={widgetInfo.label} name={widgetInfo.name}>
                   <Widget
-                    ref={(r: any) => (rf.value['WmsContainer'] = r)}
+                    ref={(r: any) => (rf.value['WmsMaterial'] = r)}
                   ></Widget>
                 </TabPane>
               )
diff --git a/HIAWms/web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialDrawer/WmsMaterialDrawer.tsx b/HIAWms/web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialDrawer/WmsMaterialDrawer.tsx
index 34ba8ca..50ad20c 100644
--- a/HIAWms/web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialDrawer/WmsMaterialDrawer.tsx
+++ b/HIAWms/web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialDrawer/WmsMaterialDrawer.tsx
@@ -1,7 +1,7 @@
 import { SetupContext, defineComponent } from 'vue'
 import BaseDrawer from '@/components/BaseDrawer/BaseDrawer'
 import styles from './WmsMaterialDrawer.module.scss'
-import { useWmsMaterialDrawer } from '../../../../Controllers/WmsMaterialDrawer'
+import { useWmsMaterialDrawer } from '../../../../Controllers/WmsMaterialDrawer.tsx'
 import DyForm from '@/components/DyForm/DyForm'
 
 // @ts-ignore
diff --git a/HIAWms/web/src/widgets/HIAWms/Views/Pages/WmsMaterial/Config.ts b/HIAWms/web/src/widgets/HIAWms/Views/Pages/WmsMaterial/Config.ts
index 7b9e98c..2b0e6f5 100644
--- a/HIAWms/web/src/widgets/HIAWms/Views/Pages/WmsMaterial/Config.ts
+++ b/HIAWms/web/src/widgets/HIAWms/Views/Pages/WmsMaterial/Config.ts
@@ -13,30 +13,12 @@
     title: '鐗╂枡鍚嶇О',
   },
   {
-    field: 'purchaseType',
+    field: 'purchaseTypeDesc',
     title: '閲囪喘绫诲瀷',
-    formatter: ({ cellValue }) => {
-      // You'll need to map the enum values to display text
-      const purchaseTypeMap = {
-        0: '绫诲瀷1',
-        1: '绫诲瀷2',
-        // Add all enum values
-      }
-      return purchaseTypeMap[cellValue] || cellValue
-    },
   },
   {
-    field: 'materialType',
+    field: 'materialTypeDesc',
     title: '鐗╂枡绫诲瀷',
-    formatter: ({ cellValue }) => {
-      // Map material type enum to display text
-      const materialTypeMap = {
-        0: '绫诲瀷A',
-        1: '绫诲瀷B',
-        // Add all enum values
-      }
-      return materialTypeMap[cellValue] || cellValue
-    },
   },
   {
     field: 'primaryUnit',
@@ -63,9 +45,8 @@
     title: '闀垮害(m)',
   },
   {
-    field: 'isMainBranch',
-    title: '涓绘敮绠�',
-    formatter: ({ cellValue }) => (cellValue ? '鏄�' : '鍚�'),
+    field: 'isMainBranchDesc',
+    title: '鏄惁涓绘敮绠�',
   },
   {
     field: 'factory',
@@ -74,10 +55,6 @@
   {
     field: 'certification',
     title: '璇佷功缂栧彿',
-  },
-  {
-    field: 'sort',
-    title: '鎺掑簭',
   },
   {
     field: 'remark',

--
Gitblit v1.9.3