From 5e38906b578004f5a7441329cd25e85e50a29020 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周二, 06 5月 2025 17:37:58 +0800
Subject: [PATCH] 111

---
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Models/WmsInOutStockRecordDrawer.ts                                                          |   44 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/Pages/Dialog/WmsInOutStockRecordDrawer/WmsInOutStockRecordDrawer.tsx                   |   61 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Models/WmsMaterialDrawer.ts                                                                               |   88 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/enum.ts                                                                                      |   15 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialController.cs                                                                 |    2 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/index.ts                                                                                                  |   28 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsInOutStockRecordRepository.cs                             |  113 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/Pages/Dialog/WmsInOutStockRecordQueryDrawer/WmsInOutStockRecordQueryDrawer.module.scss |    3 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsMaterialAppService.cs                                            |    2 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialRepository.cs                                     |    2 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Models/Service/WmsInOutStockRecordDrawer.ts                                                  |   34 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain.Shared/Enums/StockTypeEnum.cs                                                                |   28 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/GetWmsMaterialInput.cs                                       |    2 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/type/Type.d.ts                                                                                            |   90 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain.Shared/Enums/WmsTaskStatus.cs                                                                |   42 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/Pages/Dialog/WmsInOutStockRecordDrawer/WmsInOutStockRecordDrawer.module.scss           |    3 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsInOutStockRecord/IWmsInOutStockRecordRepository.cs                                        |   53 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.MySQL/CMSPluginDbContext.cs                                                                         |    2 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Models/WmsMaterial.ts                                                                                     |   82 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialUpdateDto.cs                                      |    2 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/index.ts                                                                                     |   14 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.module.scss                              |    6 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/enum.ts                                                                                                   |   30 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/config/WmsInOutStockRecord.json                                                        |    3 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/type/type.d.ts                                                                               |   45 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordsImportModel.cs                   |   33 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordUpdateDto.cs                      |   13 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Models/Service/WmsMaterialQueryDrawer.ts                                                                  |   93 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordCreateOrUpdateDtoBase.cs          |  100 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialExportModel.cs                                    |    2 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/新文件夹/WmsTask.cs                                                                              |  126 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/HIAWms.module.scss                                                                                  |   14 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsTask.cs                                 |  153 +
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms/Controller/WmsInOutStockRecordController.cs                                                         |  188 +
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialDrawer/WmsMaterialDrawer.tsx                                                |  122 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.tsx                                      |  142 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Models/WmsInOutStockRecord.ts                                                                |   41 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Models/Service/WmsMaterialDrawer.ts                                                                       |   92 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/Pages/WmsInOutStockRecord/Config.ts                                                    |   67 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/config/HIAWms.module.scss                                                                           |    3 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordCreateDto.cs                      |   17 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateDto.cs                                      |    2 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Models/WmsMaterialQueryDrawer.ts                                                                          |   88 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/WmsMaterial.ts                                                                                |  548 ++--
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Controllers/WmsInOutStockRecord.ts                                                           |  275 ++
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordDto.cs                            |  155 +
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Models/Service/WmsInOutStockRecord.ts                                                        |   30 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsInOutStockRecordAutoMapperProfile.cs                                  |   26 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.tsx                                                                   |  643 ++--
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Models/Service/WmsMaterial.ts                                                                             |   60 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/WmsInOutStockRecord.module.scss                                                        |    7 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsInOutStockRecord.cs                     |  121 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/GetWmsInOutStockRecordInput.cs                       |  249 +
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsInOutStockRecordAppService.cs                                             |  436 +++
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain.Shared/Enums/SonTaskTypeEnum.cs                                                              |   51 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialsImportModel.cs                                   |    2 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/WmsMaterial/Config.ts                                                                         |  154 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialAppService.cs                                                     |    2 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Controllers/WmsInOutStockRecordQueryDrawer.tsx                                               |  267 +
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateOrUpdateDtoBase.cs                          |    2 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Models/WmsInOutStockRecordQueryDrawer.ts                                                     |   44 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/Pages/Dialog/WmsInOutStockRecordQueryDrawer/WmsInOutStockRecordQueryDrawer.tsx         |   71 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/File.ts                                                                                       |   62 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialDrawer/WmsMaterialDrawer.module.scss                                        |    6 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Models/Service/WmsInOutStockRecordQueryDrawer.ts                                             |   35 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialDto.cs                                            |    2 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsInOutStockRecord/WmsInOutStockRecord.cs                                                   |   95 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.module.scss                                                           |  226 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/WmsMaterialDrawer.tsx                                                                         |  680 ++--
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/Pages/WmsInOutStockRecord/WmsInOutStockRecord.module.scss                              |  113 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/config/menu.ts                                                                                                           |   18 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Controllers/File.ts                                                                          |   31 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain.Shared/Enums/TaskTypeEnum.cs                                                                 |   28 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterial/IWmsMaterialRepository.cs                                                        |    2 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/WmsMaterialQueryDrawer.tsx                                                                    |  662 ++--
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Controllers/WmsInOutStockRecordDrawer.tsx                                                    |  275 ++
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/Pages/WmsInOutStockRecord/WmsInOutStockRecord.tsx                                      |  308 ++
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordExportModel.cs                    |  109 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsInOutStockRecordAppService.cs                                    |   46 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/HIAWms.tsx                                                                                          |  161 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/WmsInOutStockRecord.tsx                                                                |   80 
 81 files changed, 6,169 insertions(+), 2,003 deletions(-)

diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/GetWmsInOutStockRecordInput.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/GetWmsInOutStockRecordInput.cs"
new file mode 100644
index 0000000..7a6f32f
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/GetWmsInOutStockRecordInput.cs"
@@ -0,0 +1,249 @@
+using CmsQueryExtensions.Extension; 
+using Volo.Abp.Application.Dtos; 
+ 
+namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsInOutStockRecord; 
+ 
+/// <summary> 
+/// 鍑哄叆搴撹褰曡〃鏌ヨ鍙傛暟 
+/// </summary> 
+public class GetWmsInOutStockRecordInput : ExtensiblePagedAndSortedResultRequestDto 
+{ 
+ 
+    #region 鍏抽敭瀛楁煡璇� 
+ 
+    /// <summary> 
+    /// 鍏抽敭瀛楁ā绯婃煡璇紙娉ㄦ剰鏄皬鍐欙紒锛� 
+    /// </summary> 
+    public string searchVal { get; set; } 
+ 
+    /// <summary> 
+    /// 閫氱敤鏌ヨ閰嶇疆 (1:妯$硦鏌ヨ , 2:绮惧噯鏌ヨ)锛堟敞鎰忔槸灏忓啓锛侊級 
+    /// </summary> 
+    public SearchFilterModeEnum searchVal_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; 
+ 
+    /// <summary> 
+    /// 瀛愭悳绱㈢粍浠朵紶閫掔殑閫氱敤鏌ヨ閰嶇疆鐨勫睘鎬у悕锛堟敞鎰忔槸灏忓啓锛侊級 
+    /// </summary> 
+    [NoAutoQuery] 
+    public string str_searchFormInputAttrs { get; set; } 
+    /// <summary> 
+    /// 瀛愭悳绱㈢粍浠朵紶閫掔殑閫氱敤鏌ヨ閰嶇疆鐨勫睘鎬у悕锛堟敞鎰忔槸灏忓啓锛侊級 
+    /// </summary> 
+    public List<string> searchFormInputAttrs 
+    { 
+        get 
+        { 
+            if (!string.IsNullOrEmpty(str_searchFormInputAttrs)) 
+            { 
+                return str_searchFormInputAttrs.Split(',').ToList(); 
+            } 
+            return new List<string>(); 
+        } 
+    } 
+ 
+    #endregion 
+ 
+            /// <summary>
+        /// 鍗曟嵁缂栧彿
+        /// </summary>
+        public string OrderNo { get; set; }
+
+        /// <summary>
+        /// 鍗曟嵁缂栧彿-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum OrderNo_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+
+        /// <summary>
+        /// 鐗╂枡鍚嶇О
+        /// </summary>
+        public string MaterialName { get; set; }
+
+        /// <summary>
+        /// 鐗╂枡鍚嶇О-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum MaterialName_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+
+        /// <summary>
+        /// 鐗╂枡浠跺彿
+        /// </summary>
+        public string MaterialNo { get; set; }
+
+        /// <summary>
+        /// 鐗╂枡浠跺彿-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum MaterialNo_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+
+        /// <summary>
+        /// 鎿嶄綔绫诲瀷
+        /// </summary>
+        public int?  StockType { get; set; }
+
+        /// <summary>
+        /// 鎿嶄綔绫诲瀷-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum StockType_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+        /// <summary>
+        /// 瀹瑰櫒缂栧彿
+        /// </summary>
+        public string ContainerNo { get; set; }
+
+        /// <summary>
+        /// 瀹瑰櫒缂栧彿-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum ContainerNo_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+
+        /// <summary>
+        /// 鏈哄瀷
+        /// </summary>
+        public string MaterialModel { get; set; }
+
+        /// <summary>
+        /// 鏈哄瀷-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum MaterialModel_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+
+        /// <summary>
+        /// 鎿嶄綔鏃堕棿
+        /// </summary>
+        //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规��
+        [HighSearchRangeAttribute]
+        public List<string> OperateTime { get; set; }
+
+
+        /// <summary>
+        /// 澶囨敞
+        /// </summary>
+        public string Remark { get; set; }
+
+        /// <summary>
+        /// 澶囨敞-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum Remark_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+
+        /// <summary>
+        /// 鐗╂枡ID
+        /// </summary>
+        public string MaterialId { get; set; }
+
+        /// <summary>
+        /// 鐗╂枡ID-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum MaterialId_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+
+        /// <summary>
+        /// 浠诲姟鍙�
+        /// </summary>
+        public string TaskNo { get; set; }
+
+        /// <summary>
+        /// 浠诲姟鍙�-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum TaskNo_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+
+        /// <summary>
+        /// 璧峰搴撲綅
+        /// </summary>
+        public string SourcePlace { get; set; }
+
+        /// <summary>
+        /// 璧峰搴撲綅-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum SourcePlace_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+
+        /// <summary>
+        /// 鐩爣搴撲綅
+        /// </summary>
+        public string ToPlace { get; set; }
+
+        /// <summary>
+        /// 鐩爣搴撲綅-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum ToPlace_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+
+        /// <summary>
+        /// 
+        /// </summary>
+        //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规��
+        [HighSearchRangeAttribute]
+        public List<string> CreationTime { get; set; }
+
+
+        /// <summary>
+        /// 
+        /// </summary>
+        public string CreatorId { get; set; }
+
+        /// <summary>
+        /// -鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum CreatorId_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+
+        /// <summary>
+        /// 
+        /// </summary>
+        //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规��
+        [HighSearchRangeAttribute]
+        public List<string> LastModificationTime { get; set; }
+
+
+        /// <summary>
+        /// 
+        /// </summary>
+        public string LastModifierId { get; set; }
+
+        /// <summary>
+        /// -鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum LastModifierId_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+
+        /// <summary>
+        /// 
+        /// </summary>
+        public bool?  IsDeleted { get; set; }
+
+        /// <summary>
+        /// -鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum IsDeleted_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+        /// <summary>
+        /// 
+        /// </summary>
+        public string DeleterId { get; set; }
+
+        /// <summary>
+        /// -鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum DeleterId_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+
+        /// <summary>
+        /// 
+        /// </summary>
+        //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规��
+        [HighSearchRangeAttribute]
+        public List<string> DeletionTime { get; set; }
+
+
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        public bool?  IsDisabled { get; set; }
+
+        /// <summary>
+        /// 鏄惁绂佺敤-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum IsDisabled_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+        /// <summary>
+        /// 鎺掑簭
+        /// </summary>
+        public int?  Sort { get; set; }
+
+        /// <summary>
+        /// 鎺掑簭-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum Sort_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+ 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordCreateDto.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordCreateDto.cs"
new file mode 100644
index 0000000..3df2845
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordCreateDto.cs"
@@ -0,0 +1,17 @@
+namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsInOutStockRecord; 
+ 
+/// <summary> 
+/// 鍑哄叆搴撹褰曡〃鍒涘缓鍙傛暟瀵硅薄 
+/// </summary> 
+public class WmsInOutStockRecordCreateDto : WmsInOutStockRecordCreateOrUpdateDtoBase 
+{ 
+    /// <summary> 
+    /// 鎺掑簭 
+    /// </summary> 
+    public virtual int? Sort { get; set; } 
+ 
+    /// <summary> 
+    /// 鏄惁绂佺敤 
+    /// </summary> 
+    public bool? IsDisabled { get; set; } = false; 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordCreateOrUpdateDtoBase.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordCreateOrUpdateDtoBase.cs"
new file mode 100644
index 0000000..a110416
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordCreateOrUpdateDtoBase.cs"
@@ -0,0 +1,100 @@
+using CMS.Plugin.HIAWms.Domain.Shared.Enums; 
+using System; 
+using Volo.Abp.Application.Dtos; 
+ 
+namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsInOutStockRecord; 
+ 
+/// <summary> 
+/// 鍑哄叆搴撹褰曡〃鍒涘缓鎴栨洿鏂板熀绫� 
+/// </summary> 
+public abstract class WmsInOutStockRecordCreateOrUpdateDtoBase : ExtensibleEntityDto 
+{ 
+            /// <summary>
+        /// 鍗曟嵁缂栧彿
+        /// </summary>
+        public string OrderNo { get; set; }
+
+        /// <summary>
+        /// 鐗╂枡鍚嶇О
+        /// </summary>
+        public string? MaterialName { get; set; }
+
+        /// <summary>
+        /// 鐗╂枡浠跺彿
+        /// </summary>
+        public string MaterialNo { get; set; }
+
+        /// <summary>
+        /// 鎿嶄綔绫诲瀷
+        /// </summary>
+        public StockTypeEnum StockType { get; set; }
+
+        /// <summary>
+        /// 瀹瑰櫒缂栧彿
+        /// </summary>
+        public string? ContainerNo { get; set; }
+
+        /// <summary>
+        /// 鏈哄瀷
+        /// </summary>
+        public string? MaterialModel { get; set; }
+
+        /// <summary>
+        /// 鎿嶄綔鏃堕棿
+        /// </summary>
+        public DateTime? OperateTime { get; set; }
+
+        /// <summary>
+        /// 澶囨敞
+        /// </summary>
+        public string? Remark { get; set; }
+
+        /// <summary>
+        /// 鐗╂枡ID
+        /// </summary>
+        public string MaterialId { get; set; }
+
+        /// <summary>
+        /// 浠诲姟鍙�
+        /// </summary>
+        public string TaskNo { get; set; }
+
+        /// <summary>
+        /// 璧峰搴撲綅
+        /// </summary>
+        public string? SourcePlace { get; set; }
+
+        /// <summary>
+        /// 鐩爣搴撲綅
+        /// </summary>
+        public string? ToPlace { get; set; }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        public string? CreatorId { get; set; }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        public string? LastModifierId { get; set; }
+
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        public bool? IsDisabled { get; set; }
+
+        /// <summary>
+        /// 鎺掑簭
+        /// </summary>
+        public int Sort { get; set; }
+
+ 
+ 
+    /// <summary> 
+    /// Initializes a new instance of the <see cref="WmsInOutStockRecordCreateOrUpdateDtoBase"/> class. 
+    /// </summary> 
+    public WmsInOutStockRecordCreateOrUpdateDtoBase() : base(false) 
+    { 
+    } 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordDto.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordDto.cs"
new file mode 100644
index 0000000..5612122
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordDto.cs"
@@ -0,0 +1,155 @@
+using CMS.Plugin.HIAWms.Domain.Shared.Enums; 
+using Volo.Abp.Application.Dtos; 
+using Volo.Abp.Data; 
+using Volo.Abp.Domain.Entities; 
+ 
+ 
+namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsInOutStockRecord; 
+ 
+/// <summary> 
+/// 鍑哄叆搴撹褰曡〃鏁版嵁鍙傛暟瀵硅薄 
+/// </summary> 
+public  class WmsInOutStockRecordDto:  ExtensibleEntityDto<Guid>, IHasConcurrencyStamp 
+{ 
+            /// <summary>
+        /// 鍗曟嵁缂栧彿
+        /// </summary>
+        public string OrderNo { get; set; }
+
+        /// <summary>
+        /// 鐗╂枡鍚嶇О
+        /// </summary>
+        public string? MaterialName { get; set; }
+
+        /// <summary>
+        /// 鐗╂枡浠跺彿
+        /// </summary>
+        public string MaterialNo { get; set; }
+
+        /// <summary>
+        /// 鎿嶄綔绫诲瀷
+        /// </summary>
+        public StockTypeEnum StockType { get; set; }
+
+        /// <summary>
+        /// 鎿嶄綔绫诲瀷
+        /// </summary>
+        public string StockTypeDesc
+        { 
+            get 
+            { 
+                return GetEnumDescriptionUtil.GetEnumDescription(StockType); 
+            } 
+        } 
+        /// <summary>
+        /// 瀹瑰櫒缂栧彿
+        /// </summary>
+        public string? ContainerNo { get; set; }
+
+        /// <summary>
+        /// 鏈哄瀷
+        /// </summary>
+        public string? MaterialModel { get; set; }
+
+        /// <summary>
+        /// 鎿嶄綔鏃堕棿
+        /// </summary>
+        public DateTime? OperateTime { get; set; }
+
+        /// <summary>
+        /// 澶囨敞
+        /// </summary>
+        public string? Remark { get; set; }
+
+        /// <summary>
+        /// 鐗╂枡ID
+        /// </summary>
+        public string MaterialId { get; set; }
+
+        /// <summary>
+        /// 浠诲姟鍙�
+        /// </summary>
+        public string TaskNo { get; set; }
+
+        /// <summary>
+        /// 璧峰搴撲綅
+        /// </summary>
+        public string? SourcePlace { get; set; }
+
+        /// <summary>
+        /// 鐩爣搴撲綅
+        /// </summary>
+        public string? ToPlace { get; set; }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        public ExtraPropertyDictionary? ExtraProperties { get; set; }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        public string? ConcurrencyStamp { get; set; }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        public DateTime CreationTime { get; set; }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        public string? CreatorId { get; set; }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        public DateTime? LastModificationTime { get; set; }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        public string? LastModifierId { get; set; }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        public bool IsDeleted { get; set; }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        public string? DeleterId { get; set; }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        public DateTime? DeletionTime { get; set; }
+
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        public bool? IsDisabled { get; set; }
+
+        /// <summary>
+        /// 鎺掑簭
+        /// </summary>
+        public int Sort { get; set; }
+
+ 
+ 
+    /// <summary> 
+    /// Gets the export data. 
+    /// </summary> 
+    /// <returns></returns> 
+    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/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordExportModel.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordExportModel.cs"
new file mode 100644
index 0000000..8f86f61
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordExportModel.cs"
@@ -0,0 +1,109 @@
+using MiniExcelLibs.Attributes; 
+using System.ComponentModel.DataAnnotations; 
+using System; 
+using System.ComponentModel; 
+using CMS.Plugin.HIAWms.Domain.Shared.Enums; 
+namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsInOutStockRecord; 
+ 
+/// <summary> 
+/// 鍑哄叆搴撹褰曡〃瀵煎嚭妯″瀷 
+/// </summary> 
+public  class WmsInOutStockRecordExportModel 
+{ 
+            /// <summary>
+        /// 鍗曟嵁缂栧彿
+        /// </summary>
+        [ExcelColumn(Name = "鍗曟嵁缂栧彿", Width = 25)]
+        public string OrderNo { get; set; }
+
+        /// <summary>
+        /// 鐗╂枡鍚嶇О
+        /// </summary>
+        [ExcelColumn(Name = "鐗╂枡鍚嶇О", Width = 25)]
+        public string MaterialName { get; set; }
+
+        /// <summary>
+        /// 鐗╂枡浠跺彿
+        /// </summary>
+        [ExcelColumn(Name = "鐗╂枡浠跺彿", Width = 25)]
+        public string MaterialNo { get; set; }
+
+        /// <summary>
+        /// 鎿嶄綔绫诲瀷
+        /// </summary>
+        [ExcelColumn(Name = "鎿嶄綔绫诲瀷", Width = 25)]
+        public StockTypeEnum StockType { get; set; }
+
+        /// <summary>
+        /// 瀹瑰櫒缂栧彿
+        /// </summary>
+        [ExcelColumn(Name = "瀹瑰櫒缂栧彿", Width = 25)]
+        public string ContainerNo { get; set; }
+
+        /// <summary>
+        /// 鏈哄瀷
+        /// </summary>
+        [ExcelColumn(Name = "鏈哄瀷", Width = 25)]
+        public string MaterialModel { get; set; }
+
+        /// <summary>
+        /// 鎿嶄綔鏃堕棿
+        /// </summary>
+        [ExcelColumn(Name = "鎿嶄綔鏃堕棿", Width = 25)]
+        public DateTime OperateTime { get; set; }
+
+        /// <summary>
+        /// 澶囨敞
+        /// </summary>
+        [ExcelColumn(Name = "澶囨敞", Width = 25)]
+        public string Remark { get; set; }
+
+        /// <summary>
+        /// 鐗╂枡ID
+        /// </summary>
+        [ExcelColumn(Name = "鐗╂枡ID", Width = 25)]
+        public string MaterialId { get; set; }
+
+        /// <summary>
+        /// 浠诲姟鍙�
+        /// </summary>
+        [ExcelColumn(Name = "浠诲姟鍙�", Width = 25)]
+        public string TaskNo { get; set; }
+
+        /// <summary>
+        /// 璧峰搴撲綅
+        /// </summary>
+        [ExcelColumn(Name = "璧峰搴撲綅", Width = 25)]
+        public string SourcePlace { get; set; }
+
+        /// <summary>
+        /// 鐩爣搴撲綅
+        /// </summary>
+        [ExcelColumn(Name = "鐩爣搴撲綅", Width = 25)]
+        public string ToPlace { get; set; }
+
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        [ExcelColumn(Name = "鏄惁绂佺敤", Width = 25)]
+        public bool? IsDisabled { get; set; }
+
+        /// <summary>
+        /// 鎺掑簭
+        /// </summary>
+        [ExcelColumn(Name = "鎺掑簭", Width = 25)]
+        public int Sort { 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/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordUpdateDto.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordUpdateDto.cs"
new file mode 100644
index 0000000..7a04030
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordUpdateDto.cs"
@@ -0,0 +1,13 @@
+using Volo.Abp.Domain.Entities; 
+namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsInOutStockRecord; 
+ 
+/// <summary> 
+/// 鍑哄叆搴撹褰曡〃鏇存柊鍙傛暟瀵硅薄 
+/// </summary> 
+public class WmsInOutStockRecordUpdateDto : WmsInOutStockRecordCreateOrUpdateDtoBase, IHasConcurrencyStamp 
+{ 
+   /// <summary> 
+    /// 骞跺彂鎴� 
+    /// </summary> 
+    public string ConcurrencyStamp { get; set; } 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordsImportModel.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordsImportModel.cs"
new file mode 100644
index 0000000..7e3e4ce
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordsImportModel.cs"
@@ -0,0 +1,33 @@
+ 
+namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsInOutStockRecord 
+{ 
+    /// <summary> 
+    /// 鍑哄叆搴撹褰曡〃瀵煎叆妯″瀷 
+    /// </summary> 
+    public class WmsInOutStockRecordsImportModel 
+    { 
+        private List<WmsInOutStockRecordImportModel> _WmsInOutStockRecords = new(); 
+ 
+        public List<WmsInOutStockRecordImportModel> WmsInOutStockRecords 
+        { 
+            get => _WmsInOutStockRecords; 
+            set 
+            { 
+                _WmsInOutStockRecords = value; 
+                var rowIndex = 2; 
+                _WmsInOutStockRecords?.ForEach(x => x.RowIndex = rowIndex++); 
+            } 
+        } 
+ 
+        /// <summary> 
+        /// 鍑哄叆搴撹褰曡〃瀵煎叆妯″瀷 
+        /// </summary> 
+        public class WmsInOutStockRecordImportModel : WmsInOutStockRecordExportModel 
+        { 
+            /// <summary> 
+            /// 琛屽彿 
+            /// </summary> 
+            public int RowIndex { get; set; } 
+        } 
+    } 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/GetWmsMaterialInput.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/GetWmsMaterialInput.cs"
index 9581382..b097042 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/GetWmsMaterialInput.cs"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/GetWmsMaterialInput.cs"
@@ -1,4 +1,4 @@
-锘縰sing CmsQueryExtensions.Extension; 
+using CmsQueryExtensions.Extension; 
 using Volo.Abp.Application.Dtos; 
  
 namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateDto.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateDto.cs"
index edf0cb4..4d06a47 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateDto.cs"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateDto.cs"
@@ -1,4 +1,4 @@
-锘縩amespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; 
+namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; 
  
 /// <summary> 
 /// 鐗╂枡鍩虹淇℃伅琛ㄥ垱寤哄弬鏁板璞� 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateOrUpdateDtoBase.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateOrUpdateDtoBase.cs"
index 9638fbd..136291a 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateOrUpdateDtoBase.cs"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateOrUpdateDtoBase.cs"
@@ -1,4 +1,4 @@
-锘縰sing CMS.Plugin.HIAWms.Domain.Shared.Enums; 
+using CMS.Plugin.HIAWms.Domain.Shared.Enums; 
 using Volo.Abp.Application.Dtos; 
  
 namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialDto.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialDto.cs"
index 82b2e91..f67f983 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialDto.cs"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialDto.cs"
@@ -1,4 +1,4 @@
-锘縰sing CMS.Plugin.HIAWms.Domain.Shared.Enums; 
+using CMS.Plugin.HIAWms.Domain.Shared.Enums; 
 using Volo.Abp.Application.Dtos; 
 using Volo.Abp.Data; 
 using Volo.Abp.Domain.Entities; 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialExportModel.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialExportModel.cs"
index c806e96..c75b208 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialExportModel.cs"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialExportModel.cs"
@@ -1,4 +1,4 @@
-锘縰sing MiniExcelLibs.Attributes; 
+using MiniExcelLibs.Attributes; 
 using System.ComponentModel.DataAnnotations; 
 using System.ComponentModel; 
 using CMS.Plugin.HIAWms.Domain.Shared.Enums; 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialUpdateDto.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialUpdateDto.cs"
index 4c778ba..51d9818 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialUpdateDto.cs"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialUpdateDto.cs"
@@ -1,4 +1,4 @@
-锘縰sing Volo.Abp.Domain.Entities; 
+using Volo.Abp.Domain.Entities; 
 namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; 
  
 /// <summary> 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialsImportModel.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialsImportModel.cs"
index 71b157f..798a29b 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialsImportModel.cs"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialsImportModel.cs"
@@ -1,4 +1,4 @@
-锘� 
+ 
 namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial 
 { 
     /// <summary> 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsInOutStockRecordAppService.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsInOutStockRecordAppService.cs"
new file mode 100644
index 0000000..6bc1c06
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsInOutStockRecordAppService.cs"
@@ -0,0 +1,46 @@
+using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsInOutStockRecord; 
+using Volo.Abp.Application.Services; 
+ 
+namespace CMS.Plugin.HIAWms.Application.Contracts.Services; 
+ 
+/// <summary> 
+/// 鍑哄叆搴撹褰曡〃搴旂敤鏈嶅姟鎺ュ彛 
+/// </summary> 
+public interface IWmsInOutStockRecordAppService : ICrudAppService<WmsInOutStockRecordDto, Guid, GetWmsInOutStockRecordInput, WmsInOutStockRecordCreateDto, WmsInOutStockRecordUpdateDto> 
+{ 
+    /// <summary> 
+    /// 鍏嬮殕鍑哄叆搴撹褰曡〃 
+    /// </summary> 
+    /// <param name="ids"></param> 
+    /// <returns></returns> 
+    Task<List<WmsInOutStockRecordDto>> CloneAsync(IEnumerable<Guid> ids); 
+ 
+    /// <summary> 
+    /// 鍒犻櫎鍑哄叆搴撹褰曡〃 
+    /// </summary> 
+    /// <param name="ids"></param> 
+    /// <returns></returns> 
+    Task DeleteManyAsync(IEnumerable<Guid> ids); 
+ 
+    /// <summary> 
+    /// 璋冩暣鎺掑簭鍑哄叆搴撹褰曡〃 
+    /// </summary> 
+    /// <param name="id"></param> 
+    /// <param name="sort"></param> 
+    /// <returns></returns> 
+    Task AdjustSortAsync(Guid id, int sort); 
+ 
+    /// <summary> 
+    /// 瀵煎叆鍑哄叆搴撹褰曡〃 
+    /// </summary> 
+    /// <param name="input"></param> 
+    /// <returns></returns> 
+    Task ImportAsync(WmsInOutStockRecordsImportModel input); 
+ 
+    /// <summary> 
+    /// 瀵煎嚭鍑哄叆搴撹褰曡〃 
+    /// </summary> 
+    /// <param name="input"></param> 
+    /// <returns></returns> 
+    Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsInOutStockRecordInput input); 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsMaterialAppService.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsMaterialAppService.cs"
index 6589194..d678bc4 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsMaterialAppService.cs"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsMaterialAppService.cs"
@@ -1,4 +1,4 @@
-锘縰sing CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; 
+using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; 
 using Volo.Abp.Application.Services; 
  
 namespace CMS.Plugin.HIAWms.Application.Contracts.Services; 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsInOutStockRecordAppService.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsInOutStockRecordAppService.cs"
new file mode 100644
index 0000000..34c8675
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsInOutStockRecordAppService.cs"
@@ -0,0 +1,436 @@
+using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsInOutStockRecord; 
+using CMS.Plugin.HIAWms.Application.Contracts.Services; 
+using CMS.Plugin.HIAWms.Domain.Shared; 
+using CMS.Plugin.HIAWms.Domain.Shared.Util; 
+using CMS.Plugin.HIAWms.Domain.WmsInOutStockRecord; 
+using CmsQueryExtensions.Extension; 
+using System.Linq.Expressions; 
+using Volo.Abp; 
+using Volo.Abp.Application.Dtos; 
+using Volo.Abp.Data; 
+using Volo.Abp.ObjectExtending; 
+using Volo.Abp.ObjectMapping; 
+ 
+namespace CMS.Plugin.HIAWms.Application.Implements; 
+ 
+/// <summary> 
+/// 鍑哄叆搴撹褰曡〃搴旂敤鏈嶅姟 
+/// </summary> 
+public class WmsInOutStockRecordAppService : CMSPluginAppService, IWmsInOutStockRecordAppService 
+{ 
+    private readonly IWmsInOutStockRecordRepository wmsInOutStockRecordRepository; 
+ 
+    /// <summary> 
+    /// Initializes a new instance of the <see cref="WmsInOutStockRecordAppService"/> class. 
+    /// </summary> 
+    /// <param name="WmsInOutStockRecordRepository">The task job repository.</param> 
+    public WmsInOutStockRecordAppService(IWmsInOutStockRecordRepository _WmsInOutStockRecordRepository) 
+    { 
+        wmsInOutStockRecordRepository = _WmsInOutStockRecordRepository; 
+    } 
+ 
+    /// <summary> 
+    /// 鑾峰彇鎸囧畾鍑哄叆搴撹褰曡〃 
+    /// </summary> 
+    /// <param name="id"></param> 
+    /// <returns></returns> 
+    public virtual async Task<WmsInOutStockRecordDto> GetAsync(Guid id) 
+    { 
+        return ObjectMapper.Map<WmsInOutStockRecord, WmsInOutStockRecordDto>(await wmsInOutStockRecordRepository.GetAsync(id)); 
+    } 
+ 
+    /// <summary> 
+    /// 鍒嗛〉鑾峰彇鍑哄叆搴撹褰曡〃 
+    /// </summary> 
+    /// <param name="input"></param> 
+    /// <returns></returns> 
+    public virtual async Task<PagedResultDto<WmsInOutStockRecordDto>> GetListAsync(GetWmsInOutStockRecordInput input) 
+    { 
+        Check.NotNull(input, nameof(input)); 
+ 
+        if (input.Sorting.IsNullOrWhiteSpace()) 
+        { 
+            input.Sorting = nameof(WmsInOutStockRecord.Sort); 
+        } 
+ 
+        #region 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+ 
+        //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+        var whereConditions = DynamicGetQueryParams(input); 
+ 
+        #endregion 
+ 
+        var count = await wmsInOutStockRecordRepository.GetCountAsync(whereConditions); 
+        var list = await wmsInOutStockRecordRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount); 
+ 
+        return new PagedResultDto<WmsInOutStockRecordDto>(count, ObjectMapper.Map<List<WmsInOutStockRecord>, List<WmsInOutStockRecordDto>>(list)); 
+    } 
+ 
+    /// <summary>  
+    /// 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+    /// </summary>  
+    /// <param name="input">杈撳叆鍙傛暟</param>  
+    /// <returns></returns>  
+    private FunReturnResultModel<Expression<Func<WmsInOutStockRecord, bool>>> DynamicGetQueryParams(GetWmsInOutStockRecordInput input) 
+    { 
+        //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+        var whereConditions = WhereConditionsExtensions.GetWhereConditions<WmsInOutStockRecord, GetWmsInOutStockRecordInput>(input); 
+        if (!whereConditions.IsSuccess) 
+        { 
+            throw new Exception("鍔ㄦ�佹瀯閫犳煡璇㈡潯浠跺け璐�:" + whereConditions.ErrMsg); 
+        } 
+ 
+        //涔熷彲鍐嶆鑷畾涔夋瀯寤烘煡璇㈡潯浠�  
+        Expression<Func<WmsInOutStockRecord, bool>> extendExpression = a => a.IsDeleted == false; 
+        // 浣跨敤 System.Linq.PredicateBuilder 鐨� And 
+        var pres = (System.Linq.Expressions.Expression<Func<WmsInOutStockRecord, bool>>)(whereConditions.data); 
+        whereConditions.data = System.Linq.PredicateBuilder.And(pres, extendExpression); 
+ 
+        return whereConditions; 
+    } 
+ 
+    /// <summary> 
+    /// 鏂板缓鍑哄叆搴撹褰曡〃 
+    /// </summary> 
+    /// <param name="input"></param> 
+    /// <returns></returns> 
+    /// <exception cref="UserFriendlyException"></exception> 
+    public virtual async Task<WmsInOutStockRecordDto> CreateAsync(WmsInOutStockRecordCreateDto input) 
+    { 
+        await CheckCreateOrUpdateDtoAsync(input); 
+ 
+        var exist = await wmsInOutStockRecordRepository.NameExistAsync(input.MaterialNo); 
+        if (exist) 
+        { 
+            throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.MaterialNo]); 
+        } 
+ 
+        var maxSort = await wmsInOutStockRecordRepository.GetMaxSortAsync(); 
+        var sort = input.Sort ?? maxSort; 
+ 
+        var insertObj = ObjectMapper.Map<WmsInOutStockRecordCreateDto, WmsInOutStockRecord>(input); 
+        insertObj.Sort = sort; 
+        input.MapExtraPropertiesTo(insertObj, MappingPropertyDefinitionChecks.None); 
+ 
+        await wmsInOutStockRecordRepository.InsertAsync(insertObj); 
+ 
+        if (input.Sort.HasValue && insertObj.Sort != maxSort) 
+        { 
+            await AdjustSortAsync(insertObj.Id, insertObj.Sort); 
+        } 
+ 
+        return ObjectMapper.Map<WmsInOutStockRecord, WmsInOutStockRecordDto>(insertObj); 
+    } 
+ 
+    /// <summary> 
+    /// 鏇存柊鍑哄叆搴撹褰曡〃 
+    /// </summary> 
+    /// <param name="id"></param> 
+    /// <param name="input"></param> 
+    /// <returns></returns> 
+    /// <exception cref="UserFriendlyException"></exception> 
+    public virtual async Task<WmsInOutStockRecordDto> UpdateAsync(Guid id, WmsInOutStockRecordUpdateDto input) 
+    { 
+        await CheckCreateOrUpdateDtoAsync(input); 
+ 
+        var updateObj = await wmsInOutStockRecordRepository.GetAsync(id); 
+        var exist = await wmsInOutStockRecordRepository.NameExistAsync(input.MaterialNo, updateObj.Id); 
+        if (exist) 
+        { 
+            throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.MaterialNo]); 
+        } 
+ 
+        updateObj.SetConcurrencyStampIfNotNull(input.ConcurrencyStamp); 
+        input.MapExtraPropertiesTo(updateObj, MappingPropertyDefinitionChecks.None); 
+ 
+                updateObj.OrderNo = input.OrderNo;
+        updateObj.MaterialName = input.MaterialName;
+        updateObj.MaterialNo = input.MaterialNo;
+        updateObj.StockType = input.StockType;
+        updateObj.ContainerNo = input.ContainerNo;
+        updateObj.MaterialModel = input.MaterialModel;
+        updateObj.OperateTime = input.OperateTime;
+        updateObj.Remark = input.Remark;
+        updateObj.MaterialId = input.MaterialId;
+        updateObj.TaskNo = input.TaskNo;
+        updateObj.SourcePlace = input.SourcePlace;
+        updateObj.ToPlace = input.ToPlace;
+        updateObj.IsDisabled = input.IsDisabled;
+ 
+ 
+        await wmsInOutStockRecordRepository.UpdateAsync(updateObj); 
+ 
+        return ObjectMapper.Map<WmsInOutStockRecord, WmsInOutStockRecordDto>(updateObj); 
+    } 
+ 
+    /// <summary> 
+    /// 鍏嬮殕鍑哄叆搴撹褰曡〃 
+    /// </summary> 
+    /// <param name="ids"></param> 
+    /// <returns></returns> 
+    public async Task<List<WmsInOutStockRecordDto>> CloneAsync(IEnumerable<Guid> ids) 
+    { 
+        //var wmsInOutStockRecords = new List<WmsInOutStockRecord>(); 
+        //if (ids != null) 
+        //{ 
+        //    var sort = await wmsInOutStockRecordRepository.GetMaxSortAsync(); 
+        //    foreach (var id in ids) 
+        //    { 
+        //        var WmsInOutStockRecord = await wmsInOutStockRecordRepository.FindAsync(id); 
+        //        if (WmsInOutStockRecord != null) 
+        //        { 
+        //            var name = WmsInOutStockRecord.Name + WmsInOutStockRecordConsts.CloneTag; 
+        //            var notExist = false; 
+        //            while (!notExist) 
+        //            { 
+        //                var exist = await wmsInOutStockRecordRepository.NameExistAsync(name); 
+        //                if (exist || wmsInOutStockRecords.Any(x => x.Name == name)) 
+        //                { 
+        //                    name += WmsInOutStockRecordConsts.CloneTag; 
+        //                    continue; 
+        //                } 
+ 
+        //                notExist = true; 
+        //            } 
+ 
+        //            //WmsInOutStockRecord = await wmsInOutStockRecordRepository.InsertAsync(WmsInOutStockRecord.Clone(GuidGenerator.Create(), name, sort++)); 
+        //            wmsInOutStockRecords.Add(WmsInOutStockRecord); 
+        //        } 
+        //    } 
+        //} 
+ 
+        //return ObjectMapper.Map<List<WmsInOutStockRecord>, List<WmsInOutStockRecordDto>>(wmsInOutStockRecords); 
+        return new List<WmsInOutStockRecordDto>(); 
+    } 
+ 
+    /// <summary> 
+    /// 鍒犻櫎鍗曚釜鍑哄叆搴撹褰曡〃 
+    /// </summary> 
+    /// <param name="id"></param> 
+    /// <returns></returns> 
+    public virtual Task DeleteAsync(Guid id) 
+    { 
+        return wmsInOutStockRecordRepository.DeleteAsync(id); 
+    } 
+ 
+    /// <summary> 
+    /// 鍒犻櫎澶氫釜鍑哄叆搴撹褰曡〃 
+    /// </summary> 
+    /// <param name="ids"></param> 
+    /// <returns></returns> 
+    public async Task DeleteManyAsync(IEnumerable<Guid> ids) 
+    { 
+        foreach (var id in ids) 
+        { 
+            await DeleteAsync(id); 
+        } 
+    } 
+ 
+    /// <summary> 
+    /// 璋冩暣鎺掑簭鍑哄叆搴撹褰曡〃 
+    /// </summary> 
+    /// <param name="id"></param> 
+    /// <param name="sort"></param> 
+    /// <returns></returns> 
+    public virtual async Task AdjustSortAsync(Guid id, int sort) 
+    { 
+        var list = await wmsInOutStockRecordRepository.GetListAsync(null, nameof(WmsInOutStockRecord.Sort)); 
+        if (list != null && list.Any()) 
+        { 
+            var initSort = 1; 
+            list.ForEach(x => x.AdjustSort(initSort++)); 
+            var entity = list.FirstOrDefault(x => x.Id == id); 
+            if (entity != null) 
+            { 
+                if (sort == 1) 
+                { 
+                    list.Where(x => x.Id != id).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1)); 
+                } 
+                else if (entity.Sort > sort) 
+                { 
+                    list.Where(x => x.Id != id && x.Sort >= sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1)); 
+                    list.Where(x => x.Id != id && x.Sort < sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort - 1)); 
+                } 
+                else if (entity.Sort < sort) 
+                { 
+                    list.Where(x => x.Id != id && x.Sort > sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1)); 
+                    list.Where(x => x.Id != id && x.Sort <= sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort - 1)); 
+                } 
+ 
+                entity.AdjustSort(sort); 
+            } 
+        } 
+ 
+        await wmsInOutStockRecordRepository.UpdateManyAsync(list); 
+    } 
+ 
+    /// <summary> 
+    /// 瀵煎叆鍑哄叆搴撹褰曡〃 
+    /// </summary> 
+    /// <param name="input"></param> 
+    /// <returns></returns> 
+    /// <exception cref="UserFriendlyException"></exception> 
+    public async Task ImportAsync(WmsInOutStockRecordsImportModel input) 
+    { 
+        Check.NotNull(input, nameof(input)); 
+ 
+        var wmsInOutStockRecordCreateDtos = new List<(int RowIndex, WmsInOutStockRecordCreateDto Item)>(); 
+        var wmsInOutStockRecordUpdateDtos = new List<(int RowIndex, Guid Id, WmsInOutStockRecordUpdateDto Item)>(); 
+        var importItems = input.WmsInOutStockRecords; 
+ 
+        if (importItems != null && importItems.Any()) 
+        { 
+            #region 瀵煎叆鏍¢獙 
+ 
+            // 鍒ゆ柇鍚嶇О鏄惁閲嶅锛屽苟杈撳嚭绗嚑琛岄噸澶� 
+            var duplicateWmsInOutStockRecords = importItems.GroupBy(x => x.MaterialNo).Where(x => x.Count() > 1).ToList(); 
+            if (duplicateWmsInOutStockRecords?.Any() == true) 
+            { 
+                var duplicateWmsInOutStockRecordMsgs = duplicateWmsInOutStockRecords.Select(x => $"绗� {string.Join(",", x.Select(x => x.RowIndex))} 琛岋細{x.Key}  鍚嶇О閲嶅"); 
+                var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝 {string.Join(",", duplicateWmsInOutStockRecordMsgs)}锛岀粓姝㈠鍏�"; 
+                throw new UserFriendlyException(errorMsg); 
+            } 
+ 
+            #endregion 
+ 
+            foreach (var impItem in importItems) 
+            { 
+                if (impItem.MaterialNo.IsNullOrWhiteSpace() && impItem.MaterialName.IsNullOrWhiteSpace()) 
+                { 
+                    continue; 
+                } 
+ 
+                if (impItem.MaterialNo.IsNullOrWhiteSpace()) 
+                { 
+                    var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊impItem.RowIndex}琛岋細WmsInOutStockRecord鍚嶇О涓嶈兘涓虹┖"; 
+                    throw new UserFriendlyException(errorMsg); 
+                } 
+ 
+                var oldWmsInOutStockRecord = await wmsInOutStockRecordRepository.FindByNameAsync(impItem.MaterialNo); 
+                if (oldWmsInOutStockRecord != null) 
+                { 
+                    var wmsInOutStockRecordUpdateDto = new WmsInOutStockRecordUpdateDto 
+                    { 
+                        OrderNo = impItem.OrderNo,
+MaterialName = impItem.MaterialName,
+MaterialNo = impItem.MaterialNo,
+StockType = impItem.StockType,
+ContainerNo = impItem.ContainerNo,
+MaterialModel = impItem.MaterialModel,
+OperateTime = impItem.OperateTime,
+Remark = impItem.Remark,
+MaterialId = impItem.MaterialId,
+TaskNo = impItem.TaskNo,
+SourcePlace = impItem.SourcePlace,
+ToPlace = impItem.ToPlace,
+IsDisabled = impItem.IsDisabled,
+ 
+                    }; 
+ 
+                    wmsInOutStockRecordUpdateDtos.Add((impItem.RowIndex, oldWmsInOutStockRecord.Id, wmsInOutStockRecordUpdateDto)); 
+                } 
+                else 
+                { 
+                    var wmsInOutStockRecordCreateDto = new WmsInOutStockRecordCreateDto 
+                    { 
+                        OrderNo = impItem.OrderNo,
+MaterialName = impItem.MaterialName,
+MaterialNo = impItem.MaterialNo,
+StockType = impItem.StockType,
+ContainerNo = impItem.ContainerNo,
+MaterialModel = impItem.MaterialModel,
+OperateTime = impItem.OperateTime,
+Remark = impItem.Remark,
+MaterialId = impItem.MaterialId,
+TaskNo = impItem.TaskNo,
+SourcePlace = impItem.SourcePlace,
+ToPlace = impItem.ToPlace,
+IsDisabled = impItem.IsDisabled,
+ 
+                    }; 
+ 
+                    wmsInOutStockRecordCreateDtos.Add((impItem.RowIndex, wmsInOutStockRecordCreateDto)); 
+                } 
+            } 
+        } 
+ 
+        // 鏂板 
+        foreach (var wmsInOutStockRecordDto in wmsInOutStockRecordCreateDtos) 
+        { 
+            try 
+            { 
+                await CreateAsync(wmsInOutStockRecordDto.Item); 
+            } 
+            catch (Exception e) 
+            { 
+                var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊wmsInOutStockRecordDto.RowIndex}琛岋細{e.Message}锛岀粓姝㈠鍏�"; 
+                throw new UserFriendlyException(errorMsg); 
+            } 
+        } 
+ 
+        // 鏇存柊 
+        foreach (var wmsInOutStockRecordDto in wmsInOutStockRecordUpdateDtos) 
+        { 
+            try 
+            { 
+                await UpdateAsync(wmsInOutStockRecordDto.Id, wmsInOutStockRecordDto.Item); 
+            } 
+            catch (Exception e) 
+            { 
+                var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊wmsInOutStockRecordDto.RowIndex}琛岋細{e.Message}锛岀粓姝㈠鍏�"; 
+                throw new UserFriendlyException(errorMsg); 
+            } 
+        } 
+    } 
+ 
+    /// <summary> 
+    /// 瀵煎嚭鍑哄叆搴撹褰曡〃 
+    /// </summary> 
+    /// <param name="input"></param> 
+    /// <returns></returns> 
+    public async Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsInOutStockRecordInput input) 
+    { 
+        Check.NotNull(input, nameof(input)); 
+ 
+        if (input.Sorting.IsNullOrWhiteSpace()) 
+        { 
+            input.Sorting = nameof(WmsInOutStockRecord.Sort); 
+        } 
+ 
+        #region 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+ 
+        //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+        var whereConditions = DynamicGetQueryParams(input); 
+ 
+        #endregion 
+ 
+ 
+        var list = await wmsInOutStockRecordRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount, includeDetails: true); 
+        var result = ObjectMapper.Map<List<WmsInOutStockRecord>, List<WmsInOutStockRecordDto>>(list); 
+ 
+        var sheets = new Dictionary<string, object> 
+        { 
+            ["閰嶇疆"] = ExportHelper.ConvertListToExportData(result), 
+        }; 
+ 
+        var fileName = result.Count > 1 ? "鍑哄叆搴撹褰曡〃鍒楄〃" : result.Count == 1 ? result[0]?.MaterialNo : "WmsInOutStockRecord妯$増"; 
+        return (sheets, fileName); 
+    } 
+ 
+    /// <summary> 
+    /// 鏍¢獙鍑哄叆搴撹褰曡〃锛屽綋鏂板缓鎴栨洿鏂版椂 
+    /// </summary> 
+    /// <param name="input"></param> 
+    /// <returns></returns> 
+    protected Task CheckCreateOrUpdateDtoAsync(WmsInOutStockRecordCreateOrUpdateDtoBase input) 
+    { 
+        Check.NotNull(input, nameof(input)); 
+                Check.NotNullOrWhiteSpace(input.OrderNo, "鍗曟嵁缂栧彿", 50);
+        Check.NotNullOrWhiteSpace(input.MaterialNo, "鐗╂枡浠跺彿", 50);
+        Check.NotNull(input.StockType, "鎿嶄綔绫诲瀷");
+        Check.NotNullOrWhiteSpace(input.MaterialId, "鐗╂枡ID", 50);
+        Check.NotNullOrWhiteSpace(input.TaskNo, "浠诲姟鍙�", 50);
+ 
+        return Task.CompletedTask; 
+    } 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialAppService.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialAppService.cs"
index b0c23eb..8304853 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialAppService.cs"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialAppService.cs"
@@ -1,4 +1,4 @@
-锘縰sing CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; 
+using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; 
 using CMS.Plugin.HIAWms.Application.Contracts.Services; 
 using CMS.Plugin.HIAWms.Domain.Shared; 
 using CMS.Plugin.HIAWms.Domain.Shared.Util; 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsInOutStockRecordAutoMapperProfile.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsInOutStockRecordAutoMapperProfile.cs"
new file mode 100644
index 0000000..c4d9c53
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsInOutStockRecordAutoMapperProfile.cs"
@@ -0,0 +1,26 @@
+using AutoMapper; 
+using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsInOutStockRecord; 
+using CMS.Plugin.HIAWms.Domain.WmsInOutStockRecord; 
+using Volo.Abp.ObjectExtending; 
+ 
+namespace CMS.Plugin.HIAWms.Application.MapperProfiles; 
+ 
+/// <summary> 
+/// 鍑哄叆搴撹褰曡〃AutoMapper閰嶇疆 
+/// </summary> 
+/// <seealso cref="AutoMapper.Profile" /> 
+public class WmsInOutStockRecordAutoMapperProfile : Profile 
+{ 
+    /// <summary> 
+    /// Initializes a new instance of the <see cref="WmsInOutStockRecordAutoMapperProfile"/> class. 
+    /// </summary> 
+    public WmsInOutStockRecordAutoMapperProfile() 
+    { 
+        /* You can configure your AutoMapper mapping configuration here. 
+         * Alternatively, you can split your mapping configurations 
+         * into multiple profile classes for a better organization. */ 
+        CreateMap<WmsInOutStockRecord, WmsInOutStockRecordDto>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None); 
+        CreateMap<WmsInOutStockRecordCreateDto, WmsInOutStockRecord>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None); 
+        CreateMap<GetWmsInOutStockRecordInput, WmsInOutStockRecord>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None); 
+    } 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain.Shared/Enums/SonTaskTypeEnum.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain.Shared/Enums/SonTaskTypeEnum.cs"
new file mode 100644
index 0000000..2bebd34
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain.Shared/Enums/SonTaskTypeEnum.cs"
@@ -0,0 +1,51 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CMS.Plugin.HIAWms.Domain.Shared.Enums
+{
+    /// <summary>
+    /// 瀛愪换鍔$被鍨�
+    /// </summary>
+    [Description("瀛愪换鍔$被鍨�")]
+    public enum SonTaskTypeEnum
+    {
+        /// <summary>
+        /// 鑷姩鍏ュ簱
+        /// </summary>
+        [Description("鑷姩鍏ュ簱")]
+        ZDRUKU = 1,
+
+        /// <summary>
+        /// 浜哄伐鍏ュ簱
+        /// </summary>
+        [Description("浜哄伐鍏ュ簱")]
+        RGRUKU = 2,
+
+        /// <summary>
+        /// 浜哄伐鍑哄簱
+        /// </summary>
+        [Description("浜哄伐鍑哄簱")]
+        RGCHUKU = 3,
+        /// <summary>
+        /// 鑷姩鍑哄簱
+        /// </summary>
+        [Description("鑷姩鍑哄簱")]
+        ZDCHUKU = 4,
+
+        /// <summary>
+        /// 绌烘墭鍛煎彨
+        /// </summary>
+        [Description("绌烘墭鍛煎彨")]
+        KTHUJIOA = 5,
+
+        /// <summary>
+        /// 鍥炲簱
+        /// </summary>
+        [Description("鍥炲簱")]
+        HUIKU = 6,
+    }
+}
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain.Shared/Enums/StockTypeEnum.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain.Shared/Enums/StockTypeEnum.cs"
new file mode 100644
index 0000000..a7d0926
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain.Shared/Enums/StockTypeEnum.cs"
@@ -0,0 +1,28 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CMS.Plugin.HIAWms.Domain.Shared.Enums
+{
+    /// <summary>
+    /// 搴撳瓨绫诲瀷
+    /// </summary>
+    [Description("搴撳瓨绫诲瀷")]
+    public enum StockTypeEnum
+    {
+        /// <summary>
+        /// 鍏ュ簱
+        /// </summary>
+        [Description("鍏ュ簱")]
+        InBound = 1,
+
+        /// <summary>
+        /// 鍑哄簱
+        /// </summary>
+        [Description("鍑哄簱")]
+        OutBound = 2,
+    }
+}
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain.Shared/Enums/TaskTypeEnum.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain.Shared/Enums/TaskTypeEnum.cs"
new file mode 100644
index 0000000..b22ffaf
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain.Shared/Enums/TaskTypeEnum.cs"
@@ -0,0 +1,28 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CMS.Plugin.HIAWms.Domain.Shared.Enums
+{
+    /// <summary>
+    /// 浠诲姟绫诲瀷
+    /// </summary>
+    [Description("浠诲姟绫诲瀷")]
+    public enum TaskTypeEnum
+    {
+        /// <summary>
+        /// 鍑哄簱
+        /// </summary>
+        [Description("鍑哄簱")]
+        CHUKU = 1,
+
+        /// <summary>
+        /// 鍏ュ簱
+        /// </summary>
+        [Description("鍏ュ簱")]
+        RUKU = 2,
+    }
+}
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain.Shared/Enums/WmsTaskStatus.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain.Shared/Enums/WmsTaskStatus.cs"
new file mode 100644
index 0000000..211dff5
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain.Shared/Enums/WmsTaskStatus.cs"
@@ -0,0 +1,42 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CMS.Plugin.HIAWms.Domain.Shared.Enums
+{
+    /// <summary>
+    /// 浠诲姟鐘舵��
+    /// </summary>
+    [Description("浠诲姟鐘舵��")]
+    public enum WmsTaskStatus
+    {
+        /// <summary>
+        /// 鏈墽琛�
+        /// </summary>
+        [Description("鏈墽琛�")]
+        WEIZHIXING = 1,
+        /// <summary>
+        /// 寰呮墽琛�
+        /// </summary>
+        [Description("寰呮墽琛�")]
+        DAIZHIXINGZHONG = 2,
+        /// <summary>
+        /// 鎵ц涓�
+        /// </summary>
+        [Description("鎵ц涓�")]
+        ZHIXINGZHONG = 3,
+        /// <summary>
+        /// 瀹屾垚
+        /// </summary>
+        [Description("瀹屾垚")]
+        WANCHENG = 4,
+        /// <summary>
+        /// 鍙栨秷
+        /// </summary>
+        [Description("鍙栨秷")]
+        QUXIAO = 5
+    }
+}
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsInOutStockRecord/IWmsInOutStockRecordRepository.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsInOutStockRecord/IWmsInOutStockRecordRepository.cs"
new file mode 100644
index 0000000..d1d3f69
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsInOutStockRecord/IWmsInOutStockRecordRepository.cs"
@@ -0,0 +1,53 @@
+using CmsQueryExtensions.Extension; 
+using System.Linq.Expressions; 
+using Volo.Abp.Domain.Repositories; 
+ 
+namespace CMS.Plugin.HIAWms.Domain.WmsInOutStockRecord; 
+ 
+/// <summary> 
+/// 鍑哄叆搴撹褰曡〃浠撳偍 
+/// </summary> 
+public interface IWmsInOutStockRecordRepository : IBasicRepository<WmsInOutStockRecord, Guid> 
+{ 
+    /// <summary> 
+    /// 鎸夌収鍚嶇О鏌ユ壘鍑哄叆搴撹褰曡〃 
+    /// </summary> 
+    /// <param name="name"></param> 
+    /// <param name="cancellationToken"></param> 
+    /// <returns></returns> 
+    Task<WmsInOutStockRecord> FindByNameAsync(string name, CancellationToken cancellationToken = default); 
+ 
+    /// <summary> 
+    /// 楠岃瘉鍚嶇О鏄惁瀛樺湪鍑哄叆搴撹褰曡〃 
+    /// </summary> 
+    /// <param name="name"></param> 
+    /// <param name="id"></param> 
+    /// <returns></returns> 
+    Task<bool> NameExistAsync(string name, Guid? id = null); 
+ 
+    /// <summary> 
+    /// 鑾峰彇鏈�澶ф帓搴忓嚭鍏ュ簱璁板綍琛� 
+    /// </summary> 
+    /// <returns></returns> 
+    Task<int> GetMaxSortAsync(); 
+ 
+    /// <summary> 
+    /// 鑾峰彇鍒嗛〉鍒楄〃鍑哄叆搴撹褰曡〃 
+    /// </summary> 
+    /// <param name="whereConditions"></param> 
+    /// <param name="sorting"></param> 
+    /// <param name="maxResultCount"></param> 
+    /// <param name="skipCount"></param> 
+    /// <param name="includeDetails"></param> 
+    /// <param name="cancellationToken"></param> 
+    /// <returns></returns> 
+    Task<List<WmsInOutStockRecord>> GetListAsync(FunReturnResultModel<Expression<Func<WmsInOutStockRecord, bool>>> whereConditions, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, bool includeDetails = false, CancellationToken cancellationToken = default); 
+ 
+    /// <summary> 
+    /// 鑾峰彇鎬绘暟鍑哄叆搴撹褰曡〃 
+    /// </summary> 
+    /// <param name="whereConditions"></param> 
+    /// <param name="cancellationToken"></param> 
+    /// <returns></returns> 
+    Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<WmsInOutStockRecord, bool>>> whereConditions, CancellationToken cancellationToken = default); 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsInOutStockRecord/WmsInOutStockRecord.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsInOutStockRecord/WmsInOutStockRecord.cs"
new file mode 100644
index 0000000..ac5a066
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsInOutStockRecord/WmsInOutStockRecord.cs"
@@ -0,0 +1,95 @@
+锘縰sing CMS.Plugin.HIAWms.Domain.Shared.Enums;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Domain.Entities.Auditing;
+
+namespace CMS.Plugin.HIAWms.Domain.WmsInOutStockRecord
+{
+    /// <summary>
+    /// 鍑哄叆搴撹褰�.
+    /// </summary>
+    public class WmsInOutStockRecord : FullAuditedAggregateRoot<Guid>
+    {
+        /// <summary>
+        /// 鍗曟嵁缂栧彿
+        /// </summary>
+        public string OrderNo { get; set; }
+
+        /// <summary>
+        /// 鐗╂枡鍚嶇О
+        /// </summary>
+        public string? MaterialName { get; set; }
+
+        /// <summary>
+        /// 鐗╂枡浠跺彿
+        /// </summary>
+        public string MaterialNo { get; set; }
+
+        /// <summary>
+        /// 鎿嶄綔绫诲瀷
+        /// </summary>
+        public StockTypeEnum StockType { get; set; }
+
+        /// <summary>
+        /// 瀹瑰櫒缂栧彿.
+        /// </summary>
+        public string? ContainerNo { get; set; }
+
+        /// <summary>
+        /// 鍨嬪彿
+        /// </summary>
+        public string? MaterialModel { get; set; }
+
+        /// <summary>
+        /// 鎿嶄綔鏃堕棿
+        /// </summary>
+        public DateTime? OperateTime { get; set; }
+
+        /// <summary>
+        /// 澶囨敞
+        /// </summary>
+        public string? Remark { get; set; }
+
+        /// <summary>
+        /// 鐗╂枡ID
+        /// </summary>
+        public string MaterialId { get; set; }
+
+        /// <summary>
+        /// 浠诲姟鍙�
+        /// </summary>
+        public string TaskNo { get; set; }
+
+        /// <summary>
+        /// 璧峰搴撲綅
+        /// </summary>
+        public string? SourcePlace { get; set; }
+
+        /// <summary>
+        /// 鐩爣搴撲綅
+        /// </summary>
+        public string? ToPlace { get; set; }
+
+        /// <summary>
+        /// 鎺掑簭
+        /// </summary>
+        public virtual int Sort { get; set; }
+
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        public virtual bool? IsDisabled { get; set; }
+
+        /// <summary>
+        /// Adjusts the sort.
+        /// </summary>
+        /// <param name="sort">The sort.</param>
+        public void AdjustSort(int sort)
+        {
+            Sort = sort;
+        }
+    }
+}
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterial/IWmsMaterialRepository.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterial/IWmsMaterialRepository.cs"
index 7d1b279..b6ce9c7 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterial/IWmsMaterialRepository.cs"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterial/IWmsMaterialRepository.cs"
@@ -1,4 +1,4 @@
-锘縰sing CmsQueryExtensions.Extension; 
+using CmsQueryExtensions.Extension; 
 using System.Linq.Expressions; 
 using Volo.Abp.Domain.Repositories; 
  
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/\346\226\260\346\226\207\344\273\266\345\244\271/WmsTask.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/\346\226\260\346\226\207\344\273\266\345\244\271/WmsTask.cs"
new file mode 100644
index 0000000..4330c5d
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/\346\226\260\346\226\207\344\273\266\345\244\271/WmsTask.cs"
@@ -0,0 +1,126 @@
+锘縰sing CMS.Plugin.HIAWms.Domain.Shared.Enums;
+using NPOI.SS.Formula.Functions;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Domain.Entities.Auditing;
+
+namespace CMS.Plugin.HIAWms.Domain.WmsTask
+{
+    /// <summary>
+    /// 浠诲姟
+    /// </summary>W
+    public class WmsTask : FullAuditedAggregateRoot<Guid>
+    {
+        /// <summary>
+        /// 浠诲姟鍙�
+        /// </summary>
+        public string TaskNo { get; set; }
+
+        /// <summary>
+        /// 浠诲姟绫诲瀷
+        /// </summary>
+        public TaskTypeEnum TaskType { get; set; }
+
+        /// <summary>
+        /// 浠诲姟绛夌骇
+        /// </summary>
+        public int TaskLevel { get; set; }
+
+        /// <summary>
+        /// 浠诲姟鐘舵��
+        /// </summary>
+        public WmsTaskStatus TaskStatus { get; set; }
+
+        /// <summary>
+        /// 鎵樼洏缂栧彿
+        /// </summary>
+        public string? ContainerNo { get; set; }
+
+        /// <summary>
+        /// 璧峰搴撲綅
+        /// </summary>
+        public string? SourcePlace { get; set; }
+
+        /// <summary>
+        /// 鐩爣搴撲綅
+        /// </summary>
+        public string? ToPlace { get; set; }
+
+        /// <summary>
+        /// 宸烽亾
+        /// </summary>
+        public int? Aisle { get; set; }
+        /// <summary>
+        /// 鍫嗗灈鏈篒D
+        /// </summary>
+        public int? DodeviceId { get; set; }
+
+        /// <summary>
+        /// 璁惧绫诲瀷
+        /// </summary>
+        public int Dodevicetype { get; set; }
+
+
+        /// <summary>
+        /// 璁惧浠诲姟鐘舵��
+        /// </summary>
+        public int TaskDodeviceStatus { get; set; }
+
+        /// <summary>
+        /// WCS鏄惁鍙互璇诲彇
+        /// </summary>
+        public bool IsRead { get; set; }
+
+        /// <summary>
+        /// 瀛愪换鍔$被鍨�
+        /// </summary>
+        public SonTaskTypeEnum? SonTaskType { get; set; }
+
+        /// <summary>
+        /// 鏉ユ簮鍗曟嵁鍙�
+        /// </summary>
+        public string? SourceOrderNo { get; set; }
+
+        /// <summary>
+        /// 浠诲姟鍏宠仈鐨勪笅涓换鍔℃槸鍚︾敓鎴愭垚鍔燂紝澶辫触涓�1锛屽叾浠栨棤鎿嶄綔
+        /// </summary>
+        public int? IsNextTask { get; set; }
+
+        /// <summary>
+        /// 鍙彉鍙橀噺1
+        /// </summary>
+        public string? MutableParam1 { get; set; }
+
+        /// <summary>
+        /// 鍙彉鍙橀噺2
+        /// </summary>
+        public string? MutableParam2 { get; set; }
+
+        /// <summary>
+        /// 鍙彉鍙橀噺3
+        /// </summary>
+        public string? MutableParam3 { get; set; }
+        /// <summary>
+        /// 鎺掑簭
+        /// </summary>
+        public virtual int Sort { get; set; }
+
+
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        public virtual bool? IsDisabled { get; set; }
+
+        /// <summary>
+        /// Adjusts the sort.
+        /// </summary>
+        /// <param name="sort">The sort.</param>
+        public void AdjustSort(int sort)
+        {
+            Sort = sort;
+        }
+    }
+}
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsInOutStockRecord.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsInOutStockRecord.cs"
new file mode 100644
index 0000000..ebcb94d
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsInOutStockRecord.cs"
@@ -0,0 +1,121 @@
+锘縰sing CMS.Plugin.HIAWms.Domain;
+using CMS.Plugin.HIAWms.Domain.WmsInOutStockRecord;
+using Microsoft.EntityFrameworkCore;
+using Volo.Abp;
+using Volo.Abp.EntityFrameworkCore.Modeling;
+
+namespace CMS.Plugin.HIAWms.EntityFrameworkCore.Extensions
+{
+    /// <summary>
+    ///  EfCore鎵╁睍
+    /// </summary>
+    public static partial class CMSPluginEfCoreExtensions
+    {
+        /// <summary>
+        /// Includes the details.
+        /// </summary>
+        /// <param name="queryable">The queryable.</param>
+        /// <param name="include">if set to <c>true</c> [include].</param>
+        /// <returns></returns>
+        public static IQueryable<WmsInOutStockRecord> IncludeDetails(this IQueryable<WmsInOutStockRecord> queryable, bool include = true)
+        {
+            if (!include)
+            {
+                return queryable;
+            }
+
+            return queryable;
+        }
+
+        /// <summary>
+        /// Configures the wmsmaterial.
+        /// </summary>
+        /// <param name="builder"></param>
+        public static void ConfigureWmsInOutStockRecord(this ModelBuilder builder)
+        {
+            Check.NotNull(builder, nameof(builder));
+
+            builder.Entity<WmsInOutStockRecord>(b =>
+            {
+                b.ToTable((CMSPluginDbProperties.DbTablePrefix + "_WmsInOutStockRecords").ToLower(), CMSPluginDbProperties.DbSchema)
+                    .HasComment("鍑哄叆搴撹褰曡〃");
+
+                b.ConfigureByConvention();
+                // 涓婚敭閰嶇疆
+                b.HasKey(x => x.Id);
+                // Properties
+                b.Property(x => x.OrderNo)
+                    .HasMaxLength(50)
+                    .IsRequired()
+                    .HasComment("鍗曟嵁缂栧彿");
+
+                b.Property(x => x.MaterialName)
+                    .HasMaxLength(100)
+                    .IsRequired(false)
+                    .HasComment("鐗╂枡鍚嶇О");
+
+                b.Property(x => x.MaterialNo)
+                    .HasMaxLength(50)
+                    .IsRequired()
+                    .HasComment("鐗╂枡浠跺彿");
+
+                b.Property(x => x.StockType)
+                    .IsRequired()
+                    .HasComment("鎿嶄綔绫诲瀷");
+
+                b.Property(x => x.ContainerNo)
+                    .HasMaxLength(50)
+                    .IsRequired(false)
+                    .HasComment("瀹瑰櫒缂栧彿");
+
+                b.Property(x => x.MaterialModel)
+                    .HasMaxLength(50)
+                    .IsRequired(false)
+                    .HasComment("鏈哄瀷");
+
+                b.Property(x => x.OperateTime)
+                    .IsRequired(false)
+                    .HasComment("鎿嶄綔鏃堕棿");
+
+                b.Property(x => x.Remark)
+                    .HasMaxLength(500)
+                    .IsRequired(false)
+                    .HasComment("澶囨敞");
+
+                b.Property(x => x.MaterialId)
+                    .HasMaxLength(50)
+                    .IsRequired()
+                    .HasComment("鐗╂枡ID");
+
+                b.Property(x => x.TaskNo)
+                    .HasMaxLength(50)
+                    .IsRequired()
+                    .HasComment("浠诲姟鍙�");
+
+                b.Property(x => x.SourcePlace)
+                    .HasMaxLength(50)
+                    .IsRequired(false)
+                    .HasComment("璧峰搴撲綅");
+
+                b.Property(x => x.ToPlace)
+                    .HasMaxLength(50)
+                    .IsRequired(false)
+                    .HasComment("鐩爣搴撲綅");
+
+                b.Property(x => x.Sort).HasComment("鎺掑簭");
+                b.Property(x => x.IsDisabled).IsRequired(false).HasComment("鏄惁绂佺敤");
+
+                // Indexes
+                b.HasIndex(x => x.OrderNo);
+                b.HasIndex(x => x.MaterialNo);
+                b.HasIndex(x => x.MaterialId);
+                b.HasIndex(x => x.TaskNo);
+                b.HasIndex(x => x.StockType);
+                b.HasIndex(x => x.ContainerNo);
+                b.HasIndex(x => x.OperateTime);
+
+                b.ApplyObjectExtensionMappings();
+            });
+        }
+    }
+}
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsTask.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsTask.cs"
new file mode 100644
index 0000000..b72a67b
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsTask.cs"
@@ -0,0 +1,153 @@
+锘縰sing CMS.Plugin.HIAWms.Domain;
+using CMS.Plugin.HIAWms.Domain.WmsTask;
+using Microsoft.EntityFrameworkCore;
+using Volo.Abp;
+using Volo.Abp.EntityFrameworkCore.Modeling;
+
+namespace CMS.Plugin.HIAWms.EntityFrameworkCore.Extensions
+{
+    /// <summary>
+    ///  EfCore鎵╁睍
+    /// </summary>
+    public static partial class CMSPluginEfCoreExtensions
+    {
+        /// <summary>
+        /// Includes the details.
+        /// </summary>
+        /// <param name="queryable">The queryable.</param>
+        /// <param name="include">if set to <c>true</c> [include].</param>
+        /// <returns></returns>
+        public static IQueryable<WmsTask> IncludeDetails(this IQueryable<WmsTask> queryable, bool include = true)
+        {
+            if (!include)
+            {
+                return queryable;
+            }
+
+            return queryable;
+        }
+        /// <summary>
+        /// Configures the WMS task entity.
+        /// </summary>
+        /// <param name="builder">The builder.</param>
+        public static void ConfigureWmsTask(this ModelBuilder builder)
+        {
+            Check.NotNull(builder, nameof(builder));
+
+            builder.Entity<WmsTask>(b =>
+            {
+                b.ToTable((CMSPluginDbProperties.DbTablePrefix + "_WmsTasks").ToLower(), CMSPluginDbProperties.DbSchema)
+                    .HasComment("浠诲姟琛�");
+
+                b.ConfigureByConvention();
+
+                // Primary key configuration (inherited from FullAuditedAggregateRoot<Guid>)
+                b.HasKey(x => x.Id);
+
+                // Properties configuration
+                b.Property(x => x.TaskNo)
+                    .HasMaxLength(50)
+                    .IsRequired()
+                    .HasComment("浠诲姟鍙�");
+
+                b.Property(x => x.TaskType)
+                    .IsRequired()
+                    .HasComment("浠诲姟绫诲瀷");
+
+                b.Property(x => x.TaskLevel)
+                    .IsRequired()
+                    .HasComment("浠诲姟绛夌骇");
+
+                b.Property(x => x.TaskStatus)
+                    .IsRequired()
+                    .HasComment("浠诲姟鐘舵��");
+
+                b.Property(x => x.ContainerNo)
+                    .HasMaxLength(50)
+                    .IsRequired(false)
+                    .HasComment("鎵樼洏缂栧彿");
+
+                b.Property(x => x.SourcePlace)
+                    .HasMaxLength(50)
+                    .IsRequired(false)
+                    .HasComment("璧峰搴撲綅");
+
+                b.Property(x => x.ToPlace)
+                    .HasMaxLength(50)
+                    .IsRequired(false)
+                    .HasComment("鐩爣搴撲綅");
+
+                b.Property(x => x.Aisle)
+                    .IsRequired(false)
+                    .HasComment("宸烽亾");
+
+                b.Property(x => x.DodeviceId)
+                    .IsRequired(false)
+                    .HasComment("鍫嗗灈鏈篒D");
+
+                b.Property(x => x.Dodevicetype)
+                    .IsRequired()
+                    .HasComment("璁惧绫诲瀷");
+
+                b.Property(x => x.TaskDodeviceStatus)
+                    .IsRequired()
+                    .HasComment("璁惧浠诲姟鐘舵��");
+
+                b.Property(x => x.IsRead)
+                    .IsRequired()
+                    .HasComment("WCS鏄惁鍙互璇诲彇");
+
+                b.Property(x => x.SonTaskType)
+                    .IsRequired(false)
+                    .HasComment("瀛愪换鍔$被鍨�");
+
+                b.Property(x => x.SourceOrderNo)
+                    .HasMaxLength(50)
+                    .IsRequired(false)
+                    .HasComment("鏉ユ簮鍗曟嵁鍙�");
+
+                b.Property(x => x.IsNextTask)
+                    .IsRequired(false)
+                    .HasComment("涓嬩釜浠诲姟鏄惁鐢熸垚鎴愬姛");
+
+                b.Property(x => x.MutableParam1)
+                    .HasMaxLength(200)
+                    .IsRequired(false)
+                    .HasComment("鍙彉鍙橀噺1");
+
+                b.Property(x => x.MutableParam2)
+                    .HasMaxLength(200)
+                    .IsRequired(false)
+                    .HasComment("鍙彉鍙橀噺2");
+
+                b.Property(x => x.MutableParam3)
+                    .HasMaxLength(200)
+                    .IsRequired(false)
+                    .HasComment("鍙彉鍙橀噺3");
+
+                b.Property(x => x.Sort)
+                    .IsRequired()
+                    .HasComment("鎺掑簭");
+
+                b.Property(x => x.IsDisabled)
+                    .IsRequired(false)
+                    .HasComment("鏄惁绂佺敤");
+
+                // Indexes configuration
+                b.HasIndex(x => x.TaskNo).IsUnique();
+                b.HasIndex(x => x.TaskType);
+                b.HasIndex(x => x.TaskStatus);
+                b.HasIndex(x => x.ContainerNo);
+                b.HasIndex(x => x.SourcePlace);
+                b.HasIndex(x => x.ToPlace);
+                b.HasIndex(x => x.DodeviceId);
+                b.HasIndex(x => x.IsRead);
+                b.HasIndex(x => x.SourceOrderNo);
+                b.HasIndex(x => x.Sort);
+
+                b.ApplyObjectExtensionMappings();
+            });
+        }
+    }
+    
+}
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsInOutStockRecordRepository.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsInOutStockRecordRepository.cs"
new file mode 100644
index 0000000..fb76acf
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsInOutStockRecordRepository.cs"
@@ -0,0 +1,113 @@
+using CMS.Plugin.HIAWms.Domain.WmsInOutStockRecord; 
+using CMS.Plugin.HIAWms.EntityFrameworkCore.Extensions; 
+using CmsQueryExtensions.Extension; 
+using Microsoft.EntityFrameworkCore; 
+using System.Linq.Dynamic.Core; 
+using System.Linq.Expressions; 
+using Volo.Abp.Domain.Repositories.EntityFrameworkCore; 
+using Volo.Abp.EntityFrameworkCore; 
+ 
+ 
+namespace CMS.Plugin.HIAWms.EntityFrameworkCore.Repositories; 
+ 
+/// <summary> 
+/// 鍑哄叆搴撹褰曡〃浠撳偍瀹炵幇 
+/// </summary> 
+public class EfCoreWmsInOutStockRecordRepository : EfCoreRepository<ICMSPluginDbContext, WmsInOutStockRecord, Guid>, IWmsInOutStockRecordRepository 
+{ 
+    /// <summary> 
+    /// Initializes a new instance of the <see cref="EfCoreWmsInOutStockRecordRepository"/> class. 
+    /// </summary> 
+    /// <param name="dbContextProvider">The database context provider.</param> 
+    public EfCoreWmsInOutStockRecordRepository(IDbContextProvider<ICMSPluginDbContext> dbContextProvider) 
+        : base(dbContextProvider) 
+    { 
+    } 
+ 
+    /// <summary> 
+    /// 鎸夌収鍚嶇О鏌ユ壘鍑哄叆搴撹褰曡〃 
+    /// </summary> 
+    /// <param name="name"></param> 
+    /// <param name="cancellationToken"></param> 
+    /// <returns></returns> 
+    public virtual async Task<WmsInOutStockRecord> FindByNameAsync(string name, CancellationToken cancellationToken = default) 
+    { 
+        return await (await GetDbSetAsync()) 
+            .IncludeDetails() 
+            .Where(x => !x.IsDeleted) 
+            .OrderBy(t => t.Sort) 
+            .FirstOrDefaultAsync(t => t.MaterialNo == name, GetCancellationToken(cancellationToken)); 
+    } 
+ 
+    /// <summary> 
+    /// 楠岃瘉鍚嶇О鏄惁瀛樺湪鍑哄叆搴撹褰曡〃 
+    /// </summary> 
+    /// <param name="name">鏍¢獙鍊�</param> 
+    /// <param name="id"></param> 
+    /// <returns></returns> 
+    public async Task<bool> NameExistAsync(string name, Guid? id = null) 
+    { 
+        return await (await GetDbSetAsync()).WhereIf(id.HasValue, p => p.Id != id).Where(x => !x.IsDeleted).AnyAsync(x => x.MaterialNo == name); 
+    } 
+ 
+    /// <summary> 
+    /// 鑾峰彇鏈�澶ф帓搴忓嚭鍏ュ簱璁板綍琛� 
+    /// </summary> 
+    /// <returns></returns> 
+    public async Task<int> GetMaxSortAsync() 
+    { 
+        var hasAny = await (await GetQueryableAsync()) 
+            .Where(x => !x.IsDeleted).AnyAsync(); 
+        if (!hasAny) 
+        { 
+            return 1; 
+        } 
+ 
+        var sort = await (await GetQueryableAsync()) 
+            .Where(x => !x.IsDeleted).MaxAsync(x => x.Sort); 
+        return sort + 1; 
+    } 
+ 
+    /// <summary> 
+    /// 鑾峰彇鍒嗛〉鍒楄〃鍑哄叆搴撹褰曡〃 
+    /// </summary> 
+    /// <param name="whereConditions"></param> 
+    /// <param name="sorting"></param> 
+    /// <param name="maxResultCount"></param> 
+    /// <param name="skipCount"></param> 
+    /// <param name="includeDetails"></param> 
+    /// <param name="cancellationToken"></param> 
+    /// <returns></returns> 
+    public async Task<List<WmsInOutStockRecord>> GetListAsync(FunReturnResultModel<Expression<Func<WmsInOutStockRecord, bool>>> whereConditions, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, bool includeDetails = false, CancellationToken cancellationToken = default) 
+    { 
+        return await (await GetDbSetAsync()) 
+            .IncludeDetails(includeDetails) 
+            .WhereIf(whereConditions != null, whereConditions.data) 
+            .Where(x => !x.IsDeleted) 
+            .OrderBy(sorting.IsNullOrEmpty() ? nameof(WmsInOutStockRecord.Sort) : sorting) 
+            .PageBy(skipCount, maxResultCount) 
+            .ToListAsync(GetCancellationToken(cancellationToken)); 
+    } 
+ 
+    /// <summary> 
+    /// 鑾峰彇鎬绘暟鍑哄叆搴撹褰曡〃 
+    /// </summary> 
+    /// <param name="whereConditions"></param> 
+    /// <param name="cancellationToken"></param> 
+    /// <returns></returns> 
+    public async Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<WmsInOutStockRecord, bool>>> whereConditions, CancellationToken cancellationToken = default) 
+    { 
+        return await (await GetQueryableAsync()) 
+            .WhereIf(whereConditions != null, whereConditions.data) 
+            .Where(x => !x.IsDeleted) 
+            .CountAsync(cancellationToken: GetCancellationToken(cancellationToken)); 
+    } 
+ 
+ 
+    /// <inheritdoc /> 
+    public override async Task<IQueryable<WmsInOutStockRecord>> WithDetailsAsync() 
+    { 
+        return (await GetQueryableAsync()) 
+            .Where(x => !x.IsDeleted).IncludeDetails(); 
+    } 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialRepository.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialRepository.cs"
index ee47e68..7a7edc1 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialRepository.cs"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialRepository.cs"
@@ -1,4 +1,4 @@
-锘縰sing CMS.Plugin.HIAWms.Domain.WmsMaterial; 
+using CMS.Plugin.HIAWms.Domain.WmsMaterial; 
 using CMS.Plugin.HIAWms.EntityFrameworkCore.Extensions; 
 using CmsQueryExtensions.Extension; 
 using Microsoft.EntityFrameworkCore; 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.MySQL/CMSPluginDbContext.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.MySQL/CMSPluginDbContext.cs"
index bd06548..b93e817 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.MySQL/CMSPluginDbContext.cs"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.MySQL/CMSPluginDbContext.cs"
@@ -37,6 +37,8 @@
         builder.ConfigureWmsArea();
         builder.ConfigureWmsPlace();
         builder.ConfigureWmsMaterial();
+        builder.ConfigureWmsInOutStockRecord();
+        builder.ConfigureWmsTask();
 
         /* Configure your own tables/entities inside here */
 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms/Controller/WmsInOutStockRecordController.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms/Controller/WmsInOutStockRecordController.cs"
new file mode 100644
index 0000000..425b7ae
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms/Controller/WmsInOutStockRecordController.cs"
@@ -0,0 +1,188 @@
+using Ao.Lang; 
+using CMS.Extensions.Abp.AspNetCore.Mvc.Filters; 
+using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsInOutStockRecord; 
+using CMS.Plugin.HIAWms.Application.Contracts.Services; 
+using Microsoft.AspNetCore.Authorization; 
+using Microsoft.AspNetCore.Http; 
+using Microsoft.AspNetCore.Mvc; 
+using MiniExcelLibs; 
+using System.Reflection; 
+using Volo.Abp; 
+using Volo.Abp.Application.Dtos; 
+ 
+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 WmsInOutStockRecordController : ControllerBase 
+    { 
+        private readonly IWmsInOutStockRecordAppService _wmsInOutStockRecordAppService; 
+ 
+        /// <summary> 
+        /// Initializes a new instance of the <see cref="WmsInOutStockRecordController"/> class. 
+        /// </summary> 
+        /// <param name="wmsInOutStockRecordAppService">The wmsInOutStockRecord application service.</param> 
+        public WmsInOutStockRecordController(IWmsInOutStockRecordAppService wmsInOutStockRecordAppService) 
+        { 
+            _wmsInOutStockRecordAppService = wmsInOutStockRecordAppService; 
+        } 
+ 
+        /// <summary> 
+        /// 鑾峰彇鍑哄叆搴撹褰曡〃 
+        /// </summary> 
+        /// <param name="id">鏍囪瘑绗�.</param> 
+        /// <returns></returns> 
+        [HttpGet] 
+        [Route("{id}")] 
+        public virtual Task<WmsInOutStockRecordDto> GetAsync(Guid id) 
+        { 
+            return _wmsInOutStockRecordAppService.GetAsync(id); 
+        } 
+ 
+        /// <summary> 
+        /// 鍒嗛〉鑾峰彇鍑哄叆搴撹褰曡〃鐨勫垪琛�. 
+        /// </summary> 
+        /// <param name="input">杈撳叆.</param> 
+        /// <returns></returns> 
+        [HttpGet] 
+        [Route("Page")] 
+        public virtual Task<PagedResultDto<WmsInOutStockRecordDto>> GetListAsync([FromQuery] GetWmsInOutStockRecordInput input) 
+        { 
+            return _wmsInOutStockRecordAppService.GetListAsync(input); 
+        } 
+ 
+        /// <summary> 
+        /// 鍒涘缓鍑哄叆搴撹褰曡〃 
+        /// </summary> 
+        /// <param name="input">杈撳叆.</param> 
+        /// <returns></returns> 
+        //[Authorize] 
+        [HttpPost] 
+        public virtual Task<WmsInOutStockRecordDto> CreateAsync(WmsInOutStockRecordCreateDto input) 
+        { 
+            return _wmsInOutStockRecordAppService.CreateAsync(input); 
+        } 
+ 
+        /// <summary> 
+        /// 鏇存柊鍑哄叆搴撹褰曡〃 
+        /// </summary> 
+        /// <param name="id">鏍囪瘑绗�.</param> 
+        /// <param name="input">杈撳叆.</param> 
+        /// <returns></returns> 
+        //[Authorize] 
+        [HttpPut] 
+        [Route("{id}")] 
+        public virtual Task<WmsInOutStockRecordDto> UpdateAsync(Guid id, WmsInOutStockRecordUpdateDto input) 
+        { 
+            return _wmsInOutStockRecordAppService.UpdateAsync(id, input); 
+        } 
+ 
+        /// <summary> 
+        /// 鍏嬮殕鍑哄叆搴撹褰曡〃 
+        /// </summary> 
+        /// <param name="ids">Id闆嗗悎.</param> 
+        /// <returns></returns> 
+        //[Authorize] 
+        [HttpPost] 
+        [Route("Clone")] 
+        public virtual Task<List<WmsInOutStockRecordDto>> CloneAsync([FromBody] IEnumerable<Guid> ids) 
+        { 
+            return _wmsInOutStockRecordAppService.CloneAsync(ids); 
+        } 
+ 
+        /// <summary> 
+        /// 鍒犻櫎鍑哄叆搴撹褰曡〃 
+        /// </summary> 
+        /// <param name="id">鏍囪瘑绗�.</param> 
+        /// <returns></returns> 
+        //[Authorize] 
+        [HttpDelete] 
+        [Route("{id}")] 
+        public virtual Task DeleteAsync(Guid id) 
+        { 
+            return _wmsInOutStockRecordAppService.DeleteAsync(id); 
+        } 
+ 
+        /// <summary> 
+        /// 鎵归噺鍒犻櫎鍑哄叆搴撹褰曡〃 
+        /// </summary> 
+        /// <param name="ids">The ids.</param> 
+        /// <returns></returns> 
+        //[Authorize] 
+        [HttpDelete] 
+        public virtual Task DeleteAsync([FromBody] IEnumerable<Guid> ids) 
+        { 
+            return _wmsInOutStockRecordAppService.DeleteManyAsync(ids); 
+        } 
+ 
+        /// <summary> 
+        /// 璋冩暣鎺掑簭鍑哄叆搴撹褰曡〃 
+        /// </summary> 
+        /// <param name="id">鏍囪瘑绗�.</param> 
+        /// <returns></returns> 
+        [HttpPut] 
+        [Route("{id}/AdjustSort/{sort}")] 
+        public virtual Task AdjustSortAsync(Guid id, int sort) 
+        { 
+            return _wmsInOutStockRecordAppService.AdjustSortAsync(id, sort); 
+        } 
+ 
+        /// <summary> 
+        /// 瀵煎叆鍑哄叆搴撹褰曡〃 
+        /// </summary> 
+        /// <returns></returns> 
+        [Authorize] 
+        [HttpPost] 
+        [Route("Import")] 
+        public virtual async Task<IActionResult> ImportAsync(IFormFile file) 
+        { 
+            using var stream = new MemoryStream(); 
+            await file.CopyToAsync(stream); 
+            stream.Seek(0L, SeekOrigin.Begin); 
+ 
+            var sheetNames = stream.GetSheetNames(); 
+            var wmsInOutStockRecordRows = sheetNames.Contains("閰嶇疆") ? MiniExcel.Query<WmsInOutStockRecordsImportModel.WmsInOutStockRecordImportModel>(stream, sheetName: "閰嶇疆").ToList() : new(); 
+ 
+            if (!wmsInOutStockRecordRows.Any()) 
+            { 
+                throw new UserFriendlyException("璇锋鏌ュ鍏ョ殑琛ㄦ牸"); 
+            } 
+ 
+            await _wmsInOutStockRecordAppService.ImportAsync(new WmsInOutStockRecordsImportModel 
+            { 
+                WmsInOutStockRecords = wmsInOutStockRecordRows, 
+            }); 
+ 
+            return Ok(); 
+        } 
+ 
+        /// <summary> 
+        /// 瀵煎嚭鍑哄叆搴撹褰曡〃 
+        /// </summary> 
+        /// <returns></returns> 
+        [HttpGet] 
+        [Route("Export")] 
+        public virtual async Task<IActionResult> ExportAsync([FromQuery] GetWmsInOutStockRecordInput input) 
+        { 
+            input.MaxResultCount = int.MaxValue; 
+            var exportData = await _wmsInOutStockRecordAppService.ExportAsync(input); 
+            var templatePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $"Resources/Templates/WmsInOutStockRecord瀵煎嚭妯℃澘.xlsx"); 
+            if (!System.IO.File.Exists(templatePath)) 
+            { 
+                templatePath = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) ?? string.Empty, $"Resources/Templates/WmsInOutStockRecord瀵煎嚭妯℃澘.xlsx"); 
+            } 
+ 
+            var memoryStream = new MemoryStream(); 
+            await memoryStream.SaveAsByTemplateAsync(templatePath, exportData.Sheets); 
+            memoryStream.Seek(0L, SeekOrigin.Begin); 
+            return new FileStreamResult(memoryStream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") { FileDownloadName = $"{exportData.FileName}_{DateTime.Now:yyyyMMddhhmmss}.xlsx" }; 
+        } 
+    } 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialController.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialController.cs"
index 0002de3..9060e10 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialController.cs"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialController.cs"
@@ -1,4 +1,4 @@
-锘縰sing Ao.Lang; 
+using Ao.Lang; 
 using CMS.Extensions.Abp.AspNetCore.Mvc.Filters; 
 using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; 
 using CMS.Plugin.HIAWms.Application.Contracts.Services; 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/config/menu.ts" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/config/menu.ts"
index 1a0aaf6..bb14372 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/config/menu.ts"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/config/menu.ts"
@@ -7,6 +7,13 @@
     "notPage": false
   },
   {
+    "name": "鍑哄叆搴撹褰�",
+    "path": "/information-base/WmsInOutStockRecord",
+    "patchName": "WmsInOutStockRecord",
+    "icon": "p",
+    "notPage": false
+  },
+  {
     "name": "Wms鎵樼洏绠$悊",
     "path": "/information-base/WmsContainer",
     "patchName": "WmsContainer",
@@ -21,7 +28,7 @@
     "notPage": false
   },
   {
-    "name": "Wms鐗╂枡鍩虹",
+    "name": "鐗╂枡淇℃伅",
     "path": "/information-base/HIAWms",
     "patchName": "HIAWms",
     "icon": "p",
@@ -33,6 +40,13 @@
     "name": "浠撳簱淇℃伅",
     "path": "/information-base/WmsStoreInfo",
     "patchName": "WmsStoreInfo",
+    "icon": "p",
+    "notPage": false
+  },
+  "WmsInOutStockRecord": {
+    "name": "鍑哄叆搴撹褰�",
+    "path": "/information-base/WmsInOutStockRecord",
+    "patchName": "WmsInOutStockRecord",
     "icon": "p",
     "notPage": false
   },
@@ -51,7 +65,7 @@
     "notPage": false
   },
   "HIAWms": {
-    "name": "Wms鐗╂枡鍩虹",
+    "name": "鐗╂枡淇℃伅",
     "path": "/information-base/HIAWms",
     "patchName": "HIAWms",
     "icon": "p",
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/File.ts" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/File.ts"
index 75397ed..9162fef 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/File.ts"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/File.ts"
@@ -1,31 +1,31 @@
-import { importFileToService, exportFileToClient } from '@/api/file'
-import { ElMessage } from 'element-plus'
-import { downloadFile } from '@/utils'
-import dayjs from 'dayjs'
-
-export const useFile = () => {
-  /**
-   * 瀵煎叆鏂囦欢
-   * @param url
-   */
-  const importFile = async (url: string, file: File) => {
-    const formData = new FormData()
-    formData.append('file', file)
-    await importFileToService(url, formData)
-    ElMessage('瀵煎叆鎴愬姛')
-  }
-  /**
-   * 瀵煎嚭鏂囦欢
-   * @param url
-   */
-  const exportFile = async (url: string, params: any, name: string) => {
-    const res = await exportFileToClient(url, params)
-    downloadFile(res, `${name}_${dayjs().format('YYYYMMDDHHMMss')}.xlsx`)
-    ElMessage.success('瀵煎嚭鎴愬姛')
-  }
-
-  return {
-    importFile,
-    exportFile,
-  }
-}
+import { importFileToService, exportFileToClient } from '@/api/file' 
+import { ElMessage } from 'element-plus' 
+import { downloadFile } from '@/utils' 
+import dayjs from 'dayjs' 
+ 
+export const useFile = () => { 
+  /** 
+   * 瀵煎叆鏂囦欢 
+   * @param url 
+   */ 
+  const importFile = async (url: string, file: File) => { 
+    const formData = new FormData() 
+    formData.append('file', file) 
+    await importFileToService(url, formData) 
+    ElMessage('瀵煎叆鎴愬姛') 
+  } 
+  /** 
+   * 瀵煎嚭鏂囦欢 
+   * @param url 
+   */ 
+  const exportFile = async (url: string, params: any, name: string) => { 
+    const res = await exportFileToClient(url, params) 
+    downloadFile(res, `${name}_${dayjs().format('YYYYMMDDHHMMss')}.xlsx`) 
+    ElMessage.success('瀵煎嚭鎴愬姛') 
+  } 
+ 
+  return { 
+    importFile, 
+    exportFile, 
+  } 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/WmsMaterial.ts" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/WmsMaterial.ts"
index b97016b..1f51100 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/WmsMaterial.ts"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/WmsMaterial.ts"
@@ -1,275 +1,275 @@
-import { ref, onMounted, reactive, Ref, nextTick, computed } from 'vue'
-import { injectModel } from '@/libs/Provider/Provider'
-import { WmsMaterial } from '../Models/WmsMaterial'
-import { ElMessage } from 'element-plus'
-import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox'
-import { useFile } from './File'
-
-interface CurrentType {
-  row: any
-  index: number
-}
-export const useWmsMaterial = (props: any, ctx?: any) => {
-  const wmsMaterial = injectModel<WmsMaterial>('wmsMaterial')
-  const { exportFile } = useFile()
-  /**
-   * 澶撮儴閰嶇疆
-   */
-  const headers = ref({})
-  /**
-   * 鍔ㄦ�佸垪閰嶇疆
-   */
-  const wmsMaterialColumns = ref<Record<string, any>>([])
-  /**
-   * 鎼滅储鍊�
-   */
-  const search = ref('')
-
-  /**
-   * 鎺掑簭
-   */
-  const sort = ref(0)
-  /**
-   * 閫夋嫨椤�
-   */
-  const selection = ref([])
-  /**
-   * 褰撳墠閫変腑鐨勮
-   */
-  const current = ref<any>(null)
-  /**
-   * 鏁版嵁婧�
-   */
-  const dataSource: Ref<any[]> = ref([])
-
-  /**
-   * 琛ㄦ牸
-   */
-  const tableRef = ref()
-  const dialogConfig = reactive({
-    visible: false,
-    title: '',
-    isAdd: false,
-  })
-  const dialogConfigForQuery = reactive({
-    visible: false,
-    title: '',
-    isAdd: false,
-  })
-
-
-  const dialogSettingConfig = reactive({
-    visible: false,
-    title: '',
-  })
-
-  /**
-   * 鍒嗛〉鏁版嵁
-   */
-  const paginationParams = ref({})
-
-  /**
-   * 鎵撳紑璇︽儏
-   * @param row
-   */
-  const openDetail = (row: any) => {
-    current.value = row
-    dialogConfig.visible = true
-    dialogConfig.title = row.name
-    dialogConfig.isAdd = false
-    sort.value = row.sort
-  }
-
-  const contextMenu = [
-    {
-      label: '灞曞紑璇︽儏',
-      fn: (c: CurrentType) => {
-        current.value = null
-        sort.value = c.row.sort
-        nextTick(() => openDetail(c.row))
-      },
-      divided: true,
-      icon: 'o',
-    },
-    // {
-    //   label: '鍚戜笂娣诲姞',
-    //   fn: (c: CurrentType, pageNum: number) => {
-    //     current.value = null
-    //     sort.value = c.index + 1 + (pageNum - 1) * 50
-    //     dialogConfig.visible = true
-    //     dialogConfig.title = '娣诲姞'
-    //     dialogConfig.isAdd = false
-    //   },
-    //   divided: true,
-    //   icon: 'up',
-    // },
-    // {
-    //   label: '鍚戜笅娣诲姞',
-    //   fn: (c: CurrentType, pageNum: number) => {
-    //     current.value = null
-    //     sort.value = c.index + 2 + (pageNum - 1) * 50
-    //     dialogConfig.visible = true
-    //     dialogConfig.title = '娣诲姞'
-    //     dialogConfig.isAdd = false
-    //   },
-    //   divided: true,
-    //   icon: 'down',
-    // },
-    // {
-    //   label: '鍒涘缓鍓湰',
-    //   fn: async ({ row }: CurrentType) => {
-    //     await wmsMaterial.cloneData([row.id])
-    //     ElMessage.success('鍒涘缓鍓湰鎴愬姛')
-    //     tableRef.value?.getList()
-    //   },
-    //   divided: true,
-    //   icon: 'copy',
-    // },
-    {
-      label: '鍒犻櫎',
-      fn: async (c: CurrentType) => {
-        const names = selection.value.map((item: { name: string }) => item.name)
-        ConfirmBox(
-          `鏄惁鍒犻櫎${names.length ? names.join(',') : c.row.name}`
-        ).then(async () => {
-          const ids = selection.value.map((item: { id: string }) => item.id)
-          await wmsMaterial.deleteWmsMaterials(ids.length ? ids : [c.row.id])
-          ElMessage.success('鍒犻櫎鎴愬姛')
-          tableRef.value.getList()
-        })
-      },
-      icon: 'close',
-    },
-  ]
-
-  const onCheck = (records: any) => {
-    selection.value = records
-  }
-
-  const onAddWmsMaterial = () => {
-    const params = tableRef.value?.getPaginationParams()
-    current.value = null
-    dialogConfig.visible = true
-    dialogConfig.isAdd = true
-    dialogConfig.title = '娣诲姞'
-    sort.value = params.totalCount + 1
-  }
-
-  //鐐瑰嚮鎸夐挳銆愰珮绾ф煡璇€��
-  const onAdvancedQuery = () => {
-    const params = tableRef.value?.getPaginationParams()
-    current.value = null
-    dialogConfigForQuery.visible = true
-    dialogConfigForQuery.isAdd = true
-    dialogConfigForQuery.title = '楂樼骇鏌ヨ'
-  }
+import { ref, onMounted, reactive, Ref, nextTick, computed } from 'vue' 
+import { injectModel } from '@/libs/Provider/Provider' 
+import { WmsMaterial } from '../Models/WmsMaterial' 
+import { ElMessage } from 'element-plus' 
+import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox' 
+import { useFile } from './File' 
  
-  const onConfirmWmsMaterial = async () => {
-    dialogConfig.visible = false
-    if (dialogConfig.isAdd) {
-      tableRef.value?.scrollToRow({
-        skip: true,
-      })
-    } else {
-      await tableRef.value?.getList()
-    }
-  }
-  /**
-   * 琛岀偣鍑绘椂鏇存柊current
-   */
-  const onRowClick = ({ row }: any) => {
-    if (dialogConfig.visible && current.value) {
-      current.value = row
-    }
-  }
-  /**
-   * 瀵煎嚭
-   */
-  const onExport = (data={}) => {
-    //const params = tableRef.value?.getParams()
-    exportFile('/api/v1/hIAWms/wmsMaterial/export', data, 'hIAWms')
-  }
-
-  /**
-   * 鍏抽敭瀛楁悳绱�
-   */
-  const onSearch = () => {
-    tableRef.value?.getList({
-      Filter: search.value,
-    })
-  }
-
-  /**
-   * 閲嶇疆琛ㄦ牸鏁版嵁
-   */
-  const reloadList = () => {
-    tableRef.value?.getList()
-  }
-  /**
-   * 涓婁紶鎴愬姛
-   */
-  const onSuccess = () => {
-    tableRef.value?.getList()
-    ElMessage.success('瀵煎叆鎴愬姛')
-  }
-  /**
-   * 澶辫触
-   * @param err
-   */
-  const onError = (err: any) => {
-    try {
-      const message = JSON.parse(err.message)
-      ElMessage.error(message.msg)
-    } catch (error) {
-      ElMessage.error('瀵煎叆澶辫触')
-    }
-  }
-  /**
-   * 涓婁紶閽╁瓙
-   */
-  const onBeforeUpload = (file: File) => {
-    const format = ['xlsx', 'xls', 'csv']
-    if (!format.includes(file.name.split('.')[1])) {
-      ElMessage.error('瀵煎叆鏂囦欢鏍煎紡涓嶆纭紝璇峰鍏�.xlsx/.xls涓�.csv鏍煎紡鐨勬枃浠�')
-      return false
-    }
-    return true
-  }
-
-  onMounted(() => {
-    headers.value = {
-      Authorization: `Bearer ${sessionStorage.getItem('Token')}`,
-      'X-Project': sessionStorage.getItem('X-Project'),
-    }
-  })
-
-  ctx.expose({
-    reloadList,
-  })
-
-  return {
-    dataSource,
-    contextMenu,
-    dialogConfig,
-    dialogConfigForQuery,
-    dialogSettingConfig,
-    tableRef,
-    current,
-    search,
-    sort,
-    wmsMaterialColumns,
-    paginationParams,
-    headers,
-    onBeforeUpload,
-    onError,
-    onSuccess,
-    openDetail,
-    onSearch,
-    onExport,
-    onRowClick,
-    onConfirmWmsMaterial,
-    onCheck,
-    onAddWmsMaterial,
-    onAdvancedQuery
-  }
-}
+interface CurrentType { 
+  row: any 
+  index: number 
+} 
+export const useWmsMaterial = (props: any, ctx?: any) => { 
+  const wmsMaterial = injectModel<WmsMaterial>('wmsMaterial') 
+  const { exportFile } = useFile() 
+  /** 
+   * 澶撮儴閰嶇疆 
+   */ 
+  const headers = ref({}) 
+  /** 
+   * 鍔ㄦ�佸垪閰嶇疆 
+   */ 
+  const wmsMaterialColumns = ref<Record<string, any>>([]) 
+  /** 
+   * 鎼滅储鍊� 
+   */ 
+  const search = ref('') 
+ 
+  /** 
+   * 鎺掑簭 
+   */ 
+  const sort = ref(0) 
+  /** 
+   * 閫夋嫨椤� 
+   */ 
+  const selection = ref([]) 
+  /** 
+   * 褰撳墠閫変腑鐨勮 
+   */ 
+  const current = ref<any>(null) 
+  /** 
+   * 鏁版嵁婧� 
+   */ 
+  const dataSource: Ref<any[]> = ref([]) 
+ 
+  /** 
+   * 琛ㄦ牸 
+   */ 
+  const tableRef = ref() 
+  const dialogConfig = reactive({ 
+    visible: false, 
+    title: '', 
+    isAdd: false, 
+  }) 
+  const dialogConfigForQuery = reactive({ 
+    visible: false, 
+    title: '', 
+    isAdd: false, 
+  }) 
+ 
+ 
+  const dialogSettingConfig = reactive({ 
+    visible: false, 
+    title: '', 
+  }) 
+ 
+  /** 
+   * 鍒嗛〉鏁版嵁 
+   */ 
+  const paginationParams = ref({}) 
+ 
+  /** 
+   * 鎵撳紑璇︽儏 
+   * @param row 
+   */ 
+  const openDetail = (row: any) => { 
+    current.value = row 
+    dialogConfig.visible = true 
+    dialogConfig.title = row.name 
+    dialogConfig.isAdd = false 
+    sort.value = row.sort 
+  } 
+ 
+  const contextMenu = [ 
+    { 
+      label: '灞曞紑璇︽儏', 
+      fn: (c: CurrentType) => { 
+        current.value = null 
+        sort.value = c.row.sort 
+        nextTick(() => openDetail(c.row)) 
+      }, 
+      divided: true, 
+      icon: 'o', 
+    }, 
+    // { 
+    //   label: '鍚戜笂娣诲姞', 
+    //   fn: (c: CurrentType, pageNum: number) => { 
+    //     current.value = null 
+    //     sort.value = c.index + 1 + (pageNum - 1) * 50 
+    //     dialogConfig.visible = true 
+    //     dialogConfig.title = '娣诲姞' 
+    //     dialogConfig.isAdd = false 
+    //   }, 
+    //   divided: true, 
+    //   icon: 'up', 
+    // }, 
+    // { 
+    //   label: '鍚戜笅娣诲姞', 
+    //   fn: (c: CurrentType, pageNum: number) => { 
+    //     current.value = null 
+    //     sort.value = c.index + 2 + (pageNum - 1) * 50 
+    //     dialogConfig.visible = true 
+    //     dialogConfig.title = '娣诲姞' 
+    //     dialogConfig.isAdd = false 
+    //   }, 
+    //   divided: true, 
+    //   icon: 'down', 
+    // }, 
+    // { 
+    //   label: '鍒涘缓鍓湰', 
+    //   fn: async ({ row }: CurrentType) => { 
+    //     await wmsMaterial.cloneData([row.id]) 
+    //     ElMessage.success('鍒涘缓鍓湰鎴愬姛') 
+    //     tableRef.value?.getList() 
+    //   }, 
+    //   divided: true, 
+    //   icon: 'copy', 
+    // }, 
+    { 
+      label: '鍒犻櫎', 
+      fn: async (c: CurrentType) => { 
+        const names = selection.value.map((item: { name: string }) => item.name) 
+        ConfirmBox( 
+          `鏄惁鍒犻櫎${names.length ? names.join(',') : c.row.name}` 
+        ).then(async () => { 
+          const ids = selection.value.map((item: { id: string }) => item.id) 
+          await wmsMaterial.deleteWmsMaterials(ids.length ? ids : [c.row.id]) 
+          ElMessage.success('鍒犻櫎鎴愬姛') 
+          tableRef.value.getList() 
+        }) 
+      }, 
+      icon: 'close', 
+    }, 
+  ] 
+ 
+  const onCheck = (records: any) => { 
+    selection.value = records 
+  } 
+ 
+  const onAddWmsMaterial = () => { 
+    const params = tableRef.value?.getPaginationParams() 
+    current.value = null 
+    dialogConfig.visible = true 
+    dialogConfig.isAdd = true 
+    dialogConfig.title = '娣诲姞' 
+    sort.value = params.totalCount + 1 
+  } 
+ 
+  //鐐瑰嚮鎸夐挳銆愰珮绾ф煡璇€�� 
+  const onAdvancedQuery = () => { 
+    const params = tableRef.value?.getPaginationParams() 
+    current.value = null 
+    dialogConfigForQuery.visible = true 
+    dialogConfigForQuery.isAdd = true 
+    dialogConfigForQuery.title = '楂樼骇鏌ヨ' 
+  } 
+  
+  const onConfirmWmsMaterial = async () => { 
+    dialogConfig.visible = false 
+    if (dialogConfig.isAdd) { 
+      tableRef.value?.scrollToRow({ 
+        skip: true, 
+      }) 
+    } else { 
+      await tableRef.value?.getList() 
+    } 
+  } 
+  /** 
+   * 琛岀偣鍑绘椂鏇存柊current 
+   */ 
+  const onRowClick = ({ row }: any) => { 
+    if (dialogConfig.visible && current.value) { 
+      current.value = row 
+    } 
+  } 
+  /** 
+   * 瀵煎嚭 
+   */ 
+  const onExport = (data={}) => { 
+    //const params = tableRef.value?.getParams() 
+    exportFile('/api/v1/hIAWms/wmsMaterial/export', data, 'hIAWms') 
+  } 
+ 
+  /** 
+   * 鍏抽敭瀛楁悳绱� 
+   */ 
+  const onSearch = () => { 
+    tableRef.value?.getList({ 
+      Filter: search.value, 
+    }) 
+  } 
+ 
+  /** 
+   * 閲嶇疆琛ㄦ牸鏁版嵁 
+   */ 
+  const reloadList = () => { 
+    tableRef.value?.getList() 
+  } 
+  /** 
+   * 涓婁紶鎴愬姛 
+   */ 
+  const onSuccess = () => { 
+    tableRef.value?.getList() 
+    ElMessage.success('瀵煎叆鎴愬姛') 
+  } 
+  /** 
+   * 澶辫触 
+   * @param err 
+   */ 
+  const onError = (err: any) => { 
+    try { 
+      const message = JSON.parse(err.message) 
+      ElMessage.error(message.msg) 
+    } catch (error) { 
+      ElMessage.error('瀵煎叆澶辫触') 
+    } 
+  } 
+  /** 
+   * 涓婁紶閽╁瓙 
+   */ 
+  const onBeforeUpload = (file: File) => { 
+    const format = ['xlsx', 'xls', 'csv'] 
+    if (!format.includes(file.name.split('.')[1])) { 
+      ElMessage.error('瀵煎叆鏂囦欢鏍煎紡涓嶆纭紝璇峰鍏�.xlsx/.xls涓�.csv鏍煎紡鐨勬枃浠�') 
+      return false 
+    } 
+    return true 
+  } 
+ 
+  onMounted(() => { 
+    headers.value = { 
+      Authorization: `Bearer ${sessionStorage.getItem('Token')}`, 
+      'X-Project': sessionStorage.getItem('X-Project'), 
+    } 
+  }) 
+ 
+  ctx.expose({ 
+    reloadList, 
+  }) 
+ 
+  return { 
+    dataSource, 
+    contextMenu, 
+    dialogConfig, 
+    dialogConfigForQuery, 
+    dialogSettingConfig, 
+    tableRef, 
+    current, 
+    search, 
+    sort, 
+    wmsMaterialColumns, 
+    paginationParams, 
+    headers, 
+    onBeforeUpload, 
+    onError, 
+    onSuccess, 
+    openDetail, 
+    onSearch, 
+    onExport, 
+    onRowClick, 
+    onConfirmWmsMaterial, 
+    onCheck, 
+    onAddWmsMaterial, 
+    onAdvancedQuery 
+  } 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/WmsMaterialDrawer.tsx" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/WmsMaterialDrawer.tsx"
index ad14d54..6cacc6e 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/WmsMaterialDrawer.tsx"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/WmsMaterialDrawer.tsx"
@@ -1,317 +1,363 @@
-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'
-import isEqual from 'lodash/isEqual'
-import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox'
-import { cloneDeep } from 'lodash'
-
-export const useWmsMaterialDrawer = (props: any, ctx?: any) => {
-  const wmsMaterialDrawer = injectModel<WmsMaterialDrawer>('wmsMaterialDrawer')
-  /**
-   * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁
-   */
-  const initiateData: Ref<Record<string, any>> = ref({})
-  const formData = ref<Record<string, any>>({})
-  // 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
-    },
-    set(val) {
-      ctx.emit('update:modelValue', val)
-    },
-  })
-  /**
-   * 娣诲姞鐨刦orm瀛楁
-   */
-  const formItems = reactive([
-    {
-      label: '鐗╂枡缂栫爜',
-      prop: 'materialCode',
-      el: 'input',
-      disabled: disabled,
-      placeholder: '璇疯緭鍏ョ墿鏂欑紪鐮�',
-      rules: [{ required: true, message: '鐗╂枡缂栫爜涓嶈兘涓虹┖', trigger: 'blur' }],
-    },
-    {
-      label: '鐗╂枡鍚嶇О',
-      prop: 'materialName',
-      el: 'input',
-      placeholder: '璇疯緭鍏ョ墿鏂欏悕绉�',
-      rules: [{ required: true, message: '鐗╂枡鍚嶇О涓嶈兘涓虹┖', trigger: 'blur' }],
-    },
-    {
-      label: '閲囪喘绫诲瀷',
-      prop: 'purchaseType',
-      el: 'select',
-      placeholder: '璇烽�夋嫨閲囪喘绫诲瀷',
-      options: [],
-      rules: [{ required: true, message: '璇烽�夋嫨閲囪喘绫诲瀷', trigger: 'change' }],
-    },
-    {
-      label: '鐗╂枡绫诲瀷',
-      prop: 'materialType',
-      el: 'select',
-      placeholder: '璇烽�夋嫨鐗╂枡绫诲瀷',
-      options: [],
-      rules: [{ required: true, message: '璇烽�夋嫨鐗╂枡绫诲瀷', trigger: 'change' }],
-    },
-    {
-      label: '涓诲崟浣�',
-      prop: 'primaryUnit',
-      el: 'input',
-      placeholder: '璇疯緭鍏ヤ富鍗曚綅(濡�: kg, m, 涓�)',
-    },
-    {
-      label: '瑙勬牸/鏍囧噯',
-      prop: 'standard',
-      el: 'input',
-      placeholder: '璇疯緭鍏ヨ鏍�/鏍囧噯(濡�: GB/T 8163-2018)',
-    },
-    {
-      label: '澶栧緞(mm)',
-      prop: 'outerDiameter',
-      el: (props: any, { attrs }: SetupContext) => {
-        return h(inputNumber, {
-          ...props,
-          clearable: true,
-          ...attrs,
-        })
-      },
-      width: '100%',
-      placeholder: '璇疯緭鍏ュ寰�',
-      step: 0.01,
-      precision: 2,
-    },
-    {
-      label: '澹佸帤(mm)',
-      prop: 'wallThickness',
-      el: (props: any, { attrs }: SetupContext) => {
-        return h(inputNumber, {
-          ...props,
-          clearable: true,
-          ...attrs,
-        })
-      },
-      width: '100%',
-      placeholder: '璇疯緭鍏ュ鍘�',
-      step: 0.01,
-      precision: 2,
-    },
-    {
-      label: '鏉愯川',
-      prop: 'materialQuality',
-      el: 'input',
-      placeholder: '璇疯緭鍏ユ潗璐�(濡�: 304涓嶉攬閽�)',
-    },
-    {
-      label: '闀垮害(m)',
-      prop: 'length',
-      el: (props: any, { attrs }: SetupContext) => {
-        return h(inputNumber, {
-          ...props,
-          clearable: true,
-          ...attrs,
-        })
-      },
-      width: '100%',
-      placeholder: '璇疯緭鍏ラ暱搴�',
-      step: 0.1,
-      precision: 2,
-    },
-    {
-      label: '鏄惁涓绘敮绠�',
-      prop: 'isMainBranch',
-      el: 'select',
-      options: [],
-    },
-    {
-      label: '鐢熶骇宸ュ巶',
-      prop: 'factory',
-      el: 'input',
-      placeholder: '璇疯緭鍏ョ敓浜у伐鍘�',
-    },
-    {
-      label: '璇佷功缂栧彿',
-      prop: 'certification',
-      el: 'input',
-      placeholder: '璇疯緭鍏ヨ瘉涔︾紪鍙�',
-    },
-    {
-      label: '澶囨敞',
-      prop: 'remark',
-      el: 'input',
-      type: 'textarea',
-      placeholder: '璇疯緭鍏ュ娉�',
-    },
-  ])
-  /**
-   * 鏍¢獙鏄惁鏈夋暟鎹彉鍖�
-   */
-  const checkIsEqualObject = () => {
-    const data = {
-      formData: formData.value,
-    }
-    const check = isEqual(initiateData.value, data)
-    return check
-  }
-
-  const onClose = (done: () => void) => {
-    if (visible.value) {
-      if (checkIsEqualObject()) {
-        visible.value = false
-        done && done()
-      } else {
-        ConfirmBox('鏄惁淇濆瓨璁剧疆锛�')
-          .then(() => {
-            onConfirm()
-          })
-          .catch(() => {
-            visible.value = false
-            done && done()
-          })
-      }
-    }
-  }
-  /**
-   * 淇濆瓨
-   */
-  const onConfirm = async () => {
-    await formRef.value?.validate()
-    const data = {
-      materialCode: formData.value.materialCode,
-      materialName: formData.value.materialName,
-      purchaseType: formData.value.purchaseType,
-      materialType: formData.value.materialType,
-      primaryUnit: formData.value.primaryUnit,
-      standard: formData.value.standard,
-      outerDiameter: formData.value.outerDiameter,
-      wallThickness: formData.value.wallThickness,
-      materialQuality: formData.value.materialQuality,
-      length: formData.value.length,
-      isMainBranch: formData.value.isMainBranch,
-      factory: formData.value.factory,
-      certification: formData.value.certification,
-      remark: formData.value.remark,
-    }
-    if (!current.value) {
-      await wmsMaterialDrawer.addWmsMaterial(data)
-    } else {
-      const id = current.value.id
-      await wmsMaterialDrawer.updateWmsMaterial(id, data)
-    }
-    ElMessage.success('淇濆瓨鎴愬姛')
-    ctx.emit('confirm')
-  }
-
-  const updateCheckData = () => {
-    initiateData.value = {
-      formData: {
-        ...formData.value,
-      },
-    }
-  }
-  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 commonQueryEnumForFrom = 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)
-  }
-  commonQueryEnumForFrom()
-  /**
-   * 寮圭獥鎵撳紑鑾峰彇璇︽儏
-   */
-  const onOpen = async () => {
-    if (current.value) {
-      const res = await wmsMaterialDrawer.getWmsMaterialDetail(current.value)
-
-      formData.value = {
-        materialCode: res.materialCode,
-        materialName: res.materialName,
-        purchaseType: res.purchaseType,
-        materialType: res.materialType,
-        primaryUnit: res.primaryUnit,
-        standard: res.standard,
-        outerDiameter: res.outerDiameter,
-        wallThickness: res.wallThickness,
-        materialQuality: res.materialQuality,
-        length: res.length,
-        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()
-    }
-  }
-
-  watch(() => current.value, onOpen)
-
-  return {
-    formItems,
-    formData,
-    visible,
-    formRef,
-    onOpen,
-    onClose,
-    onConfirm,
-  }
-}
+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' 
+import isEqual from 'lodash/isEqual' 
+import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox' 
+import { cloneDeep } from 'lodash' 
+ 
+export const useWmsMaterialDrawer = (props: any, ctx?: any) => { 
+  const wmsMaterialDrawer = injectModel<WmsMaterialDrawer>('wmsMaterialDrawer') 
+  /** 
+   * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁 
+   */ 
+  const initiateData: Ref<Record<string, any>> = ref({}) 
+  const formData = ref<Record<string, any>>({}) 
+  // 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 
+    }, 
+    set(val) { 
+      ctx.emit('update:modelValue', val) 
+    }, 
+  }) 
+  /** 
+   * 娣诲姞鐨刦orm瀛楁 
+   */ 
+  const formItems = reactive([ 
+                    { 
+                   label: '鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�', 
+                   prop: 'materialCode', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ョ墿鏂欑紪鐮侊紙鍞竴鏍囪瘑锛�', 
+              rules: [{required: true, message: '鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛変笉鑳戒负绌�', trigger: 'blur' }], 
+                }, 
+                { 
+                   label: '鐗╂枡鍚嶇О', 
+                   prop: 'materialName', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ョ墿鏂欏悕绉�', 
+              rules: [{required: true, message: '鐗╂枡鍚嶇О涓嶈兘涓虹┖', trigger: 'blur' }], 
+                }, 
+                { 
+                   label: '閲囪喘绫诲瀷锛堟灇涓惧�硷級', 
+                   prop: 'purchaseType', 
+                   el: 'select', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ラ噰璐被鍨嬶紙鏋氫妇鍊硷級', 
+              rules: [{required: true, message: '閲囪喘绫诲瀷锛堟灇涓惧�硷級涓嶈兘涓虹┖', trigger: 'blur' }], 
+                }, 
+                { 
+                   label: '鐗╂枡绫诲瀷锛堟灇涓惧�硷級', 
+                   prop: 'materialType', 
+                   el: 'select', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ョ墿鏂欑被鍨嬶紙鏋氫妇鍊硷級', 
+              rules: [{required: true, message: '鐗╂枡绫诲瀷锛堟灇涓惧�硷級涓嶈兘涓虹┖', trigger: 'blur' }], 
+                }, 
+                { 
+                   label: '涓诲崟浣嶏紙濡傦細kg銆乵銆佷釜锛�', 
+                   prop: 'primaryUnit', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ヤ富鍗曚綅锛堝锛歬g銆乵銆佷釜锛�', 
+                }, 
+                { 
+                   label: '瑙勬牸/鏍囧噯锛堝锛欸B/T 8163-2018锛�', 
+                   prop: 'standard', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ヨ鏍�/鏍囧噯锛堝锛欸B/T 8163-2018锛�', 
+                }, 
+                { 
+                   label: '澶栧緞锛堝崟浣嶏細mm锛�', 
+                   prop: 'outerDiameter', 
+                   el: (props: any, { attrs }: SetupContext) => { 
+                     return h(inputNumber, {  
+                       ...props,  
+                       clearable: true,  
+                       ...attrs,  
+                     })  
+                   },
+                   step: 0.01,
+                   precision: 2, 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ュ寰勶紙鍗曚綅锛歮m锛�', 
+              rules: [{required: true, message: '澶栧緞锛堝崟浣嶏細mm锛変笉鑳戒负绌�', trigger: 'blur' }], 
+                }, 
+                { 
+                   label: '澹佸帤锛堝崟浣嶏細mm锛�', 
+                   prop: 'wallThickness', 
+                   el: (props: any, { attrs }: SetupContext) => { 
+                     return h(inputNumber, {  
+                       ...props,  
+                       clearable: true,  
+                       ...attrs,  
+                     })  
+                   },
+                   step: 0.01,
+                   precision: 2, 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ュ鍘氾紙鍗曚綅锛歮m锛�', 
+              rules: [{required: true, message: '澹佸帤锛堝崟浣嶏細mm锛変笉鑳戒负绌�', trigger: 'blur' }], 
+                }, 
+                { 
+                   label: '鏉愯川锛堝锛�304涓嶉攬閽級', 
+                   prop: 'materialQuality', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ユ潗璐紙濡傦細304涓嶉攬閽級', 
+                }, 
+                { 
+                   label: '闀垮害锛堝崟浣嶏細m锛�', 
+                   prop: 'length', 
+                   el: (props: any, { attrs }: SetupContext) => { 
+                     return h(inputNumber, {  
+                       ...props,  
+                       clearable: true,  
+                       ...attrs,  
+                     })  
+                   },
+                   step: 0.01,
+                   precision: 2, 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ラ暱搴︼紙鍗曚綅锛歮锛�', 
+              rules: [{required: true, message: '闀垮害锛堝崟浣嶏細m锛変笉鑳戒负绌�', trigger: 'blur' }], 
+                }, 
+                { 
+                   label: '鏄惁涓轰富鏀', 
+                   prop: 'isMainBranch', 
+                   el: 'select', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ユ槸鍚︿负涓绘敮绠�', 
+              rules: [{required: true, message: '鏄惁涓轰富鏀涓嶈兘涓虹┖', trigger: 'blur' }], 
+                }, 
+                { 
+                   label: '鐢熶骇宸ュ巶', 
+                   prop: 'factory', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ョ敓浜у伐鍘�', 
+                }, 
+                { 
+                   label: '璇佷功缂栧彿', 
+                   prop: 'certification', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ヨ瘉涔︾紪鍙�', 
+                }, 
+                { 
+                   label: '鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��', 
+                   prop: 'redundantField1', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ュ啑浣欏瓧娈�1 - 棰勭暀鎵╁睍鐢ㄩ��', 
+                }, 
+                { 
+                   label: '鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��', 
+                   prop: 'redundantField2', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ュ啑浣欏瓧娈�2 - 棰勭暀鎵╁睍鐢ㄩ��', 
+                }, 
+                { 
+                   label: '鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��', 
+                   prop: 'redundantField3', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ュ啑浣欏瓧娈�3 - 棰勭暀鎵╁睍鐢ㄩ��', 
+                }, 
+                { 
+                   label: '澶囨敞', 
+                   prop: 'remark', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ュ娉�', 
+                }, 
+                { 
+                   label: '鏄惁绂佺敤', 
+                   prop: 'isDisabled', 
+                   el: 'select', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ユ槸鍚︾鐢�', 
+                },  
+  ]) 
+  /** 
+   * 鏍¢獙鏄惁鏈夋暟鎹彉鍖� 
+   */ 
+  const checkIsEqualObject = () => { 
+    const data = { 
+      formData: formData.value, 
+    } 
+    const check = isEqual(initiateData.value, data) 
+    return check 
+  } 
+ 
+  const onClose = (done: () => void) => { 
+    if (visible.value) { 
+      if (checkIsEqualObject()) { 
+        visible.value = false 
+        done && done() 
+      } else { 
+        ConfirmBox('鏄惁淇濆瓨璁剧疆锛�') 
+          .then(() => { 
+            onConfirm() 
+          }) 
+          .catch(() => { 
+            visible.value = false 
+            done && done() 
+          }) 
+      } 
+    } 
+  } 
+  /** 
+   * 淇濆瓨 
+   */ 
+  const onConfirm = async () => { 
+    await formRef.value?.validate() 
+    const data = { 
+      materialCode: formData.value.materialCode, 
+materialName: formData.value.materialName, 
+purchaseType: formData.value.purchaseType, 
+materialType: formData.value.materialType, 
+primaryUnit: formData.value.primaryUnit, 
+standard: formData.value.standard, 
+outerDiameter: formData.value.outerDiameter, 
+wallThickness: formData.value.wallThickness, 
+materialQuality: formData.value.materialQuality, 
+length: formData.value.length, 
+isMainBranch: formData.value.isMainBranch, 
+factory: formData.value.factory, 
+certification: formData.value.certification, 
+redundantField1: formData.value.redundantField1, 
+redundantField2: formData.value.redundantField2, 
+redundantField3: formData.value.redundantField3, 
+remark: formData.value.remark, 
+isDisabled: formData.value.isDisabled,  
+    } 
+    if (!current.value) { 
+      await wmsMaterialDrawer.addWmsMaterial(data) 
+    } else { 
+      const id = current.value.id 
+      await wmsMaterialDrawer.updateWmsMaterial(id, data) 
+    } 
+    ElMessage.success('淇濆瓨鎴愬姛') 
+    ctx.emit('confirm') 
+  } 
+ 
+  const updateCheckData = () => { 
+    initiateData.value = { 
+      formData: { 
+        ...formData.value, 
+      }, 
+    } 
+  } 
+  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 commonQueryEnumForFrom = async () => { 
+    const purchaseTypeEnumEnum = await wmsMaterialDrawer.getWmsEnumData({ 
+ EnumName: 'PurchaseTypeEnum', 
+}) 
+updateFormItemOptions('purchaseType', purchaseTypeEnumEnum) 
+const materialTypeEnumEnum = await wmsMaterialDrawer.getWmsEnumData({ 
+ EnumName: 'MaterialTypeEnum', 
+}) 
+updateFormItemOptions('materialType', materialTypeEnumEnum) 
+const yesNoEnumEnum = await wmsMaterialDrawer.getWmsEnumData({ 
+ EnumName: 'YesNoEnum', 
+}) 
+updateFormItemOptions('isMainBranch', yesNoEnumEnum) 
+ 
+  } 
+  commonQueryEnumForFrom() 
+  /** 
+   * 寮圭獥鎵撳紑鑾峰彇璇︽儏 
+   */ 
+  const onOpen = async () => { 
+    if (current.value) { 
+      const res = await wmsMaterialDrawer.getWmsMaterialDetail(current.value) 
+ 
+      formData.value = { 
+        materialCode: res.materialCode, 
+materialName: res.materialName, 
+purchaseType: res.purchaseType, 
+materialType: res.materialType, 
+primaryUnit: res.primaryUnit, 
+standard: res.standard, 
+outerDiameter: res.outerDiameter, 
+wallThickness: res.wallThickness, 
+materialQuality: res.materialQuality, 
+length: res.length, 
+isMainBranch: res.isMainBranch, 
+factory: res.factory, 
+certification: res.certification, 
+redundantField1: res.redundantField1, 
+redundantField2: res.redundantField2, 
+redundantField3: res.redundantField3, 
+remark: res.remark, 
+isDisabled: res.isDisabled,  
+        id: res.id, 
+      } 
+      disabled.value = true 
+      updateCheckData() 
+    } else { 
+      formData.value = {} 
+ 
+      disabled.value = false 
+      updateCheckData() 
+    } 
+  } 
+ 
+  watch(() => current.value, onOpen) 
+ 
+  return { 
+    formItems, 
+    formData, 
+    visible, 
+    formRef, 
+    onOpen, 
+    onClose, 
+    onConfirm, 
+  } 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/WmsMaterialQueryDrawer.tsx" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/WmsMaterialQueryDrawer.tsx"
index 8d9a9bd..4215656 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/WmsMaterialQueryDrawer.tsx"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/WmsMaterialQueryDrawer.tsx"
@@ -1,296 +1,366 @@
-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'
-import isEqual from 'lodash/isEqual'
-import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox'
-import { cloneDeep } from 'lodash'
-
-export const useWmsMaterialQueryDrawer = (props: any, ctx?: any) => {
-  const wmsMaterialDrawer = injectModel<WmsMaterialDrawer>('WmsMaterialDrawer')
-  /**
-   * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁
-   */
-  const initiateData: Ref<Record<string, any>> = ref({})
-  const formData = ref<Record<string, any>>({})
-  // 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
-    },
-    set(val) {
-      ctx.emit('update:modelValue', val)
-    },
-  })
-  /**
-   * 娣诲姞鐨刦orm瀛楁
-   */
-  const formItems = reactive([
-    {
-      label: '鐗╂枡缂栫爜',
-      prop: 'materialCode',
-      el: 'input',
-      disabled: disabled,
-      placeholder: '璇疯緭鍏ョ墿鏂欑紪鐮�',
-    },
-    {
-      label: '鐗╂枡鍚嶇О',
-      prop: 'materialName',
-      el: 'input',
-      placeholder: '璇疯緭鍏ョ墿鏂欏悕绉�',
-    },
-    {
-      label: '閲囪喘绫诲瀷',
-      prop: 'purchaseType',
-      el: 'select',
-      placeholder: '璇烽�夋嫨閲囪喘绫诲瀷',
-      options: [],
-    },
-    {
-      label: '鐗╂枡绫诲瀷',
-      prop: 'materialType',
-      el: 'select',
-      placeholder: '璇烽�夋嫨鐗╂枡绫诲瀷',
-      options: [],
-    },
-    {
-      label: '涓诲崟浣�',
-      prop: 'primaryUnit',
-      el: 'input',
-      placeholder: '璇疯緭鍏ヤ富鍗曚綅(濡�: kg, m, 涓�)',
-    },
-    {
-      label: '瑙勬牸/鏍囧噯',
-      prop: 'standard',
-      el: 'input',
-      placeholder: '璇疯緭鍏ヨ鏍�/鏍囧噯(濡�: GB/T 8163-2018)',
-    },
-    {
-      label: '澶栧緞(mm)',
-      prop: 'outerDiameter',
-      el: (props: any, { attrs }: SetupContext) => {
-        return h(inputNumber, {
-          ...props,
-          clearable: true,
-          ...attrs,
-        })
-      },
-      width: '100%',
-      placeholder: '璇疯緭鍏ュ寰�',
-      step: 0.01,
-      precision: 2,
-    },
-    {
-      label: '澹佸帤(mm)',
-      prop: 'wallThickness',
-      el: (props: any, { attrs }: SetupContext) => {
-        return h(inputNumber, {
-          ...props,
-          clearable: true,
-          ...attrs,
-        })
-      },
-      width: '100%',
-      placeholder: '璇疯緭鍏ュ鍘�',
-      step: 0.01,
-      precision: 2,
-    },
-    {
-      label: '鏉愯川',
-      prop: 'materialQuality',
-      el: 'input',
-      placeholder: '璇疯緭鍏ユ潗璐�(濡�: 304涓嶉攬閽�)',
-    },
-    {
-      label: '闀垮害(m)',
-      prop: 'length',
-      el: (props: any, { attrs }: SetupContext) => {
-        return h(inputNumber, {
-          ...props,
-          clearable: true,
-          ...attrs,
-        })
-      },
-      width: '100%',
-      placeholder: '璇疯緭鍏ラ暱搴�',
-      step: 0.1,
-      precision: 2,
-    },
-    {
-      label: '鏄惁涓绘敮绠�',
-      prop: 'isMainBranch',
-      el: 'select',
-      options: [],
-    },
-    {
-      label: '鐢熶骇宸ュ巶',
-      prop: 'factory',
-      el: 'input',
-      placeholder: '璇疯緭鍏ョ敓浜у伐鍘�',
-    },
-    {
-      label: '璇佷功缂栧彿',
-      prop: 'certification',
-      el: 'input',
-      placeholder: '璇疯緭鍏ヨ瘉涔︾紪鍙�',
-    },
-    {
-      label: '澶囨敞',
-      prop: 'remark',
-      el: 'input',
-      type: 'textarea',
-      placeholder: '璇疯緭鍏ュ娉�',
-    },
-  ])
-  /**
-   * 鏍¢獙鏄惁鏈夋暟鎹彉鍖�
-   */
-  const checkIsEqualObject = () => {
-    const data = {
-      formData: formData.value,
-    }
-    const check = isEqual(initiateData.value, data)
-    return check
-  }
-  const commonGetFormData=()=>{
-    const data = {
-      materialCode: formData.value.materialCode,
-      materialName: formData.value.materialName,
-      purchaseType: formData.value.purchaseType,
-      materialType: formData.value.materialType,
-      primaryUnit: formData.value.primaryUnit,
-      standard: formData.value.standard,
-      outerDiameter: formData.value.outerDiameter,
-      wallThickness: formData.value.wallThickness,
-      materialQuality: formData.value.materialQuality,
-      length: formData.value.length,
-      isMainBranch: formData.value.isMainBranch,
-      factory: formData.value.factory,
-      certification: formData.value.certification,
-      remark: formData.value.remark,
-    }
-    return data;
-  }
-  const onClose = (done: () => void) => {
-    if (visible.value) {
-      visible.value = false
-      const data =commonGetFormData();
-      ctx.emit('close', data)
-    }
-  }
-  /**
-   * 纭鏌ヨ
-   */
-  const onConfirmQuery = async () => {
-    const data =commonGetFormData();
-    ctx.emit('confirmQuery', data)
-  }
-  /**
-   * 閲嶇疆鏌ヨ
-   */
-  const onReset = async () => {
-    formData.value = {}
-    formData.value.materialCode = ''
-    formData.value.materialName = ''
-    formData.value.purchaseType = ''
-    formData.value.materialType = ''
-    formData.value.primaryUnit = ''
-    formData.value.standard = ''
-    formData.value.outerDiameter = ''
-    formData.value.wallThickness = ''
-    formData.value.materialQuality = ''
-    formData.value.length = ''
-    formData.value.isMainBranch = ''
-    formData.value.factory = ''
-    formData.value.certification = ''
-    formData.value.remark = ''
-    //鍚戠埗缁勪欢鍙戦�佽嚜瀹氫箟浜嬩欢
-    ctx.emit('restQuery');
-  }
-
-  const updateCheckData = () => {
-    initiateData.value = {
-      formData: {
-        ...formData.value,
-      },
-    }
-  }
-  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 commonQueryEnumForFrom = 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)
-  }
-  commonQueryEnumForFrom()
-  /**
-   * 寮圭獥鎵撳紑鑾峰彇璇︽儏
-   */
-  const onOpen = async () => {
-    disabled.value = false
-    updateCheckData()
-  }
-
-  watch(() => current.value, onOpen)
-
-  return {
-    formItems,
-    formData,
-    visible,
-    formRef,
-    onOpen,
-    onClose,
-    onConfirmQuery,
-    onReset,
-  }
-}
+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' 
+import isEqual from 'lodash/isEqual' 
+import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox' 
+import { cloneDeep } from 'lodash' 
+ 
+export const useWmsMaterialQueryDrawer = (props: any, ctx?: any) => { 
+  const wmsMaterialDrawer = injectModel<WmsMaterialDrawer>('WmsMaterialDrawer') 
+  /** 
+   * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁 
+   */ 
+  const initiateData: Ref<Record<string, any>> = ref({}) 
+  const formData = ref<Record<string, any>>({}) 
+  // 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 
+    }, 
+    set(val) { 
+      ctx.emit('update:modelValue', val) 
+    }, 
+  }) 
+  /** 
+   * 娣诲姞鐨刦orm瀛楁 
+   */ 
+  const formItems = reactive([ 
+                    { 
+                   label: '鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�', 
+                   prop: 'materialCode', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ョ墿鏂欑紪鐮侊紙鍞竴鏍囪瘑锛�', 
+                }, 
+                { 
+                   label: '鐗╂枡鍚嶇О', 
+                   prop: 'materialName', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ョ墿鏂欏悕绉�', 
+                }, 
+                { 
+                   label: '閲囪喘绫诲瀷锛堟灇涓惧�硷級', 
+                   prop: 'purchaseType', 
+                   el: 'select', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ラ噰璐被鍨嬶紙鏋氫妇鍊硷級', 
+                }, 
+                { 
+                   label: '鐗╂枡绫诲瀷锛堟灇涓惧�硷級', 
+                   prop: 'materialType', 
+                   el: 'select', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ョ墿鏂欑被鍨嬶紙鏋氫妇鍊硷級', 
+                }, 
+                { 
+                   label: '涓诲崟浣嶏紙濡傦細kg銆乵銆佷釜锛�', 
+                   prop: 'primaryUnit', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ヤ富鍗曚綅锛堝锛歬g銆乵銆佷釜锛�', 
+                }, 
+                { 
+                   label: '瑙勬牸/鏍囧噯锛堝锛欸B/T 8163-2018锛�', 
+                   prop: 'standard', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ヨ鏍�/鏍囧噯锛堝锛欸B/T 8163-2018锛�', 
+                }, 
+                { 
+                   label: '澶栧緞锛堝崟浣嶏細mm锛�', 
+                   prop: 'outerDiameter', 
+                   el: (props: any, { attrs }: SetupContext) => { 
+                     return h(inputNumber, {  
+                       ...props,
+                       clearable: true, 
+                       ...attrs,  
+                     })  
+                   },
+                   step: 0.01,
+                   precision: 2, 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ュ寰勶紙鍗曚綅锛歮m锛�', 
+                }, 
+                { 
+                   label: '澹佸帤锛堝崟浣嶏細mm锛�', 
+                   prop: 'wallThickness', 
+                   el: (props: any, { attrs }: SetupContext) => { 
+                     return h(inputNumber, {  
+                       ...props,
+                       clearable: true, 
+                       ...attrs,  
+                     })  
+                   },
+                   step: 0.01,
+                   precision: 2, 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ュ鍘氾紙鍗曚綅锛歮m锛�', 
+                }, 
+                { 
+                   label: '鏉愯川锛堝锛�304涓嶉攬閽級', 
+                   prop: 'materialQuality', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ユ潗璐紙濡傦細304涓嶉攬閽級', 
+                }, 
+                { 
+                   label: '闀垮害锛堝崟浣嶏細m锛�', 
+                   prop: 'length', 
+                   el: (props: any, { attrs }: SetupContext) => { 
+                     return h(inputNumber, {  
+                       ...props,
+                       clearable: true, 
+                       ...attrs,  
+                     })  
+                   },
+                   step: 0.01,
+                   precision: 2, 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ラ暱搴︼紙鍗曚綅锛歮锛�', 
+                }, 
+                { 
+                   label: '鏄惁涓轰富鏀', 
+                   prop: 'isMainBranch', 
+                   el: 'select', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ユ槸鍚︿负涓绘敮绠�', 
+                }, 
+                { 
+                   label: '鐢熶骇宸ュ巶', 
+                   prop: 'factory', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ョ敓浜у伐鍘�', 
+                }, 
+                { 
+                   label: '璇佷功缂栧彿', 
+                   prop: 'certification', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ヨ瘉涔︾紪鍙�', 
+                }, 
+                { 
+                   label: '鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��', 
+                   prop: 'redundantField1', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ュ啑浣欏瓧娈�1 - 棰勭暀鎵╁睍鐢ㄩ��', 
+                }, 
+                { 
+                   label: '鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��', 
+                   prop: 'redundantField2', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ュ啑浣欏瓧娈�2 - 棰勭暀鎵╁睍鐢ㄩ��', 
+                }, 
+                { 
+                   label: '鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��', 
+                   prop: 'redundantField3', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ュ啑浣欏瓧娈�3 - 棰勭暀鎵╁睍鐢ㄩ��', 
+                }, 
+                { 
+                   label: '澶囨敞', 
+                   prop: 'remark', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ュ娉�', 
+                }, 
+                { 
+                   label: '鏄惁绂佺敤', 
+                   prop: 'isDisabled', 
+                   el: 'select', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ユ槸鍚︾鐢�', 
+                },  
+  ]) 
+  /** 
+   * 鏍¢獙鏄惁鏈夋暟鎹彉鍖� 
+   */ 
+  const checkIsEqualObject = () => { 
+    const data = { 
+      formData: formData.value, 
+    } 
+    const check = isEqual(initiateData.value, data) 
+    return check 
+  } 
+  const commonGetFormData=()=>{ 
+    const data = { 
+      MaterialCode: formData.value.MaterialCode, 
+MaterialName: formData.value.MaterialName, 
+PurchaseType: formData.value.PurchaseType, 
+MaterialType: formData.value.MaterialType, 
+PrimaryUnit: formData.value.PrimaryUnit, 
+Standard: formData.value.Standard, 
+OuterDiameter: formData.value.OuterDiameter, 
+WallThickness: formData.value.WallThickness, 
+MaterialQuality: formData.value.MaterialQuality, 
+Length: formData.value.Length, 
+IsMainBranch: formData.value.IsMainBranch, 
+Factory: formData.value.Factory, 
+Certification: formData.value.Certification, 
+RedundantField1: formData.value.RedundantField1, 
+RedundantField2: formData.value.RedundantField2, 
+RedundantField3: formData.value.RedundantField3, 
+Remark: formData.value.Remark, 
+IsDisabled: formData.value.IsDisabled,  
+      materialCode: formData.value.materialCode, 
+      materialName: formData.value.materialName, 
+      purchaseType: formData.value.purchaseType, 
+      materialType: formData.value.materialType, 
+      primaryUnit: formData.value.primaryUnit, 
+      standard: formData.value.standard, 
+      outerDiameter: formData.value.outerDiameter, 
+      wallThickness: formData.value.wallThickness, 
+      materialQuality: formData.value.materialQuality, 
+      length: formData.value.length, 
+      isMainBranch: formData.value.isMainBranch, 
+      factory: formData.value.factory, 
+      certification: formData.value.certification, 
+      remark: formData.value.remark, 
+    } 
+    return data; 
+  } 
+  const onClose = (done: () => void) => { 
+    if (visible.value) { 
+      visible.value = false 
+      const data =commonGetFormData(); 
+      ctx.emit('close', data) 
+    } 
+  } 
+  /** 
+   * 纭鏌ヨ 
+   */ 
+  const onConfirmQuery = async () => { 
+    const data =commonGetFormData(); 
+    ctx.emit('confirmQuery', data) 
+  } 
+  /** 
+   * 閲嶇疆鏌ヨ 
+   */ 
+  const onReset = async () => { 
+    formData.value = {} 
+    formData.value.MaterialCode = '' 
+formData.value.MaterialName = '' 
+formData.value.PurchaseType = '' 
+formData.value.MaterialType = '' 
+formData.value.PrimaryUnit = '' 
+formData.value.Standard = '' 
+formData.value.OuterDiameter = '' 
+formData.value.WallThickness = '' 
+formData.value.MaterialQuality = '' 
+formData.value.Length = '' 
+formData.value.IsMainBranch = '' 
+formData.value.Factory = '' 
+formData.value.Certification = '' 
+formData.value.RedundantField1 = '' 
+formData.value.RedundantField2 = '' 
+formData.value.RedundantField3 = '' 
+formData.value.Remark = '' 
+formData.value.IsDisabled = ''  
+    formData.value.materialCode = '' 
+    formData.value.materialName = '' 
+    formData.value.purchaseType = '' 
+    formData.value.materialType = '' 
+    formData.value.primaryUnit = '' 
+    formData.value.standard = '' 
+    formData.value.outerDiameter = '' 
+    formData.value.wallThickness = '' 
+    formData.value.materialQuality = '' 
+    formData.value.length = '' 
+    formData.value.isMainBranch = '' 
+    formData.value.factory = '' 
+    formData.value.certification = '' 
+    formData.value.remark = '' 
+    //鍚戠埗缁勪欢鍙戦�佽嚜瀹氫箟浜嬩欢 
+    ctx.emit('restQuery'); 
+  } 
+ 
+  const updateCheckData = () => { 
+    initiateData.value = { 
+      formData: { 
+        ...formData.value, 
+      }, 
+    } 
+  } 
+  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 commonQueryEnumForFrom = async () => { 
+    const purchaseTypeEnumEnum = await wmsMaterialDrawer.getWmsEnumData({ 
+ EnumName: 'PurchaseTypeEnum', 
+}) 
+updateFormItemOptions('purchaseType', purchaseTypeEnumEnum) 
+const materialTypeEnumEnum = await wmsMaterialDrawer.getWmsEnumData({ 
+ EnumName: 'MaterialTypeEnum', 
+}) 
+updateFormItemOptions('materialType', materialTypeEnumEnum) 
+const yesNoEnumEnum = await wmsMaterialDrawer.getWmsEnumData({ 
+ EnumName: 'YesNoEnum', 
+}) 
+updateFormItemOptions('isMainBranch', yesNoEnumEnum) 
+ 
+  } 
+  commonQueryEnumForFrom() 
+  /** 
+   * 寮圭獥鎵撳紑鑾峰彇璇︽儏 
+   */ 
+  const onOpen = async () => { 
+    disabled.value = false 
+    updateCheckData() 
+  } 
+ 
+  watch(() => current.value, onOpen) 
+ 
+  return { 
+    formItems, 
+    formData, 
+    visible, 
+    formRef, 
+    onOpen, 
+    onClose, 
+    onConfirmQuery, 
+    onReset, 
+  } 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Models/Service/WmsMaterial.ts" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Models/Service/WmsMaterial.ts"
index 280ea76..ee101f4 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Models/Service/WmsMaterial.ts"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Models/Service/WmsMaterial.ts"
@@ -1,30 +1,30 @@
-import { Base } from '@/libs/Base/Base'
-const request = Base.request
-
-/**
- * 娣诲姞
- * @returns
- */
-export const addWmsMaterial = (data: any) => {
-  return request.post('/api/v1/hIAWms/wmsMaterial', data)
-}
-
-/**
- * 鎵归噺鍒犻櫎
- * @returns
- */
-export const deleteWmsMaterials = (ids: string[]) => {
-  return request({
-    data: ids,
-    url: '/api/v1/hIAWms/wmsMaterial',
-    method: 'delete',
-  })
-}
-
-/**
- * 鍏嬮殕
- * @returns
- */
-export const cloneData = (data: any) => {
-  return request.post('/api/v1/hIAWms/wmsMaterial/clone', data)
-}
+import { Base } from '@/libs/Base/Base' 
+const request = Base.request 
+ 
+/** 
+ * 娣诲姞 
+ * @returns 
+ */ 
+export const addWmsMaterial = (data: any) => { 
+  return request.post('/api/v1/HIAWms/wmsMaterial', data) 
+} 
+ 
+/** 
+ * 鎵归噺鍒犻櫎 
+ * @returns 
+ */ 
+export const deleteWmsMaterials = (ids: string[]) => { 
+  return request({ 
+    data: ids, 
+    url: '/api/v1/HIAWms/wmsMaterial', 
+    method: 'delete', 
+  }) 
+} 
+ 
+/** 
+ * 鍏嬮殕 
+ * @returns 
+ */ 
+export const cloneData = (data: any) => { 
+  return request.post('/api/v1/HIAWms/wmsMaterial/clone', data) 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Models/Service/WmsMaterialDrawer.ts" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Models/Service/WmsMaterialDrawer.ts"
index 3d1d318..61e3dec 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Models/Service/WmsMaterialDrawer.ts"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Models/Service/WmsMaterialDrawer.ts"
@@ -1,58 +1,34 @@
-import { Base } from '@/libs/Base/Base'
-const request = Base.request
-
-/**
- * 娣诲姞
- * @returns
- */
-export const addWmsMaterial = (data: any) => {
-  return request.post('/api/v1/hIAWms/wmsMaterial', data)
-}
-
-/**
- * 鑾峰彇璇︽儏
- * @returns
- */
-export const getWmsMaterial = (id: string) => {
-  return request.get(`/api/v1/hIAWms/wmsMaterial/${id}`)
-}
-
-/**
- * 鏇存柊
- * @returns
- */
-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)
-}
-
-// /**
-//  * 鑾峰彇鐗╂枡鍩虹鍒楄〃
-//  * @returns
-//  */
-// export const getWmsDataList = (data: any) => {
-//   return request.post('/api/v1/hIAWms/wmsmaterial/page', data)
-// }
-
-/**
- * 鑾峰彇浠撳簱鍒楄〃
- * @returns
- */
-export const getStoreDataList = () => {
-  return request.get('/api/v1/hIAWms/WmsEnum/StoreList')
-}
-
-/**
- * 鑾峰彇搴撳尯鍒楄〃
- * @returns
- */
-export const getAreaAreaDataList = () => {
-  return request.get('/api/v1/hIAWms/WmsEnum/AreaList')
-}
+import { Base } from '@/libs/Base/Base' 
+const request = Base.request 
+ 
+/** 
+ * 娣诲姞 
+ * @returns 
+ */ 
+export const addWmsMaterial = (data: any) => { 
+  return request.post('/api/v1/HIAWms/wmsMaterial', data) 
+} 
+ 
+/** 
+ * 鑾峰彇璇︽儏 
+ * @returns 
+ */ 
+export const getWmsMaterial = (id: string) => { 
+  return request.get(`/api/v1/HIAWms/wmsMaterial/${id}`) 
+} 
+ 
+/** 
+ * 鏇存柊 
+ * @returns 
+ */ 
+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/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Models/Service/WmsMaterialQueryDrawer.ts" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Models/Service/WmsMaterialQueryDrawer.ts"
index a31f0fa..b88dd84 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Models/Service/WmsMaterialQueryDrawer.ts"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Models/Service/WmsMaterialQueryDrawer.ts"
@@ -1,58 +1,35 @@
-import { Base } from '@/libs/Base/Base'
-const request = Base.request
-
-/**
- * 娣诲姞
- * @returns
- */
-export const addWmsMaterial = (data: any) => {
-  return request.post('/api/v1/hIAWms/wmsMaterial', data)
-}
-
-/**
- * 鑾峰彇璇︽儏
- * @returns
- */
-export const getWmsMaterial = (id: string) => {
-  return request.get(`/api/v1/hIAWms/wmsMaterial/${id}`)
-}
-
-/**
- * 鏇存柊
- * @returns
- */
-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)
-}
-
-/**
- * 鑾峰彇鐗╂枡鍩虹鍒楄〃
- * @returns
- */
-export const getWmsDataList = (data: any) => {
-  return request.post('/api/v1/hIAWms/wmsmaterial/page', data)
-}
-
-/**
- * 鑾峰彇浠撳簱鍒楄〃
- * @returns
- */
-export const getStoreDataList = () => {
-  return request.get('/api/v1/hIAWms/WmsEnum/StoreList')
-}
-
-/**
- * 鑾峰彇搴撳尯鍒楄〃
- * @returns
- */
-export const getAreaAreaDataList = () => {
-  return request.get('/api/v1/hIAWms/WmsEnum/AreaList')
-}
+import { Base } from '@/libs/Base/Base' 
+const request = Base.request 
+ 
+/** 
+ * 娣诲姞 
+ * @returns 
+ */ 
+export const addWmsMaterial = (data: any) => { 
+  return request.post('/api/v1/HIAWms/wmsMaterial', data) 
+} 
+ 
+/** 
+ * 鑾峰彇璇︽儏 
+ * @returns 
+ */ 
+export const getWmsMaterial = (id: string) => { 
+  return request.get(`/api/v1/HIAWms/wmsMaterial/${id}`) 
+} 
+ 
+/** 
+ * 鏇存柊 
+ * @returns 
+ */ 
+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/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Models/WmsMaterial.ts" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Models/WmsMaterial.ts"
index be93eca..faa9d62 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Models/WmsMaterial.ts"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Models/WmsMaterial.ts"
@@ -1,41 +1,41 @@
-import { Base } from '@/libs/Base/Base'
-import {
-  deleteWmsMaterials,
-  addWmsMaterial,
-  cloneData,
-} from './Service/WmsMaterial'
-
-export class WmsMaterial extends Base<{ [key: string]: any }> {
-  constructor() {
-    super({
-      data: [],
-    })
-  }
-  onMounted() {}
-  /**
-   * 鍒犻櫎
-   * @param id
-   * @returns
-   */
-  async deleteWmsMaterials(ids: string[]) {
-    return deleteWmsMaterials(ids)
-  }
-
-  /**
-   * 娣诲姞鏁版嵁
-   * @param data
-   * @returns
-   */
-  addWmsMaterial(data: Record<string, any>) {
-    return addWmsMaterial(data)
-  }
-
-  /**
-   * 鍏嬮殕
-   * @param ids
-   * @returns
-   */
-  cloneData(ids: string[]) {
-    return cloneData(ids)
-  }
-}
+import { Base } from '@/libs/Base/Base' 
+import { 
+  deleteWmsMaterials, 
+  addWmsMaterial, 
+  cloneData, 
+} from './Service/WmsMaterial' 
+ 
+export class WmsMaterial extends Base<{ [key: string]: any }> { 
+  constructor() { 
+    super({ 
+      data: [], 
+    }) 
+  } 
+  onMounted() {} 
+  /** 
+   * 鍒犻櫎 
+   * @param id 
+   * @returns 
+   */ 
+  async deleteWmsMaterials(ids: string[]) { 
+    return deleteWmsMaterials(ids) 
+  } 
+ 
+  /** 
+   * 娣诲姞鏁版嵁 
+   * @param data 
+   * @returns 
+   */ 
+  addWmsMaterial(data: Record<string, any>) { 
+    return addWmsMaterial(data) 
+  } 
+ 
+  /** 
+   * 鍏嬮殕 
+   * @param ids 
+   * @returns 
+   */ 
+  cloneData(ids: string[]) { 
+    return cloneData(ids) 
+  } 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Models/WmsMaterialDrawer.ts" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Models/WmsMaterialDrawer.ts"
index 4194408..2129a69 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Models/WmsMaterialDrawer.ts"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Models/WmsMaterialDrawer.ts"
@@ -1,44 +1,44 @@
-import { Base } from '@/libs/Base/Base'
-import {
-  addWmsMaterial,
-  getWmsMaterial,
-  updateWmsMaterial,
-  getWmsEnumData,
-} from './Service/WmsMaterialDrawer'
-import { useGlobalState } from '@/libs/Store/Store'
-
-export class WmsMaterialDrawer extends Base<{ [key: string]: any }> {
-  constructor() {
-    super({
-      data: [],
-      wmsMaterial: {},
-    })
-  }
-
-  /**
-   * 娣诲姞
-   * @param data
-   */
-  async addWmsMaterial(data: Record<string, any>) {
-    return addWmsMaterial(data)
-  }
-  /**
-   * 鏇存柊
-   * @param data
-   */
-  async updateWmsMaterial(id: string, data: Record<string, any>) {
-    return updateWmsMaterial(id, data)
-  }
-
-  /**
-   * 鑾峰彇璇︽儏
-   */
-  async getWmsMaterialDetail(current: any, id?: string) {
-    return getWmsMaterial(id || current?.id)
-  }
-
-  //  鑾峰彇鏋氫妇鍊�
-  async getWmsEnumData(data: Record<string, any>) {
-    return getWmsEnumData(data)
-  }
-}
+import { Base } from '@/libs/Base/Base' 
+import { 
+  addWmsMaterial, 
+  getWmsMaterial, 
+  updateWmsMaterial, 
+  getWmsEnumData, 
+} from './Service/WmsMaterialDrawer' 
+import { useGlobalState } from '@/libs/Store/Store' 
+ 
+export class WmsMaterialDrawer extends Base<{ [key: string]: any }> { 
+  constructor() { 
+    super({ 
+      data: [], 
+      wmsMaterial: {}, 
+    }) 
+  } 
+ 
+  /** 
+   * 娣诲姞 
+   * @param data 
+   */ 
+  async addWmsMaterial(data: Record<string, any>) { 
+    return addWmsMaterial(data) 
+  } 
+  /** 
+   * 鏇存柊 
+   * @param data 
+   */ 
+  async updateWmsMaterial(id: string, data: Record<string, any>) { 
+    return updateWmsMaterial(id, data) 
+  } 
+ 
+  /** 
+   * 鑾峰彇璇︽儏 
+   */ 
+  async getWmsMaterialDetail(current: any, id?: string) { 
+    return getWmsMaterial(id || current?.id) 
+  } 
+ 
+  //  鑾峰彇鏋氫妇鍊� 
+  async getWmsEnumData(data: Record<string, any>) { 
+    return getWmsEnumData(data) 
+  } 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Models/WmsMaterialQueryDrawer.ts" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Models/WmsMaterialQueryDrawer.ts"
index 9818421..ca0ed17 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Models/WmsMaterialQueryDrawer.ts"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Models/WmsMaterialQueryDrawer.ts"
@@ -1,44 +1,44 @@
-import { Base } from '@/libs/Base/Base'
-import {
-  addWmsMaterial,
-  getWmsMaterial,
-  updateWmsMaterial,
-  getWmsEnumData,
-} from './Service/WmsMaterialQueryDrawer'
-import { useGlobalState } from '@/libs/Store/Store'
-
-export class WmsMaterialQueryDrawer extends Base<{ [key: string]: any }> {
-  constructor() {
-    super({
-      data: [],
-      wmsMaterial: {},
-    })
-  }
-
-  /**
-   * 娣诲姞
-   * @param data
-   */
-  async addWmsMaterial(data: Record<string, any>) {
-    return addWmsMaterial(data)
-  }
-  /**
-   * 鏇存柊
-   * @param data
-   */
-  async updateWmsMaterial(id: string, data: Record<string, any>) {
-    return updateWmsMaterial(id, data)
-  }
-
-  /**
-   * 鑾峰彇璇︽儏
-   */
-  async getWmsMaterialDetail(current: any, id?: string) {
-    return getWmsMaterial(id || current?.id)
-  }
-
-  //  鑾峰彇鏋氫妇鍊�
-  async getWmsEnumData(data: Record<string, any>) {
-    return getWmsEnumData(data)
-  }
-}
+import { Base } from '@/libs/Base/Base' 
+import { 
+  addWmsMaterial, 
+  getWmsMaterial, 
+  updateWmsMaterial, 
+  getWmsEnumData, 
+} from './Service/WmsMaterialQueryDrawer' 
+import { useGlobalState } from '@/libs/Store/Store' 
+ 
+export class WmsMaterialQueryDrawer extends Base<{ [key: string]: any }> { 
+  constructor() { 
+    super({ 
+      data: [], 
+      wmsMaterial: {}, 
+    }) 
+  } 
+ 
+  /** 
+   * 娣诲姞 
+   * @param data 
+   */ 
+  async addWmsMaterial(data: Record<string, any>) { 
+    return addWmsMaterial(data) 
+  } 
+  /** 
+   * 鏇存柊 
+   * @param data 
+   */ 
+  async updateWmsMaterial(id: string, data: Record<string, any>) { 
+    return updateWmsMaterial(id, data) 
+  } 
+ 
+  /** 
+   * 鑾峰彇璇︽儏 
+   */ 
+  async getWmsMaterialDetail(current: any, id?: string) { 
+    return getWmsMaterial(id || current?.id) 
+  } 
+ 
+  //  鑾峰彇鏋氫妇鍊� 
+  async getWmsEnumData(data: Record<string, any>) { 
+    return getWmsEnumData(data) 
+  } 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/HIAWms.module.scss" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/HIAWms.module.scss"
index 9c17b51..82be026 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/HIAWms.module.scss"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/HIAWms.module.scss"
@@ -1,7 +1,7 @@
-.HIAWms {
-  background-color: #fff;
-  border-radius: 5px 5px 0 0;
-  width: 100%;
-  height: 100%;
-  border: 1px solid #dbdbdb;
-}
+.HIAWms { 
+  background-color: #fff; 
+  border-radius: 5px 5px 0 0; 
+  width: 100%; 
+  height: 100%; 
+  border: 1px solid #dbdbdb; 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/HIAWms.tsx" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/HIAWms.tsx"
index 7e8b462..b8b946b 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/HIAWms.tsx"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/HIAWms.tsx"
@@ -1,81 +1,80 @@
-import {
-  Component,
-  DefineComponent,
-  defineComponent,
-  markRaw,
-  ref,
-  SetupContext,
-  onMounted,
-} from 'vue'
-import styles from './HIAWms.module.scss'
-// import WmsContainer from './Pages/HIAWms/WmsContainer'
-import Tab from '@/components/Tab/Tab'
-import { useProvideModels } from '@/libs/Provider/app'
-import { usePermission } from '@/libs/Permission/Permission'
-import { permissionCodes } from '../enum'
-import { ModuleType, TabItem } from '../type/Type'
-import { getEntityNames } from '@/hooks/hook'
-import TabPane from '@/components/Tab/TabPane'
-
-const Models: ModuleType = import.meta.glob('./config/*.json', {
-  eager: true,
-})
-
-const entityNames = getEntityNames(Models)
-
-const nameToLabelMap = [{ name: 'WmsMaterial', label: '鐗╂枡鍩虹' }]
-
-export default defineComponent({
-  name: 'HIAWms',
-
-  setup(props, ctx: SetupContext) {
-    useProvideModels()
-    usePermission(props, permissionCodes)
-
-    const rf = ref<{
-      [key: string]: any
-    }>({})
-
-    const tabData = ref<TabItem[]>([])
-
-    const onTabChange = (v: string) => {
-      rf.value?.[v]?.reloadList()
-    }
-
-    const initTableData = async () => {
-      for (const i in entityNames) {
-        const name = entityNames[i]
-        const module = await import(`./Pages/${name}/${name}.tsx`)
-        const WmsMaterial = markRaw(module.default)
-        const foundLabel =
-          nameToLabelMap.find((item) => item.name === name)?.label || name
-        tabData.value.push({
-          label: foundLabel,
-          name,
-          component: WmsMaterial,
-        })
-      }
-    }
-
-    initTableData()
-
-    return () => {
-      return (
-        <div class={styles.HIAWms}>
-          <Tab data={tabData.value} type="list" onTab={onTabChange}>
-            {tabData.value.map((widgetInfo) => {
-              const Widget: any = widgetInfo.component
-              return (
-                <TabPane label={widgetInfo.label} name={widgetInfo.name}>
-                  <Widget
-                    ref={(r: any) => (rf.value['WmsMaterial'] = r)}
-                  ></Widget>
-                </TabPane>
-              )
-            })}
-          </Tab>
-        </div>
-      )
-    }
-  },
-})
+import { 
+  Component, 
+  DefineComponent, 
+  defineComponent, 
+  markRaw, 
+  ref, 
+  SetupContext, 
+  onMounted, 
+} from 'vue' 
+import styles from './HIAWms.module.scss' 
+import Tab from '@/components/Tab/Tab' 
+import { useProvideModels } from '@/libs/Provider/app' 
+import { usePermission } from '@/libs/Permission/Permission' 
+import { permissionCodes } from '../enum' 
+import { ModuleType, TabItem } from '../type/Type' 
+import { getEntityNames } from '@/hooks/hook' 
+import TabPane from '@/components/Tab/TabPane' 
+ 
+const Models: ModuleType = import.meta.glob('./config/*.json', { 
+  eager: true, 
+}) 
+ 
+const entityNames = getEntityNames(Models) 
+ 
+const nameToLabelMap = [{ name: 'WmsMaterial', label: '鐗╂枡淇℃伅' }] 
+ 
+export default defineComponent({ 
+  name: 'HIAWms', 
+ 
+  setup(props, ctx: SetupContext) { 
+    useProvideModels() 
+    usePermission(props, permissionCodes) 
+ 
+    const rf = ref<{ 
+      [key: string]: any 
+    }>({}) 
+ 
+    const tabData = ref<TabItem[]>([]) 
+ 
+    const onTabChange = (v: string) => { 
+      rf.value?.[v]?.reloadList() 
+    } 
+ 
+    const initTableData = async () => { 
+      for (const i in entityNames) { 
+        const name = entityNames[i] 
+        const module = await import(`./Pages/${name}/${name}.tsx`) 
+        const WmsMaterial = markRaw(module.default) 
+        const foundLabel = 
+          nameToLabelMap.find((item) => item.name === name)?.label || name 
+        tabData.value.push({ 
+          label: foundLabel, 
+          name, 
+          component: WmsMaterial, 
+        }) 
+      } 
+    } 
+ 
+    initTableData() 
+ 
+    return () => { 
+      return ( 
+        <div class={styles.HIAWms}> 
+          <Tab data={tabData.value} type="list" onTab={onTabChange}> 
+            {tabData.value.map((widgetInfo) => { 
+              const Widget: any = widgetInfo.component 
+              return ( 
+                <TabPane label={widgetInfo.label} name={widgetInfo.name}> 
+                  <Widget 
+                    ref={(r: any) => (rf.value['WmsMaterial'] = r)} 
+                  ></Widget> 
+                </TabPane> 
+              ) 
+            })} 
+          </Tab> 
+        </div> 
+      ) 
+    } 
+  }, 
+}) 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialDrawer/WmsMaterialDrawer.module.scss" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialDrawer/WmsMaterialDrawer.module.scss"
index 98607dd..177adca 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialDrawer/WmsMaterialDrawer.module.scss"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialDrawer/WmsMaterialDrawer.module.scss"
@@ -1,3 +1,3 @@
-.drawer {
-  width: 800px;
-}
+.drawer { 
+  width: 800px; 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialDrawer/WmsMaterialDrawer.tsx" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialDrawer/WmsMaterialDrawer.tsx"
index 50ad20c..e24b256 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialDrawer/WmsMaterialDrawer.tsx"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialDrawer/WmsMaterialDrawer.tsx"
@@ -1,61 +1,61 @@
-import { SetupContext, defineComponent } from 'vue'
-import BaseDrawer from '@/components/BaseDrawer/BaseDrawer'
-import styles from './WmsMaterialDrawer.module.scss'
-import { useWmsMaterialDrawer } from '../../../../Controllers/WmsMaterialDrawer.tsx'
-import DyForm from '@/components/DyForm/DyForm'
-
-// @ts-ignore
-export default defineComponent<{
-  [key: string]: any
-}>({
-  name: '寮圭獥',
-  props: {
-    modelValue: {
-      type: Boolean,
-      default: false,
-    },
-    title: {
-      type: String,
-      default: '',
-    },
-    row: {
-      type: Object,
-    },
-    sort: {
-      type: Number,
-      default: 0,
-    },
-  },
-  emits: ['update:modelValue', 'close', 'submit', 'confirm'],
-  setup(props: Record<string, any>, ctx: SetupContext) {
-    const {
-      onClose,
-      onConfirm,
-      onOpen,
-      formRef,
-      visible,
-      formItems,
-      formData,
-    } = useWmsMaterialDrawer(props, ctx)
-    return () => (
-      <BaseDrawer
-        class={styles.drawer}
-        size="800px"
-        title={props.title || '娣诲姞'}
-        v-model={visible.value}
-        close-on-click-modal={true}
-        onConfirm={onConfirm}
-        onOpen={onOpen}
-        before-close={onClose}
-        onClose={onClose}
-      >
-        <DyForm
-          ref={formRef}
-          formData={formData.value}
-          labelWidth="106px"
-          formItemProps={formItems}
-        ></DyForm>
-      </BaseDrawer>
-    )
-  },
-})
+import { SetupContext, defineComponent } from 'vue' 
+import BaseDrawer from '@/components/BaseDrawer/BaseDrawer' 
+import styles from './WmsMaterialDrawer.module.scss' 
+import { useWmsMaterialDrawer } from '../../../../Controllers/WmsMaterialDrawer.tsx' 
+import DyForm from '@/components/DyForm/DyForm' 
+ 
+// @ts-ignore 
+export default defineComponent<{ 
+  [key: string]: any 
+}>({ 
+  name: '寮圭獥', 
+  props: { 
+    modelValue: { 
+      type: Boolean, 
+      default: false, 
+    }, 
+    title: { 
+      type: String, 
+      default: '', 
+    }, 
+    row: { 
+      type: Object, 
+    }, 
+    sort: { 
+      type: Number, 
+      default: 0, 
+    }, 
+  }, 
+  emits: ['update:modelValue', 'close', 'submit', 'confirm'], 
+  setup(props: Record<string, any>, ctx: SetupContext) { 
+    const { 
+      onClose, 
+      onConfirm, 
+      onOpen, 
+      formRef, 
+      visible, 
+      formItems, 
+      formData, 
+    } = useWmsMaterialDrawer(props, ctx) 
+    return () => ( 
+      <BaseDrawer 
+        class={styles.drawer} 
+        size="800px" 
+        title={props.title || '娣诲姞'} 
+        v-model={visible.value} 
+        close-on-click-modal={true} 
+        onConfirm={onConfirm} 
+        onOpen={onOpen} 
+        before-close={onClose} 
+        onClose={onClose} 
+      > 
+        <DyForm 
+          ref={formRef} 
+          formData={formData.value} 
+          labelWidth="106px" 
+          formItemProps={formItems} 
+        ></DyForm> 
+      </BaseDrawer> 
+    ) 
+  }, 
+}) 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.module.scss" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.module.scss"
index 98607dd..177adca 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.module.scss"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.module.scss"
@@ -1,3 +1,3 @@
-.drawer {
-  width: 800px;
-}
+.drawer { 
+  width: 800px; 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.tsx" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.tsx"
index 1b080df..df1e463 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.tsx"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.tsx"
@@ -1,71 +1,71 @@
-/*
- * 鐗╂枡鍩虹淇℃伅鏌ヨ寮瑰嚭妗�
-*/
-import { SetupContext, defineComponent } from 'vue'
-import BaseQueryDrawer from '@/components/BaseQueryDrawer/BaseQueryDrawer'
-import styles from './WmsMaterialQueryDrawer.module.scss'
-import { useWmsMaterialQueryDrawer } from '../../../../Controllers/WmsMaterialQueryDrawer.tsx'
-import DyForm from '@/components/DyForm/DyForm'
-
-// @ts-ignore
-export default defineComponent<{
-  [key: string]: any
-}>({
-  name: '寮圭獥',
-  props: {
-    //鏋氫妇绫诲瀷瀛楀吀
-    enumListDict:{
-      type: Array as () => Array<{ key: string; value: object }>, // 瀹氫箟鏁扮粍鍏冪礌绫诲瀷
-      default: () => [] // 榛樿鍊�
-    },
-    modelValue: {
-      type: Boolean,
-      default: false,
-    },
-    title: {
-      type: String,
-      default: '',
-    },
-    row: {
-      type: Object,
-    },
-    sort: {
-      type: Number,
-      default: 0,
-    },
-  },
-  emits: ['update:modelValue', 'close', 'submit', 'confirmquery1'],
-  setup(props: Record<string, any>, ctx: SetupContext) {
-    const {
-      onClose,
-      onConfirmQuery,
-      onOpen,
-      onReset,
-      formRef,
-      visible,
-      formItems,
-      formData,
-    } = useWmsMaterialQueryDrawer(props, ctx)
-    return () => (
-      <BaseQueryDrawer
-        class={styles.drawer}
-        size="800px"
-        title={props.title || '楂樼骇鏌ヨ'}
-        v-model={visible.value}
-        close-on-click-modal={true}
-        onReset={onReset}
-        onConfirmQueryForBase={onConfirmQuery}
-        onOpen={onOpen}
-        before-close={onClose}
-        onClose={onClose}
-      >
-        <DyForm
-          ref={formRef}
-          formData={formData.value}
-          labelWidth="106px"
-          formItemProps={formItems}
-        ></DyForm>
-      </BaseQueryDrawer>
-    )
-  },
-})
+/* 
+ * 鐗╂枡鍩虹淇℃伅鏌ヨ寮瑰嚭妗� 
+*/ 
+import { SetupContext, defineComponent } from 'vue' 
+import BaseQueryDrawer from '@/components/BaseQueryDrawer/BaseQueryDrawer' 
+import styles from './WmsMaterialQueryDrawer.module.scss' 
+import { useWmsMaterialQueryDrawer } from '../../../../Controllers/WmsMaterialQueryDrawer.tsx' 
+import DyForm from '@/components/DyForm/DyForm' 
+ 
+// @ts-ignore 
+export default defineComponent<{ 
+  [key: string]: any 
+}>({ 
+  name: '寮圭獥', 
+  props: { 
+    //鏋氫妇绫诲瀷瀛楀吀 
+    enumListDict:{ 
+      type: Array as () => Array<{ key: string; value: object }>, // 瀹氫箟鏁扮粍鍏冪礌绫诲瀷 
+      default: () => [] // 榛樿鍊� 
+    }, 
+    modelValue: { 
+      type: Boolean, 
+      default: false, 
+    }, 
+    title: { 
+      type: String, 
+      default: '', 
+    }, 
+    row: { 
+      type: Object, 
+    }, 
+    sort: { 
+      type: Number, 
+      default: 0, 
+    }, 
+  }, 
+  emits: ['update:modelValue', 'close', 'submit', 'confirmquery1'], 
+  setup(props: Record<string, any>, ctx: SetupContext) { 
+    const { 
+      onClose, 
+      onConfirmQuery, 
+      onOpen, 
+      onReset, 
+      formRef, 
+      visible, 
+      formItems, 
+      formData, 
+    } = useWmsMaterialQueryDrawer(props, ctx) 
+    return () => ( 
+      <BaseQueryDrawer 
+        class={styles.drawer} 
+        size="800px" 
+        title={props.title || '楂樼骇鏌ヨ'} 
+        v-model={visible.value} 
+        close-on-click-modal={true} 
+        onReset={onReset} 
+        onConfirmQueryForBase={onConfirmQuery} 
+        onOpen={onOpen} 
+        before-close={onClose} 
+        onClose={onClose} 
+      > 
+        <DyForm 
+          ref={formRef} 
+          formData={formData.value} 
+          labelWidth="106px" 
+          formItemProps={formItems} 
+        ></DyForm> 
+      </BaseQueryDrawer> 
+    ) 
+  }, 
+}) 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/WmsMaterial/Config.ts" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/WmsMaterial/Config.ts"
index 2b0e6f5..eb67834 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/WmsMaterial/Config.ts"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/WmsMaterial/Config.ts"
@@ -1,63 +1,91 @@
-export const columns = [
-  {
-    type: 'seq',
-    width: 60,
-    title: '搴忓彿',
-  },
-  {
-    field: 'materialCode',
-    title: '鐗╂枡缂栫爜',
-  },
-  {
-    field: 'materialName',
-    title: '鐗╂枡鍚嶇О',
-  },
-  {
-    field: 'purchaseTypeDesc',
-    title: '閲囪喘绫诲瀷',
-  },
-  {
-    field: 'materialTypeDesc',
-    title: '鐗╂枡绫诲瀷',
-  },
-  {
-    field: 'primaryUnit',
-    title: '涓诲崟浣�',
-  },
-  {
-    field: 'standard',
-    title: '瑙勬牸/鏍囧噯',
-  },
-  {
-    field: 'outerDiameter',
-    title: '澶栧緞(mm)',
-  },
-  {
-    field: 'wallThickness',
-    title: '澹佸帤(mm)',
-  },
-  {
-    field: 'materialQuality',
-    title: '鏉愯川',
-  },
-  {
-    field: 'length',
-    title: '闀垮害(m)',
-  },
-  {
-    field: 'isMainBranchDesc',
-    title: '鏄惁涓绘敮绠�',
-  },
-  {
-    field: 'factory',
-    title: '鐢熶骇宸ュ巶',
-  },
-  {
-    field: 'certification',
-    title: '璇佷功缂栧彿',
-  },
-  {
-    field: 'remark',
-    title: '澶囨敞',
-  },
-]
+export const columns = [ 
+  { 
+    type: 'seq', 
+    width: 60, 
+    title: '搴忓彿', 
+  }, 
+  { 
+  field: 'materialCode', 
+  title: '鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�', 
+}, 
+{ 
+  field: 'materialName', 
+  title: '鐗╂枡鍚嶇О', 
+}, 
+{ 
+  field: 'purchaseTypeDesc', 
+  title: '閲囪喘绫诲瀷锛堟灇涓惧�硷級', 
+}, 
+{ 
+  field: 'materialTypeDesc', 
+  title: '鐗╂枡绫诲瀷锛堟灇涓惧�硷級', 
+}, 
+{ 
+  field: 'primaryUnit', 
+  title: '涓诲崟浣嶏紙濡傦細kg銆乵銆佷釜锛�', 
+}, 
+{ 
+  field: 'standard', 
+  title: '瑙勬牸/鏍囧噯锛堝锛欸B/T 8163-2018锛�', 
+}, 
+{ 
+  field: 'outerDiameter', 
+  title: '澶栧緞锛堝崟浣嶏細mm锛�', 
+}, 
+{ 
+  field: 'wallThickness', 
+  title: '澹佸帤锛堝崟浣嶏細mm锛�', 
+}, 
+{ 
+  field: 'materialQuality', 
+  title: '鏉愯川锛堝锛�304涓嶉攬閽級', 
+}, 
+{ 
+  field: 'length', 
+  title: '闀垮害锛堝崟浣嶏細m锛�', 
+}, 
+{ 
+  field: 'isMainBranchDesc', 
+  title: '鏄惁涓轰富鏀', 
+}, 
+{ 
+  field: 'factory', 
+  title: '鐢熶骇宸ュ巶', 
+}, 
+{ 
+  field: 'certification', 
+  title: '璇佷功缂栧彿', 
+}, 
+{ 
+  field: 'redundantField1', 
+  title: '鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��', 
+}, 
+{ 
+  field: 'redundantField2', 
+  title: '鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��', 
+}, 
+{ 
+  field: 'redundantField3', 
+  title: '鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��', 
+}, 
+{ 
+  field: 'sort', 
+  title: '鎺掑簭', 
+}, 
+{ 
+  field: 'remark', 
+  title: '澶囨敞', 
+}, 
+{ 
+  field: 'isDisabled', 
+  title: '鏄惁绂佺敤', 
+}, 
+{ 
+  field: 'creationTime', 
+  title: '', 
+}, 
+{ 
+  field: 'deletionTime', 
+  title: '', 
+},  
+] 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.module.scss" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.module.scss"
index 931ea3a..a29837b 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.module.scss"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.module.scss"
@@ -1,113 +1,113 @@
-.wmsMaterialContent {
-  width: 100%;
-  height: 100%;
-
-  .wmsMaterialList {
-    width: 100%;
-    height: calc(100% - 70px);
-  }
-  .headerContent {
-    display: flex;
-    justify-content: space-between;
-    align-items: center;
-    height: 43px;
-  }
-  .header {
-    margin-bottom: 12px;
-    display: flex;
-    justify-content: flex-start;
-    align-items: center;
-  }
-}
-
-.tagBox {
-  width: auto;
-  min-width: 80px;
-  height: 24px;
-  background: #ffffff;
-  border-radius: 19px 19px 19px 19px;
-  opacity: 1;
-  border: 1px dashed #bcc4cc;
-  width: 50px;
-  height: 20px;
-  font-size: 14px;
-  font-family: PingFang SC, PingFang SC;
-  font-weight: 400;
-  color: #5a84ff;
-  display: flex;
-  justify-content: center;
-  align-items: center;
-  // cursor: pointer;
-}
-
-.group {
-  display: flex;
-  justify-content: space-between;
-  align-items: center;
-}
-
-.groupTable {
-  width: 100%;
-}
-
-.overBox {
-  width: 100%;
-  height: calc(100% - 20px);
-  overflow: auto;
-  :global(.cs-collapse-item__header) {
-    background-color: #f1f1f1;
-    padding: 0 20px;
-    height: 35px;
-    font-size: 16px;
-    font-family: PingFang SC, PingFang SC;
-    font-weight: 500;
-  }
-  :global(.cs-collapse-item__content) {
-    padding-bottom: 0px;
-  }
-}
-.groupHeader {
-  width: 100%;
-  height: 30px;
-  background: #ccc;
-}
-
-.hideBlock {
-  display: none;
-}
-.queryForm {
-  padding: 10px;
-  background: #f5f7fa;
-  margin-bottom: 0px;
-  border-radius: 4px;
-  
-  .el-form-item {
-    margin-right: 20px;
-    margin-bottom: 0;
-    
-    // 缁熶竴杈撳叆妗嗗拰閫夋嫨妗嗙殑瀹藉害
-    .el-input, .el-select {
-      width: 200px; // 璁剧疆缁熶竴鐨勫搴�
-    }
-    
-    // 閫夋嫨妗嗗唴閮ㄨ緭鍏ユ鏍峰紡
-    .el-select .el-input__wrapper {
-      height: 32px; // 涓庤緭鍏ユ楂樺害涓�鑷�
-      padding: 1px 11px; // 涓庤緭鍏ユ鍐呰竟璺濅竴鑷�
-    }
-    
-    // 鏃ユ湡閫夋嫨鍣ㄥ搴�
-    .el-date-editor {
-      width: 220px;
-    }
-  }
-}
-
-// 濡傛灉闇�瑕佹洿绮剧‘鐨勬帶鍒讹紝鍙互鍗曠嫭璁剧疆
-.formItem {
-  width: 200px;
-  
-  &.el-input, &.el-select {
-    width: 100%;
-  }
-}
\ No newline at end of file
+.wmsMaterialContent { 
+  width: 100%; 
+  height: 100%; 
+ 
+  .wmsMaterialList { 
+    width: 100%; 
+    height: calc(100% - 70px); 
+  } 
+  .headerContent { 
+    display: flex; 
+    justify-content: space-between; 
+    align-items: center; 
+    height: 43px; 
+  } 
+  .header { 
+    margin-bottom: 12px; 
+    display: flex; 
+    justify-content: flex-start; 
+    align-items: center; 
+  } 
+} 
+ 
+.tagBox { 
+  width: auto; 
+  min-width: 80px; 
+  height: 24px; 
+  background: #ffffff; 
+  border-radius: 19px 19px 19px 19px; 
+  opacity: 1; 
+  border: 1px dashed #bcc4cc; 
+  width: 50px; 
+  height: 20px; 
+  font-size: 14px; 
+  font-family: PingFang SC, PingFang SC; 
+  font-weight: 400; 
+  color: #5a84ff; 
+  display: flex; 
+  justify-content: center; 
+  align-items: center; 
+  // cursor: pointer; 
+} 
+ 
+.group { 
+  display: flex; 
+  justify-content: space-between; 
+  align-items: center; 
+} 
+ 
+.groupTable { 
+  width: 100%; 
+} 
+ 
+.overBox { 
+  width: 100%; 
+  height: calc(100% - 20px); 
+  overflow: auto; 
+  :global(.cs-collapse-item__header) { 
+    background-color: #f1f1f1; 
+    padding: 0 20px; 
+    height: 35px; 
+    font-size: 16px; 
+    font-family: PingFang SC, PingFang SC; 
+    font-weight: 500; 
+  } 
+  :global(.cs-collapse-item__content) { 
+    padding-bottom: 0px; 
+  } 
+} 
+.groupHeader { 
+  width: 100%; 
+  height: 30px; 
+  background: #ccc; 
+} 
+ 
+.hideBlock { 
+  display: none; 
+} 
+.queryForm { 
+  padding: 10px; 
+  background: #f5f7fa; 
+  margin-bottom: 0px; 
+  border-radius: 4px; 
+   
+  .el-form-item { 
+    margin-right: 20px; 
+    margin-bottom: 0; 
+     
+    // 缁熶竴杈撳叆妗嗗拰閫夋嫨妗嗙殑瀹藉害 
+    .el-input, .el-select { 
+      width: 200px; // 璁剧疆缁熶竴鐨勫搴� 
+    } 
+     
+    // 閫夋嫨妗嗗唴閮ㄨ緭鍏ユ鏍峰紡 
+    .el-select .el-input__wrapper { 
+      height: 32px; // 涓庤緭鍏ユ楂樺害涓�鑷� 
+      padding: 1px 11px; // 涓庤緭鍏ユ鍐呰竟璺濅竴鑷� 
+    } 
+     
+    // 鏃ユ湡閫夋嫨鍣ㄥ搴� 
+    .el-date-editor { 
+      width: 220px; 
+    } 
+  } 
+} 
+ 
+// 濡傛灉闇�瑕佹洿绮剧‘鐨勬帶鍒讹紝鍙互鍗曠嫭璁剧疆 
+.formItem { 
+  width: 200px; 
+   
+  &.el-input, &.el-select { 
+    width: 100%; 
+  } 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.tsx" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.tsx"
index 1703d1e..688d922 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.tsx"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.tsx"
@@ -1,321 +1,324 @@
-import { computed, defineComponent, onMounted, reactive, ref } from 'vue'
-import type { Ref } from 'vue'
-import BaseTable from '@/components/Table/Table'
-import styles from './WmsMaterial.module.scss'
-import { useWmsMaterial } from '../../../Controllers/WmsMaterial'
-import IconButton from '@/components/IconButton/IconButton'
-import WmsMaterialDrawer from '../Dialog/WmsMaterialDrawer/WmsMaterialDrawer'
-import WmsMaterialQueryDrawer from '../Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer'
-import Search from '@/components/Search/Search'
-import { columns } from './Config'
-import TdButton from '@/components/TdButton/TdButton'
-import { vPermission } from '@/libs/Permission/Permission'
-import {
-  getWmsEnumData
-} from '@/widgets/HIAWms/Models/Service/WmsMaterialDrawer'
-import {
-  ElInput,
-  ElSelect,
-  ElOption,
-  ElDatePicker,
-  ElForm,
-  ElFormItem,
-} from 'element-plus'
-import { injectModel } from '@/libs/Provider/Provider'
-
-interface RenderTableType {
-  url?: string
-  dataSource: Ref<any[]>
-  isDrag?: boolean
-  isChecked?: boolean
-  isHidePagination?: boolean
-  params?: Record<string, any>
-  autoHeight?: boolean
-}
-
-export default defineComponent({
-  name: 'WmsMaterial',
-  directives: {
-    permission: vPermission,
-  },
-  setup(props, ctx) {
-    const {
-      dataSource,
-      contextMenu,
-      dialogConfig,
-      dialogConfigForQuery,
-      tableRef,
-      current,
-      search,
-      sort,
-      headers,
-      onError,
-      onSearch,
-      onRowClick,
-      onConfirmWmsMaterial,
-      onCheck,
-      onAddWmsMaterial,
-      onAdvancedQuery,
-      onExport,
-      openDetail,
-      onSuccess,
-      onBeforeUpload,
-    } = useWmsMaterial(props, ctx)
-
-    //瀹氫箟楂樼骇鏌ヨ寮曠敤
-   const wmsMaterialQueryDrawerRef=ref(null);
-    // 鏂板鐨勬煡璇㈡潯浠�
-    const queryForm = ref({
-      searchVal: '',
-      str_searchFormInputAttrs:[]
-    })
-    //瀹氫箟鏁翠綋妯$硦鏌ヨ鐨勫垪鏁扮粍(娉ㄦ剰锛氬繀椤诲ぇ灏忓啓璺熷悗绔殑瀹炰綋绫诲睘鎬у悕涓�鑷达紝鍚﹀垯浼氬鑷村尮閰嶄笉瀵圭殑闂)
-    const _searchFormInputAttrs = ref([
-      'MaterialCode', 
-      'MaterialName', 
-      'Remark'
-    ]);
-    const searchFormInputAttrs_Placeholder = ref('璇疯緭鍏ョ墿鏂欑紪鐮�/鐗╂枡鍚嶇О/澶囨敞');
+import { computed, defineComponent, onMounted, reactive, ref } from 'vue' 
+import type { Ref } from 'vue' 
+import BaseTable from '@/components/Table/Table' 
+import styles from './WmsMaterial.module.scss' 
+import { useWmsMaterial } from '../../../Controllers/WmsMaterial' 
+import IconButton from '@/components/IconButton/IconButton' 
+import WmsMaterialDrawer from '../Dialog/WmsMaterialDrawer/WmsMaterialDrawer' 
+import WmsMaterialQueryDrawer from '../Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer' 
+import Search from '@/components/Search/Search' 
+import { columns } from './Config' 
+import TdButton from '@/components/TdButton/TdButton' 
+import { vPermission } from '@/libs/Permission/Permission' 
+import { 
+  getWmsEnumData 
+} from '@/widgets/HIAWms/Models/Service/WmsMaterialDrawer' 
+import { 
+  ElInput, 
+  ElSelect, 
+  ElOption, 
+  ElDatePicker, 
+  ElForm, 
+  ElFormItem, 
+} from 'element-plus' 
+import { injectModel } from '@/libs/Provider/Provider' 
+ 
+interface RenderTableType { 
+  url?: string 
+  dataSource: Ref<any[]> 
+  isDrag?: boolean 
+  isChecked?: boolean 
+  isHidePagination?: boolean 
+  params?: Record<string, any> 
+  autoHeight?: boolean 
+} 
+ 
+export default defineComponent({ 
+  name: 'WmsMaterial', 
+  directives: { 
+    permission: vPermission, 
+  }, 
+  setup(props, ctx) { 
+    const { 
+      dataSource, 
+      contextMenu, 
+      dialogConfig, 
+      dialogConfigForQuery, 
+      tableRef, 
+      current, 
+      search, 
+      sort, 
+      headers, 
+      onError, 
+      onSearch, 
+      onRowClick, 
+      onConfirmWmsMaterial, 
+      onCheck, 
+      onAddWmsMaterial, 
+      onAdvancedQuery, 
+      onExport, 
+      openDetail, 
+      onSuccess, 
+      onBeforeUpload, 
+    } = useWmsMaterial(props, ctx) 
+ 
+    //瀹氫箟楂樼骇鏌ヨ寮曠敤 
+   const wmsMaterialQueryDrawerRef=ref(null); 
+    // 鏂板鐨勬煡璇㈡潯浠� 
+    const queryForm = ref({ 
+      searchVal: '', 
+      str_searchFormInputAttrs:[] 
+    }) 
+    //瀹氫箟鏁翠綋妯$硦鏌ヨ鐨勫垪鏁扮粍(娉ㄦ剰锛氬繀椤诲ぇ灏忓啓璺熷悗绔殑瀹炰綋绫诲睘鎬у悕涓�鑷达紝鍚﹀垯浼氬鑷村尮閰嶄笉瀵圭殑闂) 
+    const _searchFormInputAttrs = ref([ 
+     'MaterialCode', 'MaterialName', 'Remark' 
+    ]); 
+    const searchFormInputAttrs_Placeholder = ref('璇疯緭鍏ョ墿鏂欑紪鐮�/鐗╂枡鍚嶇О/澶囨敞'); 
+     
+ 
+    // 鍔ㄦ�佹灇涓鹃�夐」 
+    const enumOptions = reactive({ 
+      purchaseType: [] as Array<{label: string; value: any }>, 
+materialType: [] as Array<{label: string; value: any }>, 
+isMainBranch: [] as Array<{label: string; value: any }>,  
+    }) 
+ 
+    // 鑾峰彇鏋氫妇鏁版嵁 
+    const fetchEnumData = async () => { 
+      try { 
+        const purchaseTypeEnumData = await getWmsEnumData({ 
+ EnumName: 'PurchaseTypeEnum', 
+}) 
+enumOptions.purchaseType = purchaseTypeEnumData.map((item) => ({ 
+  label: item.description, 
+  value: item.value, 
+})) 
+const materialTypeEnumData = await getWmsEnumData({ 
+ EnumName: 'MaterialTypeEnum', 
+}) 
+enumOptions.materialType = materialTypeEnumData.map((item) => ({ 
+  label: item.description, 
+  value: item.value, 
+})) 
+const yesNoEnumData = await getWmsEnumData({ 
+ EnumName: 'YesNoEnum', 
+}) 
+enumOptions.isMainBranch = yesNoEnumData.map((item) => ({ 
+  label: item.description, 
+  value: item.value, 
+})) 
+ 
+      } catch (error) { 
+        console.error('鑾峰彇鏋氫妇鏁版嵁澶辫触:', error) 
+      } 
+    } 
+ 
+    // 缁勪欢鎸傝浇鏃惰幏鍙栨灇涓炬暟鎹� 
+    onMounted(() => { 
+      fetchEnumData() 
+    }) 
+ 
+    // 瀹氫箟鍝嶅簲寮忔煡璇㈡暟鎹� 
+    const _curHighQueryData = ref({ searchVal: '',str_searchFormInputAttrs:[] }); 
+    // 鏂扮増鐨勬煡璇㈡柟娉曪紙涓婚〉闈腑鐨勬寜閽�愭煡璇€�戯級 
+    const handleQueryForMain = async () => { 
+      _curHighQueryData.value.searchVal = queryForm.value.searchVal; 
+      _curHighQueryData.value.str_searchFormInputAttrs = _searchFormInputAttrs.value; 
+      tableRef.value.getList(_curHighQueryData.value) 
+    } 
+    // 鏂扮増鐨勬煡璇㈡柟娉曪紙楂樼骇鏌ヨ涓殑鎸夐挳銆愭煡璇€�戯級 
+    const handleQuery = async (extraParams = {}) => { 
+      let filteredData = commonGetHighQueryForm(extraParams); 
+      commonSaveCurHighQueryData(filteredData); 
+      tableRef.value.getList(filteredData) 
+    } 
+    // 鏂扮増鐨勬煡璇㈤噸缃� 
+    const resetQuery = () => { 
+      queryForm.value.searchVal = '' 
+      queryForm.value.str_searchFormInputAttrs=_searchFormInputAttrs.value; 
+    } 
+     //鏂扮増鐨勫鍑烘柟娉� 
+     const handleExport=()=>{ 
+      onExport(_curHighQueryData.value); 
+    } 
+    // 鏂扮増鐨勬煡璇㈠脊鍑烘鍏抽棴鏂规硶 
+    const closeQuery = (extraParams={}) => { 
+      let filteredData = commonGetHighQueryForm(extraParams); 
+      console.log("closeQuery鏂规硶"); 
+      console.log(filteredData); 
+      commonSaveCurHighQueryData(filteredData); 
+    } 
+    //淇濆瓨鏌ヨ鍊� 
+    const commonSaveCurHighQueryData=(filteredData={})=>{ 
+      _curHighQueryData.value = { ..._curHighQueryData.value, ...filteredData }; 
+      _curHighQueryData.value.searchVal = queryForm.value.searchVal 
+      _curHighQueryData.value.str_searchFormInputAttrs =_searchFormInputAttrs.value; 
+    } 
+     //鑾峰彇楂樼骇鏌ヨ寮瑰嚭妗嗙殑鏌ヨ鍊� 
+     const commonGetHighQueryForm=(extraParams={})=>{ 
+      // 杩囨护鎺� undefined 鐨勫�� 
+      let filteredData = Object.assign( 
+        {}, 
+        ...Object.entries(extraParams).map(([key, value]) => 
+          value !== undefined ? { [key]: value } : {} 
+        ) 
+      ) 
+      //缁勫悎妯$硦鏌ヨ 
+      filteredData.searchVal = queryForm.value.searchVal 
+      filteredData.str_searchFormInputAttrs =_searchFormInputAttrs.value; 
+      return filteredData; 
+    } 
     
-
-    // 鍔ㄦ�佹灇涓鹃�夐」
-    const enumOptions = reactive({
-      materialType: [] as Array<{ label: string; value: any }>,
-      purchaseType: [] as Array<{ label: string; value: any }>,
-      isMainBranch: [] as Array<{ label: string; value: any }>,
-    })
-
-    // 鑾峰彇鏋氫妇鏁版嵁
-    const fetchEnumData = async () => {
-      try {
-        // 鑾峰彇鐗╂枡绫诲瀷鏋氫妇
-        const materialTypeData = await getWmsEnumData({
-          EnumName: 'MaterialTypeEnum',
-        })
-        enumOptions.materialType = materialTypeData.map((item) => ({
-          label: item.description,
-          value: item.value,
-        }))
-
-        // 鑾峰彇閲囪喘绫诲瀷鏋氫妇
-        const purchaseTypeData = await getWmsEnumData({
-          EnumName: 'PurchaseTypeEnum',
-        })
-        enumOptions.purchaseType = purchaseTypeData.map((item) => ({
-          label: item.description,
-          value: item.value,
-        }))
-      } catch (error) {
-        console.error('鑾峰彇鏋氫妇鏁版嵁澶辫触:', error)
-      }
-    }
-
-    // 缁勪欢鎸傝浇鏃惰幏鍙栨灇涓炬暟鎹�
-    onMounted(() => {
-      fetchEnumData()
-    })
-
-    // 瀹氫箟鍝嶅簲寮忔煡璇㈡暟鎹�
-    const _curHighQueryData = ref({ searchVal: '',str_searchFormInputAttrs:[] });
-    // 鏂扮増鐨勬煡璇㈡柟娉曪紙涓婚〉闈腑鐨勬寜閽�愭煡璇€�戯級
-    const handleQueryForMain = async () => {
-      _curHighQueryData.value.searchVal = queryForm.value.searchVal;
-      _curHighQueryData.value.str_searchFormInputAttrs = _searchFormInputAttrs.value;
-      tableRef.value.getList(_curHighQueryData.value)
-    }
-    // 鏂扮増鐨勬煡璇㈡柟娉曪紙楂樼骇鏌ヨ涓殑鎸夐挳銆愭煡璇€�戯級
-    const handleQuery = async (extraParams = {}) => {
-      let filteredData = commonGetHighQueryForm(extraParams);
-      commonSaveCurHighQueryData(filteredData);
-      tableRef.value.getList(filteredData)
-    }
-    // 鏂扮増鐨勬煡璇㈤噸缃�
-    const resetQuery = () => {
-      queryForm.value.searchVal = ''
-      queryForm.value.str_searchFormInputAttrs=_searchFormInputAttrs.value;
-    }
-     //鏂扮増鐨勫鍑烘柟娉�
-     const handleExport=()=>{
-      onExport(_curHighQueryData.value);
-    }
-    // 鏂扮増鐨勬煡璇㈠脊鍑烘鍏抽棴鏂规硶
-    const closeQuery = (extraParams={}) => {
-      let filteredData = commonGetHighQueryForm(extraParams);
-      console.log("closeQuery鏂规硶");
-      console.log(filteredData);
-      commonSaveCurHighQueryData(filteredData);
-    }
-    //淇濆瓨鏌ヨ鍊�
-    const commonSaveCurHighQueryData=(filteredData={})=>{
-      _curHighQueryData.value = { ..._curHighQueryData.value, ...filteredData };
-      _curHighQueryData.value.searchVal = queryForm.value.searchVal
-      _curHighQueryData.value.str_searchFormInputAttrs =_searchFormInputAttrs.value;
-    }
-     //鑾峰彇楂樼骇鏌ヨ寮瑰嚭妗嗙殑鏌ヨ鍊�
-     const commonGetHighQueryForm=(extraParams={})=>{
-      // 杩囨护鎺� undefined 鐨勫��
-      let filteredData = Object.assign(
-        {},
-        ...Object.entries(extraParams).map(([key, value]) =>
-          value !== undefined ? { [key]: value } : {}
-        )
-      )
-      //缁勫悎妯$硦鏌ヨ
-      filteredData.searchVal = queryForm.value.searchVal
-      filteredData.str_searchFormInputAttrs =_searchFormInputAttrs.value;
-      return filteredData;
-    }
-   
-
-    /**
-     * @returns 琛ㄦ牸
-     */
-    const RenderBaseTable = (props: RenderTableType) => {
-      const {
-        url,
-        dataSource,
-        isDrag,
-        isChecked,
-        isHidePagination,
-        params,
-        autoHeight,
-      } = props
-
-      return (
-        <div
-          class={{
-            [styles.wmsMaterialList]: true,
-          }}
-        >
-          <BaseTable
-            ref={tableRef}
-            url={url}
-            sortUrlTpl="/api/v1/hIAWms/wmsMaterial/{id}/adjustsort/{sort}"
-            v-model:dataSource={dataSource.value}
-            columns={columns}
-            contextMenu={contextMenu}
-            params={params}
-            isDrag={isDrag}
-            isChecked={isChecked}
-            autoHeight={autoHeight}
-            onCheck={onCheck}
-            onRowClick={onRowClick}
-            isHidePagination={isHidePagination}
-            pageSize={20}
-            v-slots={{
-              name: ({ row }: any) => {
-                return row?.name ? (
-                  <TdButton
-                    onClick={() => openDetail(row)}
-                    text={<span style="color:#5a84ff">璇︽儏</span>}
-                    icon="scale"
-                    tip={row?.name}
-                    hover
-                  >
-                    {row?.name}
-                  </TdButton>
-                ) : (
-                  '-'
-                )
-              },
-            }}
-          ></BaseTable>
-        </div>
-      )
-    }
-
-    return () => {
-      return (
-        <div class={styles.wmsMaterialContent}>
-          {/* 娣诲姞/缂栬緫 */}
-          <WmsMaterialDrawer
-            v-model={dialogConfig.visible}
-            title={dialogConfig.title}
-            row={current.value}
-            sort={sort.value}
-            onConfirm={onConfirmWmsMaterial}
-          />
-          {/* 楂樼骇鏌ヨ */}
-          <WmsMaterialQueryDrawer
-            ref="wmsMaterialQueryDrawerRef"
-            v-model={dialogConfigForQuery.visible}
-            title={dialogConfigForQuery.title}
-            row={current.value}
-            sort={sort.value}
-            onConfirmQuery={handleQuery}
-            onRestQuery={resetQuery}
-            onClose={closeQuery}
-          />
-
-          <div class={styles.headerContent}>
-            <div class={styles.header}>
-              <IconButton
-                v-permission="wmsMaterial-add"
-                icon="add-p"
-                onClick={onAddWmsMaterial}
-                type="primary"
-              >
-                娣诲姞
-              </IconButton>
-              <el-divider direction="vertical" />
-
-              <el-divider direction="vertical" />
-              <el-upload
-                v-permission="wmsMaterial-import"
-                name="file"
-                accept=".xlsx,.xls,.csv"
-                show-file-list={false}
-                onError={onError}
-                onSuccess={onSuccess}
-                before-upload={onBeforeUpload}
-                headers={headers.value}
-                action="/api/v1/hIAWms/wmsMaterial/import"
-              >
-                <IconButton icon="in">瀵煎叆</IconButton>
-              </el-upload>
-
-              <IconButton
-                v-permission="wmsMaterial-output"
-                icon="out"
-                onClick={handleExport}
-              >
-                瀵煎嚭
-              </IconButton>
-            </div>
-            <ElFormItem style={{ marginTop: '15px' }}>
-              <ElFormItem label="鍏抽敭瀛�">
-                <ElInput
-                  v-model={queryForm.value.searchVal}
-                  placeholder={searchFormInputAttrs_Placeholder.value}
-                  clearable
-                  class={styles.formItem}
-                />
-              </ElFormItem>
-              <IconButton type="primary" icon="search" onClick={handleQueryForMain}>
-                鏌ヨ
-              </IconButton>
-              {/* <IconButton style="" icon="refresh" onClick={resetQuery}>
-                閲嶇疆
-              </IconButton> */}
-              <IconButton
-                v-permission="wmsMaterial-add"
-                icon="search"
-                onClick={onAdvancedQuery}
-                type="primary"
-              >
-                楂樼骇鏌ヨ
-              </IconButton>
-            </ElFormItem>
-          </div>
-
-          <RenderBaseTable
-            url="/api/v1/hIAWms/wmsMaterial/page"
-            dataSource={dataSource}
-            isChecked={true}
-            isDrag={true}
-          />
-        </div>
-      )
-    }
-  },
-})
+ 
+    /** 
+     * @returns 琛ㄦ牸 
+     */ 
+    const RenderBaseTable = (props: RenderTableType) => { 
+      const { 
+        url, 
+        dataSource, 
+        isDrag, 
+        isChecked, 
+        isHidePagination, 
+        params, 
+        autoHeight, 
+      } = props 
+ 
+      return ( 
+        <div 
+          class={{ 
+            [styles.wmsMaterialList]: true, 
+          }} 
+        > 
+          <BaseTable 
+            ref={tableRef} 
+            url={url} 
+            sortUrlTpl="/api/v1/HIAWms/wmsMaterial/{id}/adjustsort/{sort}" 
+            v-model:dataSource={dataSource.value} 
+            columns={columns} 
+            contextMenu={contextMenu} 
+            params={params} 
+            isDrag={isDrag} 
+            isChecked={isChecked} 
+            autoHeight={autoHeight} 
+            onCheck={onCheck} 
+            onRowClick={onRowClick} 
+            isHidePagination={isHidePagination} 
+            pageSize={20} 
+            v-slots={{ 
+              name: ({ row }: any) => { 
+                return row?.name ? ( 
+                  <TdButton 
+                    onClick={() => openDetail(row)} 
+                    text={<span style="color:#5a84ff">璇︽儏</span>} 
+                    icon="scale" 
+                    tip={row?.name} 
+                    hover 
+                  > 
+                    {row?.name} 
+                  </TdButton> 
+                ) : ( 
+                  '-' 
+                ) 
+              }, 
+            }} 
+          ></BaseTable> 
+        </div> 
+      ) 
+    } 
+ 
+    return () => { 
+      return ( 
+        <div class={styles.wmsMaterialContent}> 
+          {/* 娣诲姞/缂栬緫 */} 
+          <WmsMaterialDrawer 
+            v-model={dialogConfig.visible} 
+            title={dialogConfig.title} 
+            row={current.value} 
+            sort={sort.value} 
+            onConfirm={onConfirmWmsMaterial} 
+          /> 
+          {/* 楂樼骇鏌ヨ */} 
+          <WmsMaterialQueryDrawer 
+            ref="wmsMaterialQueryDrawerRef" 
+            v-model={dialogConfigForQuery.visible} 
+            title={dialogConfigForQuery.title} 
+            row={current.value} 
+            sort={sort.value} 
+            onConfirmQuery={handleQuery} 
+            onRestQuery={resetQuery} 
+            onClose={closeQuery} 
+          /> 
+ 
+          <div class={styles.headerContent}> 
+            <div class={styles.header}> 
+              <IconButton 
+                v-permission="wmsMaterial-add" 
+                icon="add-p" 
+                onClick={onAddWmsMaterial} 
+                type="primary" 
+              > 
+                娣诲姞 
+              </IconButton> 
+              <el-divider direction="vertical" /> 
+ 
+              <el-divider direction="vertical" /> 
+              <el-upload 
+                v-permission="wmsMaterial-import" 
+                name="file" 
+                accept=".xlsx,.xls,.csv" 
+                show-file-list={false} 
+                onError={onError} 
+                onSuccess={onSuccess} 
+                before-upload={onBeforeUpload} 
+                headers={headers.value} 
+                action="/api/v1/HIAWms/wmsMaterial/import" 
+              > 
+                <IconButton icon="in">瀵煎叆</IconButton> 
+              </el-upload> 
+ 
+              <IconButton 
+                v-permission="wmsMaterial-output" 
+                icon="out" 
+                onClick={handleExport} 
+              > 
+                瀵煎嚭 
+              </IconButton> 
+            </div> 
+            <ElFormItem style={{ marginTop: '15px' }}> 
+              <ElFormItem label="鍏抽敭瀛�"> 
+                <ElInput 
+                  v-model={queryForm.value.searchVal} 
+                  placeholder={searchFormInputAttrs_Placeholder.value} 
+                  clearable 
+                  class={styles.formItem} 
+                /> 
+              </ElFormItem> 
+              <IconButton type="primary" icon="search" onClick={handleQueryForMain}> 
+                鏌ヨ 
+              </IconButton> 
+              {/* <IconButton style="" icon="refresh" onClick={resetQuery}> 
+                閲嶇疆 
+              </IconButton> */} 
+              <IconButton 
+                v-permission="wmsMaterial-add" 
+                icon="search" 
+                onClick={onAdvancedQuery} 
+                type="primary" 
+              > 
+                楂樼骇鏌ヨ 
+              </IconButton> 
+            </ElFormItem> 
+          </div> 
+ 
+          <RenderBaseTable 
+            url="/api/v1/HIAWms/wmsMaterial/page" 
+            dataSource={dataSource} 
+            isChecked={true} 
+            isDrag={true} 
+          /> 
+        </div> 
+      ) 
+    } 
+  }, 
+}) 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/config/HIAWms.module.scss" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/config/HIAWms.module.scss"
new file mode 100644
index 0000000..bbe1334
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/config/HIAWms.module.scss"
@@ -0,0 +1,3 @@
+{ 
+  "name": "WmsMaterial" 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/enum.ts" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/enum.ts"
index c268a5b..063ce43 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/enum.ts"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/enum.ts"
@@ -1,15 +1,15 @@
-export interface TabType {
-  label: string
-  name: string
-  columns?: any[]
-  data?: any[]
-  isFooter: boolean
-  [key: string]: any
-}
-
-export const permissionCodes = {
-  'wmsMaterial-list': '鍒楄〃-鍒楄〃',
-  'wmsMaterial-add': '鍒楄〃-娣诲姞',
-  'wmsMaterial-import': '鍒楄〃-瀵煎叆',
-  'wmsMaterial-output': '鍒楄〃-杈撳嚭',
-}
+export interface TabType { 
+  label: string 
+  name: string 
+  columns?: any[] 
+  data?: any[] 
+  isFooter: boolean 
+  [key: string]: any 
+} 
+ 
+export const permissionCodes = { 
+  'wmsMaterial-list': '鍒楄〃-鍒楄〃', 
+  'wmsMaterial-add': '鍒楄〃-娣诲姞', 
+  'wmsMaterial-import': '鍒楄〃-瀵煎叆', 
+  'wmsMaterial-output': '鍒楄〃-杈撳嚭', 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/index.ts" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/index.ts"
index 2aa9efb..5682ae2 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/index.ts"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/index.ts"
@@ -1,14 +1,14 @@
-import HIAWms from './Views/HIAWms'
-import Setting from '@/components/Setting/Setting'
-import { provider } from '@/provider/index'
-import p from '../../assets/svg/p.svg'
-
-export default {
-  is: 'HIAWms',
-  name: 'Wms鐗╂枡鍩虹',
-  category: 'run',
-  icon: p,
-  authorizationRequired: false,
-  canvasView: provider(HIAWms),
-  settingsView: Setting,
-}
+import HIAWms from './Views/HIAWms' 
+import Setting from '@/components/Setting/Setting' 
+import { provider } from '@/provider/index' 
+import p from '../../assets/svg/p.svg' 
+ 
+export default { 
+  is: 'HIAWms', 
+  name: '鐗╂枡淇℃伅', 
+  category: 'run', 
+  icon: p, 
+  authorizationRequired: false, 
+  canvasView: provider(HIAWms), 
+  settingsView: Setting, 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/type/Type.d.ts" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/type/Type.d.ts"
index c7c5b09..7bd5c03 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/type/Type.d.ts"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/type/Type.d.ts"
@@ -1,45 +1,45 @@
-import { Component } from 'vue'
-
-export interface DataItemType {
-  id?: string
-  name?: string
-  code?: string
-  description?: string
-  label?: string
-  value?: string | number
-}
-
-export interface WmsContainerBaseType {
-  id?: string
-  name?: string
-  code?: string
-  value?: number
-  description?: string
-  options?: Array<DataItemType>
-  abilityValue?: number | string
-  data?: DataItemType
-  defaultValue?: string | number
-  flow: string
-}
-
-export interface FlowDefinitionType {
-  id?: string
-  name?: string
-  code?: string
-  description?: string
-}
-
-export type ModuleType = Record<
-  string,
-  {
-    default: Record<string, string>
-    name: string
-  }
->
-
-export interface TabItem {
-  name: string
-  label: string
-  component: Component
-  hidden?: boolean
-}
+import { Component } from 'vue' 
+ 
+export interface DataItemType { 
+  id?: string 
+  name?: string 
+  code?: string 
+  description?: string 
+  label?: string 
+  value?: string | number 
+} 
+ 
+export interface WmsMaterialBaseType { 
+  id?: string 
+  name?: string 
+  code?: string 
+  value?: number 
+  description?: string 
+  options?: Array<DataItemType> 
+  abilityValue?: number | string 
+  data?: DataItemType 
+  defaultValue?: string | number 
+  flow: string 
+} 
+ 
+export interface FlowDefinitionType { 
+  id?: string 
+  name?: string 
+  code?: string 
+  description?: string 
+} 
+ 
+export type ModuleType = Record< 
+  string, 
+  { 
+    default: Record<string, string> 
+    name: string 
+  } 
+> 
+ 
+export interface TabItem { 
+  name: string 
+  label: string 
+  component: Component 
+  hidden?: boolean 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Controllers/File.ts" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Controllers/File.ts"
new file mode 100644
index 0000000..9162fef
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Controllers/File.ts"
@@ -0,0 +1,31 @@
+import { importFileToService, exportFileToClient } from '@/api/file' 
+import { ElMessage } from 'element-plus' 
+import { downloadFile } from '@/utils' 
+import dayjs from 'dayjs' 
+ 
+export const useFile = () => { 
+  /** 
+   * 瀵煎叆鏂囦欢 
+   * @param url 
+   */ 
+  const importFile = async (url: string, file: File) => { 
+    const formData = new FormData() 
+    formData.append('file', file) 
+    await importFileToService(url, formData) 
+    ElMessage('瀵煎叆鎴愬姛') 
+  } 
+  /** 
+   * 瀵煎嚭鏂囦欢 
+   * @param url 
+   */ 
+  const exportFile = async (url: string, params: any, name: string) => { 
+    const res = await exportFileToClient(url, params) 
+    downloadFile(res, `${name}_${dayjs().format('YYYYMMDDHHMMss')}.xlsx`) 
+    ElMessage.success('瀵煎嚭鎴愬姛') 
+  } 
+ 
+  return { 
+    importFile, 
+    exportFile, 
+  } 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Controllers/WmsInOutStockRecord.ts" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Controllers/WmsInOutStockRecord.ts"
new file mode 100644
index 0000000..9846030
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Controllers/WmsInOutStockRecord.ts"
@@ -0,0 +1,275 @@
+import { ref, onMounted, reactive, Ref, nextTick, computed } from 'vue' 
+import { injectModel } from '@/libs/Provider/Provider' 
+import { WmsInOutStockRecord } from '../Models/WmsInOutStockRecord' 
+import { ElMessage } from 'element-plus' 
+import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox' 
+import { useFile } from './File' 
+ 
+interface CurrentType { 
+  row: any 
+  index: number 
+} 
+export const useWmsInOutStockRecord = (props: any, ctx?: any) => { 
+  const wmsInOutStockRecord = injectModel<WmsInOutStockRecord>('wmsInOutStockRecord') 
+  const { exportFile } = useFile() 
+  /** 
+   * 澶撮儴閰嶇疆 
+   */ 
+  const headers = ref({}) 
+  /** 
+   * 鍔ㄦ�佸垪閰嶇疆 
+   */ 
+  const wmsInOutStockRecordColumns = ref<Record<string, any>>([]) 
+  /** 
+   * 鎼滅储鍊� 
+   */ 
+  const search = ref('') 
+ 
+  /** 
+   * 鎺掑簭 
+   */ 
+  const sort = ref(0) 
+  /** 
+   * 閫夋嫨椤� 
+   */ 
+  const selection = ref([]) 
+  /** 
+   * 褰撳墠閫変腑鐨勮 
+   */ 
+  const current = ref<any>(null) 
+  /** 
+   * 鏁版嵁婧� 
+   */ 
+  const dataSource: Ref<any[]> = ref([]) 
+ 
+  /** 
+   * 琛ㄦ牸 
+   */ 
+  const tableRef = ref() 
+  const dialogConfig = reactive({ 
+    visible: false, 
+    title: '', 
+    isAdd: false, 
+  }) 
+  const dialogConfigForQuery = reactive({ 
+    visible: false, 
+    title: '', 
+    isAdd: false, 
+  }) 
+ 
+ 
+  const dialogSettingConfig = reactive({ 
+    visible: false, 
+    title: '', 
+  }) 
+ 
+  /** 
+   * 鍒嗛〉鏁版嵁 
+   */ 
+  const paginationParams = ref({}) 
+ 
+  /** 
+   * 鎵撳紑璇︽儏 
+   * @param row 
+   */ 
+  const openDetail = (row: any) => { 
+    current.value = row 
+    dialogConfig.visible = true 
+    dialogConfig.title = row.name 
+    dialogConfig.isAdd = false 
+    sort.value = row.sort 
+  } 
+ 
+  const contextMenu = [ 
+    { 
+      label: '灞曞紑璇︽儏', 
+      fn: (c: CurrentType) => { 
+        current.value = null 
+        sort.value = c.row.sort 
+        nextTick(() => openDetail(c.row)) 
+      }, 
+      divided: true, 
+      icon: 'o', 
+    }, 
+    // { 
+    //   label: '鍚戜笂娣诲姞', 
+    //   fn: (c: CurrentType, pageNum: number) => { 
+    //     current.value = null 
+    //     sort.value = c.index + 1 + (pageNum - 1) * 50 
+    //     dialogConfig.visible = true 
+    //     dialogConfig.title = '娣诲姞' 
+    //     dialogConfig.isAdd = false 
+    //   }, 
+    //   divided: true, 
+    //   icon: 'up', 
+    // }, 
+    // { 
+    //   label: '鍚戜笅娣诲姞', 
+    //   fn: (c: CurrentType, pageNum: number) => { 
+    //     current.value = null 
+    //     sort.value = c.index + 2 + (pageNum - 1) * 50 
+    //     dialogConfig.visible = true 
+    //     dialogConfig.title = '娣诲姞' 
+    //     dialogConfig.isAdd = false 
+    //   }, 
+    //   divided: true, 
+    //   icon: 'down', 
+    // }, 
+    // { 
+    //   label: '鍒涘缓鍓湰', 
+    //   fn: async ({ row }: CurrentType) => { 
+    //     await wmsInOutStockRecord.cloneData([row.id]) 
+    //     ElMessage.success('鍒涘缓鍓湰鎴愬姛') 
+    //     tableRef.value?.getList() 
+    //   }, 
+    //   divided: true, 
+    //   icon: 'copy', 
+    // }, 
+    { 
+      label: '鍒犻櫎', 
+      fn: async (c: CurrentType) => { 
+        const names = selection.value.map((item: { materialNo: string }) => item.materialNo) 
+        ConfirmBox( 
+          `鏄惁鍒犻櫎${names.length ? names.join(',') : c.row.materialNo}` 
+        ).then(async () => { 
+          const ids = selection.value.map((item: { id: string }) => item.id) 
+          await wmsInOutStockRecord.deleteWmsInOutStockRecords(ids.length ? ids : [c.row.id]) 
+          ElMessage.success('鍒犻櫎鎴愬姛') 
+          tableRef.value.getList() 
+        }) 
+      }, 
+      icon: 'close', 
+    }, 
+  ] 
+ 
+  const onCheck = (records: any) => { 
+    selection.value = records 
+  } 
+ 
+  const onAddWmsInOutStockRecord = () => { 
+    const params = tableRef.value?.getPaginationParams() 
+    current.value = null 
+    dialogConfig.visible = true 
+    dialogConfig.isAdd = true 
+    dialogConfig.title = '娣诲姞' 
+    sort.value = params.totalCount + 1 
+  } 
+ 
+  //鐐瑰嚮鎸夐挳銆愰珮绾ф煡璇€�� 
+  const onAdvancedQuery = () => { 
+    const params = tableRef.value?.getPaginationParams() 
+    current.value = null 
+    dialogConfigForQuery.visible = true 
+    dialogConfigForQuery.isAdd = true 
+    dialogConfigForQuery.title = '楂樼骇鏌ヨ' 
+  } 
+  
+  const onConfirmWmsInOutStockRecord = async () => { 
+    dialogConfig.visible = false 
+    if (dialogConfig.isAdd) { 
+      tableRef.value?.scrollToRow({ 
+        skip: true, 
+      }) 
+    } else { 
+      await tableRef.value?.getList() 
+    } 
+  } 
+  /** 
+   * 琛岀偣鍑绘椂鏇存柊current 
+   */ 
+  const onRowClick = ({ row }: any) => { 
+    if (dialogConfig.visible && current.value) { 
+      current.value = row 
+    } 
+  } 
+  /** 
+   * 瀵煎嚭 
+   */ 
+  const onExport = (data={}) => { 
+    //const params = tableRef.value?.getParams() 
+    exportFile('/api/v1/HIAWms/wmsInOutStockRecord/export', data, 'HIAWms') 
+  } 
+ 
+  /** 
+   * 鍏抽敭瀛楁悳绱� 
+   */ 
+  const onSearch = () => { 
+    tableRef.value?.getList({ 
+      Filter: search.value, 
+    }) 
+  } 
+ 
+  /** 
+   * 閲嶇疆琛ㄦ牸鏁版嵁 
+   */ 
+  const reloadList = () => { 
+    tableRef.value?.getList() 
+  } 
+  /** 
+   * 涓婁紶鎴愬姛 
+   */ 
+  const onSuccess = () => { 
+    tableRef.value?.getList() 
+    ElMessage.success('瀵煎叆鎴愬姛') 
+  } 
+  /** 
+   * 澶辫触 
+   * @param err 
+   */ 
+  const onError = (err: any) => { 
+    try { 
+      const message = JSON.parse(err.message) 
+      ElMessage.error(message.msg) 
+    } catch (error) { 
+      ElMessage.error('瀵煎叆澶辫触') 
+    } 
+  } 
+  /** 
+   * 涓婁紶閽╁瓙 
+   */ 
+  const onBeforeUpload = (file: File) => { 
+    const format = ['xlsx', 'xls', 'csv'] 
+    if (!format.includes(file.name.split('.')[1])) { 
+      ElMessage.error('瀵煎叆鏂囦欢鏍煎紡涓嶆纭紝璇峰鍏�.xlsx/.xls涓�.csv鏍煎紡鐨勬枃浠�') 
+      return false 
+    } 
+    return true 
+  } 
+ 
+  onMounted(() => { 
+    headers.value = { 
+      Authorization: `Bearer ${sessionStorage.getItem('Token')}`, 
+      'X-Project': sessionStorage.getItem('X-Project'), 
+    } 
+  }) 
+ 
+  ctx.expose({ 
+    reloadList, 
+  }) 
+ 
+  return { 
+    dataSource, 
+    contextMenu, 
+    dialogConfig, 
+    dialogConfigForQuery, 
+    dialogSettingConfig, 
+    tableRef, 
+    current, 
+    search, 
+    sort, 
+    wmsInOutStockRecordColumns, 
+    paginationParams, 
+    headers, 
+    onBeforeUpload, 
+    onError, 
+    onSuccess, 
+    openDetail, 
+    onSearch, 
+    onExport, 
+    onRowClick, 
+    onConfirmWmsInOutStockRecord, 
+    onCheck, 
+    onAddWmsInOutStockRecord, 
+    onAdvancedQuery 
+  } 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Controllers/WmsInOutStockRecordDrawer.tsx" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Controllers/WmsInOutStockRecordDrawer.tsx"
new file mode 100644
index 0000000..4e6176f
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Controllers/WmsInOutStockRecordDrawer.tsx"
@@ -0,0 +1,275 @@
+import { 
+  ref, 
+  onMounted, 
+  reactive, 
+  computed, 
+  Ref, 
+  watch, 
+  SetupContext, 
+  h, 
+} from 'vue' 
+import { injectModel } from '@/libs/Provider/Provider' 
+import { WmsInOutStockRecordDrawer } from '../Models/WmsInOutStockRecordDrawer' 
+import { ElMessage } from 'element-plus' 
+import isEqual from 'lodash/isEqual' 
+import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox' 
+import { cloneDeep } from 'lodash' 
+ 
+export const useWmsInOutStockRecordDrawer = (props: any, ctx?: any) => { 
+  const wmsInOutStockRecordDrawer = injectModel<WmsInOutStockRecordDrawer>('wmsInOutStockRecordDrawer') 
+  /** 
+   * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁 
+   */ 
+  const initiateData: Ref<Record<string, any>> = ref({}) 
+  const formData = ref<Record<string, any>>({}) 
+  // 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 
+    }, 
+    set(val) { 
+      ctx.emit('update:modelValue', val) 
+    }, 
+  }) 
+  /** 
+   * 娣诲姞鐨刦orm瀛楁 
+   */ 
+  const formItems = reactive([ 
+                    { 
+                   label: '鍗曟嵁缂栧彿', 
+                   prop: 'orderNo', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ュ崟鎹紪鍙�', 
+              rules: [{required: true, message: '鍗曟嵁缂栧彿涓嶈兘涓虹┖', trigger: 'blur' }], 
+                }, 
+                { 
+                   label: '鐗╂枡鍚嶇О', 
+                   prop: 'materialName', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ョ墿鏂欏悕绉�', 
+                }, 
+                { 
+                   label: '鐗╂枡浠跺彿', 
+                   prop: 'materialNo', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ョ墿鏂欎欢鍙�', 
+              rules: [{required: true, message: '鐗╂枡浠跺彿涓嶈兘涓虹┖', trigger: 'blur' }], 
+                }, 
+                { 
+                   label: '鎿嶄綔绫诲瀷', 
+                   prop: 'stockType', 
+                   el: 'select', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ユ搷浣滅被鍨�', 
+              rules: [{required: true, message: '鎿嶄綔绫诲瀷涓嶈兘涓虹┖', trigger: 'blur' }], 
+                }, 
+                { 
+                   label: '瀹瑰櫒缂栧彿', 
+                   prop: 'containerNo', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ュ鍣ㄧ紪鍙�', 
+                }, 
+                { 
+                   label: '鏈哄瀷', 
+                   prop: 'materialModel', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ユ満鍨�', 
+                }, 
+                { 
+                   label: '鎿嶄綔鏃堕棿', 
+                   prop: 'operateTime', 
+                   type: 'datetimerange', 
+                   el: 'date-picker', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ユ搷浣滄椂闂�', 
+                }, 
+                { 
+                   label: '澶囨敞', 
+                   prop: 'remark', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ュ娉�', 
+                }, 
+                { 
+                   label: '鐗╂枡ID', 
+                   prop: 'materialId', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ョ墿鏂橧D', 
+              rules: [{required: true, message: '鐗╂枡ID涓嶈兘涓虹┖', trigger: 'blur' }], 
+                }, 
+                { 
+                   label: '浠诲姟鍙�', 
+                   prop: 'taskNo', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ヤ换鍔″彿', 
+              rules: [{required: true, message: '浠诲姟鍙蜂笉鑳戒负绌�', trigger: 'blur' }], 
+                }, 
+                { 
+                   label: '璧峰搴撲綅', 
+                   prop: 'sourcePlace', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ヨ捣濮嬪簱浣�', 
+                }, 
+                { 
+                   label: '鐩爣搴撲綅', 
+                   prop: 'toPlace', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ョ洰鏍囧簱浣�', 
+                },  
+  ]) 
+  /** 
+   * 鏍¢獙鏄惁鏈夋暟鎹彉鍖� 
+   */ 
+  const checkIsEqualObject = () => { 
+    const data = { 
+      formData: formData.value, 
+    } 
+    const check = isEqual(initiateData.value, data) 
+    return check 
+  } 
+ 
+  const onClose = (done: () => void) => { 
+    if (visible.value) { 
+      if (checkIsEqualObject()) { 
+        visible.value = false 
+        done && done() 
+      } else { 
+        ConfirmBox('鏄惁淇濆瓨璁剧疆锛�') 
+          .then(() => { 
+            onConfirm() 
+          }) 
+          .catch(() => { 
+            visible.value = false 
+            done && done() 
+          }) 
+      } 
+    } 
+  } 
+  /** 
+   * 淇濆瓨 
+   */ 
+  const onConfirm = async () => { 
+    await formRef.value?.validate() 
+    const data = { 
+      orderNo: formData.value.orderNo, 
+materialName: formData.value.materialName, 
+materialNo: formData.value.materialNo, 
+stockType: formData.value.stockType, 
+containerNo: formData.value.containerNo, 
+materialModel: formData.value.materialModel, 
+operateTime: formData.value.operateTime, 
+remark: formData.value.remark, 
+materialId: formData.value.materialId, 
+taskNo: formData.value.taskNo, 
+sourcePlace: formData.value.sourcePlace, 
+toPlace: formData.value.toPlace,  
+    } 
+    if (!current.value) { 
+      await wmsInOutStockRecordDrawer.addWmsInOutStockRecord(data) 
+    } else { 
+      const id = current.value.id 
+      await wmsInOutStockRecordDrawer.updateWmsInOutStockRecord(id, data) 
+    } 
+    ElMessage.success('淇濆瓨鎴愬姛') 
+    ctx.emit('confirm') 
+  } 
+ 
+  const updateCheckData = () => { 
+    initiateData.value = { 
+      formData: { 
+        ...formData.value, 
+      }, 
+    } 
+  } 
+  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 commonQueryEnumForFrom = async () => { 
+    const stockTypeEnumEnum = await wmsInOutStockRecordDrawer.getWmsEnumData({ 
+ EnumName: 'StockTypeEnum', 
+}) 
+updateFormItemOptions('stockType', stockTypeEnumEnum) 
+ 
+  } 
+  commonQueryEnumForFrom() 
+  /** 
+   * 寮圭獥鎵撳紑鑾峰彇璇︽儏 
+   */ 
+  const onOpen = async () => { 
+    if (current.value) { 
+      const res = await wmsInOutStockRecordDrawer.getWmsInOutStockRecordDetail(current.value) 
+ 
+      formData.value = { 
+        orderNo: res.orderNo, 
+materialName: res.materialName, 
+materialNo: res.materialNo, 
+stockType: res.stockType, 
+containerNo: res.containerNo, 
+materialModel: res.materialModel, 
+operateTime: res.operateTime, 
+remark: res.remark, 
+materialId: res.materialId, 
+taskNo: res.taskNo, 
+sourcePlace: res.sourcePlace, 
+toPlace: res.toPlace,  
+        id: res.id, 
+      } 
+      disabled.value = true 
+      updateCheckData() 
+    } else { 
+      formData.value = {} 
+ 
+      disabled.value = false 
+      updateCheckData() 
+    } 
+  } 
+ 
+  watch(() => current.value, onOpen) 
+ 
+  return { 
+    formItems, 
+    formData, 
+    visible, 
+    formRef, 
+    onOpen, 
+    onClose, 
+    onConfirm, 
+  } 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Controllers/WmsInOutStockRecordQueryDrawer.tsx" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Controllers/WmsInOutStockRecordQueryDrawer.tsx"
new file mode 100644
index 0000000..d1074e5
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Controllers/WmsInOutStockRecordQueryDrawer.tsx"
@@ -0,0 +1,267 @@
+import { 
+  ref, 
+  onMounted, 
+  reactive, 
+  computed, 
+  Ref, 
+  watch, 
+  SetupContext, 
+  h, 
+} from 'vue' 
+import { injectModel } from '@/libs/Provider/Provider' 
+import { WmsInOutStockRecordDrawer } from '../Models/WmsInOutStockRecordDrawer' 
+import { ElMessage } from 'element-plus' 
+import isEqual from 'lodash/isEqual' 
+import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox' 
+import { cloneDeep } from 'lodash' 
+ 
+export const useWmsInOutStockRecordQueryDrawer = (props: any, ctx?: any) => { 
+  const wmsInOutStockRecordDrawer = injectModel<WmsInOutStockRecordDrawer>('WmsInOutStockRecordDrawer') 
+  /** 
+   * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁 
+   */ 
+  const initiateData: Ref<Record<string, any>> = ref({}) 
+  const formData = ref<Record<string, any>>({}) 
+  // 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 
+    }, 
+    set(val) { 
+      ctx.emit('update:modelValue', val) 
+    }, 
+  }) 
+  /** 
+   * 娣诲姞鐨刦orm瀛楁 
+   */ 
+  const formItems = reactive([ 
+                    { 
+                   label: '鍗曟嵁缂栧彿', 
+                   prop: 'orderNo', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ュ崟鎹紪鍙�', 
+                }, 
+                { 
+                   label: '鐗╂枡鍚嶇О', 
+                   prop: 'materialName', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ョ墿鏂欏悕绉�', 
+                }, 
+                { 
+                   label: '鐗╂枡浠跺彿', 
+                   prop: 'materialNo', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ョ墿鏂欎欢鍙�', 
+                }, 
+                { 
+                   label: '鎿嶄綔绫诲瀷', 
+                   prop: 'stockType', 
+                   el: 'select', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ユ搷浣滅被鍨�', 
+                }, 
+                { 
+                   label: '瀹瑰櫒缂栧彿', 
+                   prop: 'containerNo', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ュ鍣ㄧ紪鍙�', 
+                }, 
+                { 
+                   label: '鏈哄瀷', 
+                   prop: 'materialModel', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ユ満鍨�', 
+                }, 
+                { 
+                   label: '鎿嶄綔鏃堕棿', 
+                   prop: 'operateTime', 
+                   type: 'datetimerange', 
+                   el: 'date-picker', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ユ搷浣滄椂闂�', 
+                }, 
+                { 
+                   label: '澶囨敞', 
+                   prop: 'remark', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ュ娉�', 
+                }, 
+                { 
+                   label: '鐗╂枡ID', 
+                   prop: 'materialId', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ョ墿鏂橧D', 
+                }, 
+                { 
+                   label: '浠诲姟鍙�', 
+                   prop: 'taskNo', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ヤ换鍔″彿', 
+                }, 
+                { 
+                   label: '璧峰搴撲綅', 
+                   prop: 'sourcePlace', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ヨ捣濮嬪簱浣�', 
+                }, 
+                { 
+                   label: '鐩爣搴撲綅', 
+                   prop: 'toPlace', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ョ洰鏍囧簱浣�', 
+                },  
+  ]) 
+  /** 
+   * 鏍¢獙鏄惁鏈夋暟鎹彉鍖� 
+   */ 
+  const checkIsEqualObject = () => { 
+    const data = { 
+      formData: formData.value, 
+    } 
+    const check = isEqual(initiateData.value, data) 
+    return check 
+  } 
+  const commonGetFormData=()=>{ 
+    const data = { 
+      OrderNo: formData.value.OrderNo, 
+MaterialName: formData.value.MaterialName, 
+MaterialNo: formData.value.MaterialNo, 
+StockType: formData.value.StockType, 
+ContainerNo: formData.value.ContainerNo, 
+MaterialModel: formData.value.MaterialModel, 
+OperateTime: formData.value.OperateTime, 
+Remark: formData.value.Remark, 
+MaterialId: formData.value.MaterialId, 
+TaskNo: formData.value.TaskNo, 
+SourcePlace: formData.value.SourcePlace, 
+ToPlace: formData.value.ToPlace,  
+    } 
+    return data; 
+  } 
+  const onClose = (done: () => void) => { 
+    if (visible.value) { 
+      visible.value = false 
+      const data =commonGetFormData(); 
+      ctx.emit('close', data) 
+    } 
+  } 
+  /** 
+   * 纭鏌ヨ 
+   */ 
+  const onConfirmQuery = async () => { 
+    const data =commonGetFormData(); 
+    ctx.emit('confirmQuery', data) 
+  } 
+  /** 
+   * 閲嶇疆鏌ヨ 
+   */ 
+  const onReset = async () => { 
+    formData.value = {} 
+    formData.value.OrderNo = '' 
+formData.value.MaterialName = '' 
+formData.value.MaterialNo = '' 
+formData.value.StockType = '' 
+formData.value.ContainerNo = '' 
+formData.value.MaterialModel = '' 
+formData.value.OperateTime = '' 
+formData.value.Remark = '' 
+formData.value.MaterialId = '' 
+formData.value.TaskNo = '' 
+formData.value.SourcePlace = '' 
+formData.value.ToPlace = ''  
+    formData.value.materialCode = '' 
+    formData.value.materialName = '' 
+    formData.value.purchaseType = '' 
+    formData.value.materialType = '' 
+    formData.value.primaryUnit = '' 
+    formData.value.standard = '' 
+    formData.value.outerDiameter = '' 
+    formData.value.wallThickness = '' 
+    formData.value.materialQuality = '' 
+    formData.value.length = '' 
+    formData.value.isMainBranch = '' 
+    formData.value.factory = '' 
+    formData.value.certification = '' 
+    formData.value.remark = '' 
+    //鍚戠埗缁勪欢鍙戦�佽嚜瀹氫箟浜嬩欢 
+    ctx.emit('restQuery'); 
+  } 
+ 
+  const updateCheckData = () => { 
+    initiateData.value = { 
+      formData: { 
+        ...formData.value, 
+      }, 
+    } 
+  } 
+  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 commonQueryEnumForFrom = async () => { 
+    const stockTypeEnumEnum = await wmsInOutStockRecordDrawer.getWmsEnumData({ 
+ EnumName: 'StockTypeEnum', 
+}) 
+updateFormItemOptions('stockType', stockTypeEnumEnum) 
+ 
+  } 
+  commonQueryEnumForFrom() 
+  /** 
+   * 寮圭獥鎵撳紑鑾峰彇璇︽儏 
+   */ 
+  const onOpen = async () => { 
+    disabled.value = false 
+    updateCheckData() 
+  } 
+ 
+  watch(() => current.value, onOpen) 
+ 
+  return { 
+    formItems, 
+    formData, 
+    visible, 
+    formRef, 
+    onOpen, 
+    onClose, 
+    onConfirmQuery, 
+    onReset, 
+  } 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Models/Service/WmsInOutStockRecord.ts" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Models/Service/WmsInOutStockRecord.ts"
new file mode 100644
index 0000000..be7ab90
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Models/Service/WmsInOutStockRecord.ts"
@@ -0,0 +1,30 @@
+import { Base } from '@/libs/Base/Base' 
+const request = Base.request 
+ 
+/** 
+ * 娣诲姞 
+ * @returns 
+ */ 
+export const addWmsInOutStockRecord = (data: any) => { 
+  return request.post('/api/v1/HIAWms/wmsInOutStockRecord', data) 
+} 
+ 
+/** 
+ * 鎵归噺鍒犻櫎 
+ * @returns 
+ */ 
+export const deleteWmsInOutStockRecords = (ids: string[]) => { 
+  return request({ 
+    data: ids, 
+    url: '/api/v1/HIAWms/wmsInOutStockRecord', 
+    method: 'delete', 
+  }) 
+} 
+ 
+/** 
+ * 鍏嬮殕 
+ * @returns 
+ */ 
+export const cloneData = (data: any) => { 
+  return request.post('/api/v1/HIAWms/wmsInOutStockRecord/clone', data) 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Models/Service/WmsInOutStockRecordDrawer.ts" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Models/Service/WmsInOutStockRecordDrawer.ts"
new file mode 100644
index 0000000..cbef900
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Models/Service/WmsInOutStockRecordDrawer.ts"
@@ -0,0 +1,34 @@
+import { Base } from '@/libs/Base/Base' 
+const request = Base.request 
+ 
+/** 
+ * 娣诲姞 
+ * @returns 
+ */ 
+export const addWmsInOutStockRecord = (data: any) => { 
+  return request.post('/api/v1/HIAWms/wmsInOutStockRecord', data) 
+} 
+ 
+/** 
+ * 鑾峰彇璇︽儏 
+ * @returns 
+ */ 
+export const getWmsInOutStockRecord = (id: string) => { 
+  return request.get(`/api/v1/HIAWms/wmsInOutStockRecord/${id}`) 
+} 
+ 
+/** 
+ * 鏇存柊 
+ * @returns 
+ */ 
+export const updateWmsInOutStockRecord = (id: string, data: Record<string, any>) => { 
+  return request.put(`/api/v1/HIAWms/wmsInOutStockRecord/${id}`, data) 
+} 
+ 
+/** 
+ * 鑾峰彇鏋氫妇 
+ * @returns 
+ */ 
+export const getWmsEnumData = (data: any) => { 
+  return request.post('/api/v1/HIAWms/WmsEnum', data) 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Models/Service/WmsInOutStockRecordQueryDrawer.ts" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Models/Service/WmsInOutStockRecordQueryDrawer.ts"
new file mode 100644
index 0000000..7f3530a
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Models/Service/WmsInOutStockRecordQueryDrawer.ts"
@@ -0,0 +1,35 @@
+import { Base } from '@/libs/Base/Base' 
+const request = Base.request 
+ 
+/** 
+ * 娣诲姞 
+ * @returns 
+ */ 
+export const addWmsInOutStockRecord = (data: any) => { 
+  return request.post('/api/v1/HIAWms/wmsInOutStockRecord', data) 
+} 
+ 
+/** 
+ * 鑾峰彇璇︽儏 
+ * @returns 
+ */ 
+export const getWmsInOutStockRecord = (id: string) => { 
+  return request.get(`/api/v1/HIAWms/wmsInOutStockRecord/${id}`) 
+} 
+ 
+/** 
+ * 鏇存柊 
+ * @returns 
+ */ 
+export const updateWmsInOutStockRecord = (id: string, data: Record<string, any>) => { 
+  return request.put(`/api/v1/HIAWms/wmsInOutStockRecord/${id}`, data) 
+} 
+ 
+/** 
+ * 鑾峰彇鏋氫妇 
+ * @returns 
+ */ 
+export const getWmsEnumData = (data: any) => { 
+  return request.post('/api/v1/HIAWms/WmsEnum', data) 
+} 
+ 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Models/WmsInOutStockRecord.ts" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Models/WmsInOutStockRecord.ts"
new file mode 100644
index 0000000..85d73a8
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Models/WmsInOutStockRecord.ts"
@@ -0,0 +1,41 @@
+import { Base } from '@/libs/Base/Base' 
+import { 
+  deleteWmsInOutStockRecords, 
+  addWmsInOutStockRecord, 
+  cloneData, 
+} from './Service/WmsInOutStockRecord' 
+ 
+export class WmsInOutStockRecord extends Base<{ [key: string]: any }> { 
+  constructor() { 
+    super({ 
+      data: [], 
+    }) 
+  } 
+  onMounted() {} 
+  /** 
+   * 鍒犻櫎 
+   * @param id 
+   * @returns 
+   */ 
+  async deleteWmsInOutStockRecords(ids: string[]) { 
+    return deleteWmsInOutStockRecords(ids) 
+  } 
+ 
+  /** 
+   * 娣诲姞鏁版嵁 
+   * @param data 
+   * @returns 
+   */ 
+  addWmsInOutStockRecord(data: Record<string, any>) { 
+    return addWmsInOutStockRecord(data) 
+  } 
+ 
+  /** 
+   * 鍏嬮殕 
+   * @param ids 
+   * @returns 
+   */ 
+  cloneData(ids: string[]) { 
+    return cloneData(ids) 
+  } 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Models/WmsInOutStockRecordDrawer.ts" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Models/WmsInOutStockRecordDrawer.ts"
new file mode 100644
index 0000000..450c9ba
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Models/WmsInOutStockRecordDrawer.ts"
@@ -0,0 +1,44 @@
+import { Base } from '@/libs/Base/Base' 
+import { 
+  addWmsInOutStockRecord, 
+  getWmsInOutStockRecord, 
+  updateWmsInOutStockRecord, 
+  getWmsEnumData, 
+} from './Service/WmsInOutStockRecordDrawer' 
+import { useGlobalState } from '@/libs/Store/Store' 
+ 
+export class WmsInOutStockRecordDrawer extends Base<{ [key: string]: any }> { 
+  constructor() { 
+    super({ 
+      data: [], 
+      wmsInOutStockRecord: {}, 
+    }) 
+  } 
+ 
+  /** 
+   * 娣诲姞 
+   * @param data 
+   */ 
+  async addWmsInOutStockRecord(data: Record<string, any>) { 
+    return addWmsInOutStockRecord(data) 
+  } 
+  /** 
+   * 鏇存柊 
+   * @param data 
+   */ 
+  async updateWmsInOutStockRecord(id: string, data: Record<string, any>) { 
+    return updateWmsInOutStockRecord(id, data) 
+  } 
+ 
+  /** 
+   * 鑾峰彇璇︽儏 
+   */ 
+  async getWmsInOutStockRecordDetail(current: any, id?: string) { 
+    return getWmsInOutStockRecord(id || current?.id) 
+  } 
+ 
+  //  鑾峰彇鏋氫妇鍊� 
+  async getWmsEnumData(data: Record<string, any>) { 
+    return getWmsEnumData(data) 
+  } 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Models/WmsInOutStockRecordQueryDrawer.ts" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Models/WmsInOutStockRecordQueryDrawer.ts"
new file mode 100644
index 0000000..e4c2ef2
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Models/WmsInOutStockRecordQueryDrawer.ts"
@@ -0,0 +1,44 @@
+import { Base } from '@/libs/Base/Base' 
+import { 
+  addWmsInOutStockRecord, 
+  getWmsInOutStockRecord, 
+  updateWmsInOutStockRecord, 
+  getWmsEnumData, 
+} from './Service/WmsInOutStockRecordQueryDrawer' 
+import { useGlobalState } from '@/libs/Store/Store' 
+ 
+export class WmsInOutStockRecordQueryDrawer extends Base<{ [key: string]: any }> { 
+  constructor() { 
+    super({ 
+      data: [], 
+      wmsInOutStockRecord: {}, 
+    }) 
+  } 
+ 
+  /** 
+   * 娣诲姞 
+   * @param data 
+   */ 
+  async addWmsInOutStockRecord(data: Record<string, any>) { 
+    return addWmsInOutStockRecord(data) 
+  } 
+  /** 
+   * 鏇存柊 
+   * @param data 
+   */ 
+  async updateWmsInOutStockRecord(id: string, data: Record<string, any>) { 
+    return updateWmsInOutStockRecord(id, data) 
+  } 
+ 
+  /** 
+   * 鑾峰彇璇︽儏 
+   */ 
+  async getWmsInOutStockRecordDetail(current: any, id?: string) { 
+    return getWmsInOutStockRecord(id || current?.id) 
+  } 
+ 
+  //  鑾峰彇鏋氫妇鍊� 
+  async getWmsEnumData(data: Record<string, any>) { 
+    return getWmsEnumData(data) 
+  } 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/Pages/Dialog/WmsInOutStockRecordDrawer/WmsInOutStockRecordDrawer.module.scss" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/Pages/Dialog/WmsInOutStockRecordDrawer/WmsInOutStockRecordDrawer.module.scss"
new file mode 100644
index 0000000..177adca
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/Pages/Dialog/WmsInOutStockRecordDrawer/WmsInOutStockRecordDrawer.module.scss"
@@ -0,0 +1,3 @@
+.drawer { 
+  width: 800px; 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/Pages/Dialog/WmsInOutStockRecordDrawer/WmsInOutStockRecordDrawer.tsx" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/Pages/Dialog/WmsInOutStockRecordDrawer/WmsInOutStockRecordDrawer.tsx"
new file mode 100644
index 0000000..e0f65e2
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/Pages/Dialog/WmsInOutStockRecordDrawer/WmsInOutStockRecordDrawer.tsx"
@@ -0,0 +1,61 @@
+import { SetupContext, defineComponent } from 'vue' 
+import BaseDrawer from '@/components/BaseDrawer/BaseDrawer' 
+import styles from './WmsInOutStockRecordDrawer.module.scss' 
+import { useWmsInOutStockRecordDrawer } from '../../../../Controllers/WmsInOutStockRecordDrawer.tsx' 
+import DyForm from '@/components/DyForm/DyForm' 
+ 
+// @ts-ignore 
+export default defineComponent<{ 
+  [key: string]: any 
+}>({ 
+  name: '寮圭獥', 
+  props: { 
+    modelValue: { 
+      type: Boolean, 
+      default: false, 
+    }, 
+    title: { 
+      type: String, 
+      default: '', 
+    }, 
+    row: { 
+      type: Object, 
+    }, 
+    sort: { 
+      type: Number, 
+      default: 0, 
+    }, 
+  }, 
+  emits: ['update:modelValue', 'close', 'submit', 'confirm'], 
+  setup(props: Record<string, any>, ctx: SetupContext) { 
+    const { 
+      onClose, 
+      onConfirm, 
+      onOpen, 
+      formRef, 
+      visible, 
+      formItems, 
+      formData, 
+    } = useWmsInOutStockRecordDrawer(props, ctx) 
+    return () => ( 
+      <BaseDrawer 
+        class={styles.drawer} 
+        size="800px" 
+        title={props.title || '娣诲姞'} 
+        v-model={visible.value} 
+        close-on-click-modal={true} 
+        onConfirm={onConfirm} 
+        onOpen={onOpen} 
+        before-close={onClose} 
+        onClose={onClose} 
+      > 
+        <DyForm 
+          ref={formRef} 
+          formData={formData.value} 
+          labelWidth="106px" 
+          formItemProps={formItems} 
+        ></DyForm> 
+      </BaseDrawer> 
+    ) 
+  }, 
+}) 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/Pages/Dialog/WmsInOutStockRecordQueryDrawer/WmsInOutStockRecordQueryDrawer.module.scss" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/Pages/Dialog/WmsInOutStockRecordQueryDrawer/WmsInOutStockRecordQueryDrawer.module.scss"
new file mode 100644
index 0000000..177adca
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/Pages/Dialog/WmsInOutStockRecordQueryDrawer/WmsInOutStockRecordQueryDrawer.module.scss"
@@ -0,0 +1,3 @@
+.drawer { 
+  width: 800px; 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/Pages/Dialog/WmsInOutStockRecordQueryDrawer/WmsInOutStockRecordQueryDrawer.tsx" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/Pages/Dialog/WmsInOutStockRecordQueryDrawer/WmsInOutStockRecordQueryDrawer.tsx"
new file mode 100644
index 0000000..5c44328
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/Pages/Dialog/WmsInOutStockRecordQueryDrawer/WmsInOutStockRecordQueryDrawer.tsx"
@@ -0,0 +1,71 @@
+/* 
+ * 鐗╂枡鍩虹淇℃伅鏌ヨ寮瑰嚭妗� 
+*/ 
+import { SetupContext, defineComponent } from 'vue' 
+import BaseQueryDrawer from '@/components/BaseQueryDrawer/BaseQueryDrawer' 
+import styles from './WmsInOutStockRecordQueryDrawer.module.scss' 
+import { useWmsInOutStockRecordQueryDrawer } from '../../../../Controllers/WmsInOutStockRecordQueryDrawer.tsx' 
+import DyForm from '@/components/DyForm/DyForm' 
+ 
+// @ts-ignore 
+export default defineComponent<{ 
+  [key: string]: any 
+}>({ 
+  name: '寮圭獥', 
+  props: { 
+    //鏋氫妇绫诲瀷瀛楀吀 
+    enumListDict:{ 
+      type: Array as () => Array<{ key: string; value: object }>, // 瀹氫箟鏁扮粍鍏冪礌绫诲瀷 
+      default: () => [] // 榛樿鍊� 
+    }, 
+    modelValue: { 
+      type: Boolean, 
+      default: false, 
+    }, 
+    title: { 
+      type: String, 
+      default: '', 
+    }, 
+    row: { 
+      type: Object, 
+    }, 
+    sort: { 
+      type: Number, 
+      default: 0, 
+    }, 
+  }, 
+  emits: ['update:modelValue', 'close', 'submit', 'confirmquery1'], 
+  setup(props: Record<string, any>, ctx: SetupContext) { 
+    const { 
+      onClose, 
+      onConfirmQuery, 
+      onOpen, 
+      onReset, 
+      formRef, 
+      visible, 
+      formItems, 
+      formData, 
+    } = useWmsInOutStockRecordQueryDrawer(props, ctx) 
+    return () => ( 
+      <BaseQueryDrawer 
+        class={styles.drawer} 
+        size="800px" 
+        title={props.title || '楂樼骇鏌ヨ'} 
+        v-model={visible.value} 
+        close-on-click-modal={true} 
+        onReset={onReset} 
+        onConfirmQueryForBase={onConfirmQuery} 
+        onOpen={onOpen} 
+        before-close={onClose} 
+        onClose={onClose} 
+      > 
+        <DyForm 
+          ref={formRef} 
+          formData={formData.value} 
+          labelWidth="106px" 
+          formItemProps={formItems} 
+        ></DyForm> 
+      </BaseQueryDrawer> 
+    ) 
+  }, 
+}) 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/Pages/WmsInOutStockRecord/Config.ts" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/Pages/WmsInOutStockRecord/Config.ts"
new file mode 100644
index 0000000..5297ad7
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/Pages/WmsInOutStockRecord/Config.ts"
@@ -0,0 +1,67 @@
+export const columns = [ 
+  { 
+    type: 'seq', 
+    width: 60, 
+    title: '搴忓彿', 
+  }, 
+  { 
+  field: 'orderNo', 
+  title: '鍗曟嵁缂栧彿', 
+}, 
+{ 
+  field: 'materialName', 
+  title: '鐗╂枡鍚嶇О', 
+}, 
+{ 
+  field: 'materialNo', 
+  title: '鐗╂枡浠跺彿', 
+}, 
+{ 
+  field: 'stockTypeDesc', 
+  title: '鎿嶄綔绫诲瀷', 
+}, 
+{ 
+  field: 'containerNo', 
+  title: '瀹瑰櫒缂栧彿', 
+}, 
+{ 
+  field: 'materialModel', 
+  title: '鏈哄瀷', 
+}, 
+{ 
+  field: 'operateTime', 
+  title: '鎿嶄綔鏃堕棿', 
+}, 
+{ 
+  field: 'remark', 
+  title: '澶囨敞', 
+}, 
+{ 
+  field: 'materialId', 
+  title: '鐗╂枡ID', 
+}, 
+{ 
+  field: 'taskNo', 
+  title: '浠诲姟鍙�', 
+}, 
+{ 
+  field: 'sourcePlace', 
+  title: '璧峰搴撲綅', 
+}, 
+{ 
+  field: 'toPlace', 
+  title: '鐩爣搴撲綅', 
+}, 
+{ 
+  field: 'creationTime', 
+  title: '', 
+}, 
+{ 
+  field: 'deletionTime', 
+  title: '', 
+}, 
+{ 
+  field: 'sort', 
+  title: '鎺掑簭', 
+},  
+] 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/Pages/WmsInOutStockRecord/WmsInOutStockRecord.module.scss" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/Pages/WmsInOutStockRecord/WmsInOutStockRecord.module.scss"
new file mode 100644
index 0000000..a1c8215
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/Pages/WmsInOutStockRecord/WmsInOutStockRecord.module.scss"
@@ -0,0 +1,113 @@
+.wmsInOutStockRecordContent { 
+  width: 100%; 
+  height: 100%; 
+ 
+  .wmsInOutStockRecordList { 
+    width: 100%; 
+    height: calc(100% - 70px); 
+  } 
+  .headerContent { 
+    display: flex; 
+    justify-content: space-between; 
+    align-items: center; 
+    height: 43px; 
+  } 
+  .header { 
+    margin-bottom: 12px; 
+    display: flex; 
+    justify-content: flex-start; 
+    align-items: center; 
+  } 
+} 
+ 
+.tagBox { 
+  width: auto; 
+  min-width: 80px; 
+  height: 24px; 
+  background: #ffffff; 
+  border-radius: 19px 19px 19px 19px; 
+  opacity: 1; 
+  border: 1px dashed #bcc4cc; 
+  width: 50px; 
+  height: 20px; 
+  font-size: 14px; 
+  font-family: PingFang SC, PingFang SC; 
+  font-weight: 400; 
+  color: #5a84ff; 
+  display: flex; 
+  justify-content: center; 
+  align-items: center; 
+  // cursor: pointer; 
+} 
+ 
+.group { 
+  display: flex; 
+  justify-content: space-between; 
+  align-items: center; 
+} 
+ 
+.groupTable { 
+  width: 100%; 
+} 
+ 
+.overBox { 
+  width: 100%; 
+  height: calc(100% - 20px); 
+  overflow: auto; 
+  :global(.cs-collapse-item__header) { 
+    background-color: #f1f1f1; 
+    padding: 0 20px; 
+    height: 35px; 
+    font-size: 16px; 
+    font-family: PingFang SC, PingFang SC; 
+    font-weight: 500; 
+  } 
+  :global(.cs-collapse-item__content) { 
+    padding-bottom: 0px; 
+  } 
+} 
+.groupHeader { 
+  width: 100%; 
+  height: 30px; 
+  background: #ccc; 
+} 
+ 
+.hideBlock { 
+  display: none; 
+} 
+.queryForm { 
+  padding: 10px; 
+  background: #f5f7fa; 
+  margin-bottom: 0px; 
+  border-radius: 4px; 
+   
+  .el-form-item { 
+    margin-right: 20px; 
+    margin-bottom: 0; 
+     
+    // 缁熶竴杈撳叆妗嗗拰閫夋嫨妗嗙殑瀹藉害 
+    .el-input, .el-select { 
+      width: 200px; // 璁剧疆缁熶竴鐨勫搴� 
+    } 
+     
+    // 閫夋嫨妗嗗唴閮ㄨ緭鍏ユ鏍峰紡 
+    .el-select .el-input__wrapper { 
+      height: 32px; // 涓庤緭鍏ユ楂樺害涓�鑷� 
+      padding: 1px 11px; // 涓庤緭鍏ユ鍐呰竟璺濅竴鑷� 
+    } 
+     
+    // 鏃ユ湡閫夋嫨鍣ㄥ搴� 
+    .el-date-editor { 
+      width: 220px; 
+    } 
+  } 
+} 
+ 
+// 濡傛灉闇�瑕佹洿绮剧‘鐨勬帶鍒讹紝鍙互鍗曠嫭璁剧疆 
+.formItem { 
+  width: 200px; 
+   
+  &.el-input, &.el-select { 
+    width: 100%; 
+  } 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/Pages/WmsInOutStockRecord/WmsInOutStockRecord.tsx" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/Pages/WmsInOutStockRecord/WmsInOutStockRecord.tsx"
new file mode 100644
index 0000000..a5a85b1
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/Pages/WmsInOutStockRecord/WmsInOutStockRecord.tsx"
@@ -0,0 +1,308 @@
+import { computed, defineComponent, onMounted, reactive, ref } from 'vue' 
+import type { Ref } from 'vue' 
+import BaseTable from '@/components/Table/Table' 
+import styles from './WmsInOutStockRecord.module.scss' 
+import { useWmsInOutStockRecord } from '../../../Controllers/WmsInOutStockRecord' 
+import IconButton from '@/components/IconButton/IconButton' 
+import WmsInOutStockRecordDrawer from '../Dialog/WmsInOutStockRecordDrawer/WmsInOutStockRecordDrawer' 
+import WmsInOutStockRecordQueryDrawer from '../Dialog/WmsInOutStockRecordQueryDrawer/WmsInOutStockRecordQueryDrawer' 
+import Search from '@/components/Search/Search' 
+import { columns } from './Config' 
+import TdButton from '@/components/TdButton/TdButton' 
+import { vPermission } from '@/libs/Permission/Permission' 
+import { 
+  getWmsEnumData 
+} from '@/widgets/WmsInOutStockRecord/Models/Service/WmsInOutStockRecordDrawer' 
+import { 
+  ElInput, 
+  ElSelect, 
+  ElOption, 
+  ElDatePicker, 
+  ElForm, 
+  ElFormItem, 
+} from 'element-plus' 
+import { injectModel } from '@/libs/Provider/Provider' 
+ 
+interface RenderTableType { 
+  url?: string 
+  dataSource: Ref<any[]> 
+  isDrag?: boolean 
+  isChecked?: boolean 
+  isHidePagination?: boolean 
+  params?: Record<string, any> 
+  autoHeight?: boolean 
+} 
+ 
+export default defineComponent({ 
+  name: 'WmsInOutStockRecord', 
+  directives: { 
+    permission: vPermission, 
+  }, 
+  setup(props, ctx) { 
+    const { 
+      dataSource, 
+      contextMenu, 
+      dialogConfig, 
+      dialogConfigForQuery, 
+      tableRef, 
+      current, 
+      search, 
+      sort, 
+      headers, 
+      onError, 
+      onSearch, 
+      onRowClick, 
+      onConfirmWmsInOutStockRecord, 
+      onCheck, 
+      onAddWmsInOutStockRecord, 
+      onAdvancedQuery, 
+      onExport, 
+      openDetail, 
+      onSuccess, 
+      onBeforeUpload, 
+    } = useWmsInOutStockRecord(props, ctx) 
+ 
+    //瀹氫箟楂樼骇鏌ヨ寮曠敤 
+   const wmsInOutStockRecordQueryDrawerRef=ref(null); 
+    // 鏂板鐨勬煡璇㈡潯浠� 
+    const queryForm = ref({ 
+      searchVal: '', 
+      str_searchFormInputAttrs:[] 
+    }) 
+    //瀹氫箟鏁翠綋妯$硦鏌ヨ鐨勫垪鏁扮粍(娉ㄦ剰锛氬繀椤诲ぇ灏忓啓璺熷悗绔殑瀹炰綋绫诲睘鎬у悕涓�鑷达紝鍚﹀垯浼氬鑷村尮閰嶄笉瀵圭殑闂) 
+    const _searchFormInputAttrs = ref([ 
+     'MaterialNo', 'MaterialName', 'Remark' 
+    ]); 
+    const searchFormInputAttrs_Placeholder = ref('璇疯緭鍏ョ墿鏂欑紪鐮�/鐗╂枡鍚嶇О/澶囨敞'); 
+     
+ 
+    // 鍔ㄦ�佹灇涓鹃�夐」 
+    const enumOptions = reactive({ 
+      stockType: [] as Array<{label: string; value: any }>,  
+    }) 
+ 
+    // 鑾峰彇鏋氫妇鏁版嵁 
+    const fetchEnumData = async () => { 
+      try { 
+        const stockTypeEnumData = await getWmsEnumData({ 
+ EnumName: 'StockTypeEnum', 
+}) 
+enumOptions.stockType = stockTypeEnumData.map((item) => ({ 
+  label: item.description, 
+  value: item.value, 
+})) 
+ 
+      } catch (error) { 
+        console.error('鑾峰彇鏋氫妇鏁版嵁澶辫触:', error) 
+      } 
+    } 
+ 
+    // 缁勪欢鎸傝浇鏃惰幏鍙栨灇涓炬暟鎹� 
+    onMounted(() => { 
+      fetchEnumData() 
+    }) 
+ 
+    // 瀹氫箟鍝嶅簲寮忔煡璇㈡暟鎹� 
+    const _curHighQueryData = ref({ searchVal: '',str_searchFormInputAttrs:[] }); 
+    // 鏂扮増鐨勬煡璇㈡柟娉曪紙涓婚〉闈腑鐨勬寜閽�愭煡璇€�戯級 
+    const handleQueryForMain = async () => { 
+      _curHighQueryData.value.searchVal = queryForm.value.searchVal; 
+      _curHighQueryData.value.str_searchFormInputAttrs = _searchFormInputAttrs.value; 
+      tableRef.value.getList(_curHighQueryData.value) 
+    } 
+    // 鏂扮増鐨勬煡璇㈡柟娉曪紙楂樼骇鏌ヨ涓殑鎸夐挳銆愭煡璇€�戯級 
+    const handleQuery = async (extraParams = {}) => { 
+      let filteredData = commonGetHighQueryForm(extraParams); 
+      commonSaveCurHighQueryData(filteredData); 
+      tableRef.value.getList(filteredData) 
+    } 
+    // 鏂扮増鐨勬煡璇㈤噸缃� 
+    const resetQuery = () => { 
+      queryForm.value.searchVal = '' 
+      queryForm.value.str_searchFormInputAttrs=_searchFormInputAttrs.value; 
+    } 
+     //鏂扮増鐨勫鍑烘柟娉� 
+     const handleExport=()=>{ 
+      onExport(_curHighQueryData.value); 
+    } 
+    // 鏂扮増鐨勬煡璇㈠脊鍑烘鍏抽棴鏂规硶 
+    const closeQuery = (extraParams={}) => { 
+      let filteredData = commonGetHighQueryForm(extraParams); 
+      console.log("closeQuery鏂规硶"); 
+      console.log(filteredData); 
+      commonSaveCurHighQueryData(filteredData); 
+    } 
+    //淇濆瓨鏌ヨ鍊� 
+    const commonSaveCurHighQueryData=(filteredData={})=>{ 
+      _curHighQueryData.value = { ..._curHighQueryData.value, ...filteredData }; 
+      _curHighQueryData.value.searchVal = queryForm.value.searchVal 
+      _curHighQueryData.value.str_searchFormInputAttrs =_searchFormInputAttrs.value; 
+    } 
+     //鑾峰彇楂樼骇鏌ヨ寮瑰嚭妗嗙殑鏌ヨ鍊� 
+     const commonGetHighQueryForm=(extraParams={})=>{ 
+      // 杩囨护鎺� undefined 鐨勫�� 
+      let filteredData = Object.assign( 
+        {}, 
+        ...Object.entries(extraParams).map(([key, value]) => 
+          value !== undefined ? { [key]: value } : {} 
+        ) 
+      ) 
+      //缁勫悎妯$硦鏌ヨ 
+      filteredData.searchVal = queryForm.value.searchVal 
+      filteredData.str_searchFormInputAttrs =_searchFormInputAttrs.value; 
+      return filteredData; 
+    } 
+    
+ 
+    /** 
+     * @returns 琛ㄦ牸 
+     */ 
+    const RenderBaseTable = (props: RenderTableType) => { 
+      const { 
+        url, 
+        dataSource, 
+        isDrag, 
+        isChecked, 
+        isHidePagination, 
+        params, 
+        autoHeight, 
+      } = props 
+ 
+      return ( 
+        <div 
+          class={{ 
+            [styles.wmsInOutStockRecordList]: true, 
+          }} 
+        > 
+          <BaseTable 
+            ref={tableRef} 
+            url={url} 
+            sortUrlTpl="/api/v1/HIAWms/wmsInOutStockRecord/{id}/adjustsort/{sort}" 
+            v-model:dataSource={dataSource.value} 
+            columns={columns} 
+            contextMenu={contextMenu} 
+            params={params} 
+            isDrag={isDrag} 
+            isChecked={isChecked} 
+            autoHeight={autoHeight} 
+            onCheck={onCheck} 
+            onRowClick={onRowClick} 
+            isHidePagination={isHidePagination} 
+            pageSize={20} 
+            v-slots={{ 
+              name: ({ row }: any) => { 
+                return row?.name ? ( 
+                  <TdButton 
+                    onClick={() => openDetail(row)} 
+                    text={<span style="color:#5a84ff">璇︽儏</span>} 
+                    icon="scale" 
+                    tip={row?.name} 
+                    hover 
+                  > 
+                    {row?.name} 
+                  </TdButton> 
+                ) : ( 
+                  '-' 
+                ) 
+              }, 
+            }} 
+          ></BaseTable> 
+        </div> 
+      ) 
+    } 
+ 
+    return () => { 
+      return ( 
+        <div class={styles.wmsInOutStockRecordContent}> 
+          {/* 娣诲姞/缂栬緫 */} 
+          <WmsInOutStockRecordDrawer 
+            v-model={dialogConfig.visible} 
+            title={dialogConfig.title} 
+            row={current.value} 
+            sort={sort.value} 
+            onConfirm={onConfirmWmsInOutStockRecord} 
+          /> 
+          {/* 楂樼骇鏌ヨ */} 
+          <WmsInOutStockRecordQueryDrawer 
+            ref="wmsInOutStockRecordQueryDrawerRef" 
+            v-model={dialogConfigForQuery.visible} 
+            title={dialogConfigForQuery.title} 
+            row={current.value} 
+            sort={sort.value} 
+            onConfirmQuery={handleQuery} 
+            onRestQuery={resetQuery} 
+            onClose={closeQuery} 
+          /> 
+ 
+          <div class={styles.headerContent}> 
+            <div class={styles.header}> 
+              <IconButton 
+                v-permission="wmsInOutStockRecord-add" 
+                icon="add-p" 
+                onClick={onAddWmsInOutStockRecord} 
+                type="primary" 
+              > 
+                娣诲姞 
+              </IconButton> 
+              <el-divider direction="vertical" /> 
+ 
+              <el-divider direction="vertical" /> 
+              <el-upload 
+                v-permission="wmsInOutStockRecord-import" 
+                name="file" 
+                accept=".xlsx,.xls,.csv" 
+                show-file-list={false} 
+                onError={onError} 
+                onSuccess={onSuccess} 
+                before-upload={onBeforeUpload} 
+                headers={headers.value} 
+                action="/api/v1/HIAWms/wmsInOutStockRecord/import" 
+              > 
+                <IconButton icon="in">瀵煎叆</IconButton> 
+              </el-upload> 
+ 
+              <IconButton 
+                v-permission="wmsInOutStockRecord-output" 
+                icon="out" 
+                onClick={handleExport} 
+              > 
+                瀵煎嚭 
+              </IconButton> 
+            </div> 
+            <ElFormItem style={{ marginTop: '15px' }}> 
+              <ElFormItem label="鍏抽敭瀛�"> 
+                <ElInput 
+                  v-model={queryForm.value.searchVal} 
+                  placeholder={searchFormInputAttrs_Placeholder.value} 
+                  clearable 
+                  class={styles.formItem} 
+                /> 
+              </ElFormItem> 
+              <IconButton type="primary" icon="search" onClick={handleQueryForMain}> 
+                鏌ヨ 
+              </IconButton> 
+              {/* <IconButton style="" icon="refresh" onClick={resetQuery}> 
+                閲嶇疆 
+              </IconButton> */} 
+              <IconButton 
+                v-permission="wmsInOutStockRecord-add" 
+                icon="search" 
+                onClick={onAdvancedQuery} 
+                type="primary" 
+              > 
+                楂樼骇鏌ヨ 
+              </IconButton> 
+            </ElFormItem> 
+          </div> 
+ 
+          <RenderBaseTable 
+            url="/api/v1/HIAWms/wmsInOutStockRecord/page" 
+            dataSource={dataSource} 
+            isChecked={true} 
+            isDrag={true} 
+          /> 
+        </div> 
+      ) 
+    } 
+  }, 
+}) 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/WmsInOutStockRecord.module.scss" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/WmsInOutStockRecord.module.scss"
new file mode 100644
index 0000000..0d44341
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/WmsInOutStockRecord.module.scss"
@@ -0,0 +1,7 @@
+.WmsInOutStockRecord { 
+  background-color: #fff; 
+  border-radius: 5px 5px 0 0; 
+  width: 100%; 
+  height: 100%; 
+  border: 1px solid #dbdbdb; 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/WmsInOutStockRecord.tsx" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/WmsInOutStockRecord.tsx"
new file mode 100644
index 0000000..39abbb5
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/WmsInOutStockRecord.tsx"
@@ -0,0 +1,80 @@
+import { 
+  Component, 
+  DefineComponent, 
+  defineComponent, 
+  markRaw, 
+  ref, 
+  SetupContext, 
+  onMounted, 
+} from 'vue' 
+import styles from './WmsInOutStockRecord.module.scss' 
+import Tab from '@/components/Tab/Tab' 
+import { useProvideModels } from '@/libs/Provider/app' 
+import { usePermission } from '@/libs/Permission/Permission' 
+import { permissionCodes } from '../enum' 
+import { ModuleType, TabItem } from '../type/Type' 
+import { getEntityNames } from '@/hooks/hook' 
+import TabPane from '@/components/Tab/TabPane' 
+ 
+const Models: ModuleType = import.meta.glob('./config/*.json', { 
+  eager: true, 
+}) 
+ 
+const entityNames = getEntityNames(Models) 
+ 
+const nameToLabelMap = [{ name: 'WmsInOutStockRecord', label: '鍑哄叆搴撹褰�' }] 
+ 
+export default defineComponent({ 
+  name: 'WmsInOutStockRecord', 
+ 
+  setup(props, ctx: SetupContext) { 
+    useProvideModels() 
+    usePermission(props, permissionCodes) 
+ 
+    const rf = ref<{ 
+      [key: string]: any 
+    }>({}) 
+ 
+    const tabData = ref<TabItem[]>([]) 
+ 
+    const onTabChange = (v: string) => { 
+      rf.value?.[v]?.reloadList() 
+    } 
+ 
+    const initTableData = async () => { 
+      for (const i in entityNames) { 
+        const name = entityNames[i] 
+        const module = await import(`./Pages/${name}/${name}.tsx`) 
+        const WmsInOutStockRecord = markRaw(module.default) 
+        const foundLabel = 
+          nameToLabelMap.find((item) => item.name === name)?.label || name 
+        tabData.value.push({ 
+          label: foundLabel, 
+          name, 
+          component: WmsInOutStockRecord, 
+        }) 
+      } 
+    } 
+ 
+    initTableData() 
+ 
+    return () => { 
+      return ( 
+        <div class={styles.WmsInOutStockRecord}> 
+          <Tab data={tabData.value} type="list" onTab={onTabChange}> 
+            {tabData.value.map((widgetInfo) => { 
+              const Widget: any = widgetInfo.component 
+              return ( 
+                <TabPane label={widgetInfo.label} name={widgetInfo.name}> 
+                  <Widget 
+                    ref={(r: any) => (rf.value['WmsInOutStockRecord'] = r)} 
+                  ></Widget> 
+                </TabPane> 
+              ) 
+            })} 
+          </Tab> 
+        </div> 
+      ) 
+    } 
+  }, 
+}) 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/config/WmsInOutStockRecord.json" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/config/WmsInOutStockRecord.json"
new file mode 100644
index 0000000..c4e9885
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/Views/config/WmsInOutStockRecord.json"
@@ -0,0 +1,3 @@
+{ 
+  "name": "WmsInOutStockRecord" 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/enum.ts" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/enum.ts"
new file mode 100644
index 0000000..1b6b3b2
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/enum.ts"
@@ -0,0 +1,15 @@
+export interface TabType { 
+  label: string 
+  name: string 
+  columns?: any[] 
+  data?: any[] 
+  isFooter: boolean 
+  [key: string]: any 
+} 
+ 
+export const permissionCodes = { 
+  'wmsInOutStockRecord-list': '鍒楄〃-鍒楄〃', 
+  'wmsInOutStockRecord-add': '鍒楄〃-娣诲姞', 
+  'wmsInOutStockRecord-import': '鍒楄〃-瀵煎叆', 
+  'wmsInOutStockRecord-output': '鍒楄〃-杈撳嚭', 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/index.ts" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/index.ts"
new file mode 100644
index 0000000..a9e338e
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/index.ts"
@@ -0,0 +1,14 @@
+import WmsInOutStockRecord from './Views/WmsInOutStockRecord' 
+import Setting from '@/components/Setting/Setting' 
+import { provider } from '@/provider/index' 
+import p from '../../assets/svg/p.svg' 
+ 
+export default { 
+  is: 'WmsInOutStockRecord', 
+  name: '鍑哄叆搴撹褰�', 
+  category: 'run', 
+  icon: p, 
+  authorizationRequired: false, 
+  canvasView: provider(WmsInOutStockRecord), 
+  settingsView: Setting, 
+} 
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/type/type.d.ts" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/type/type.d.ts"
new file mode 100644
index 0000000..708d39c
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/WmsInOutStockRecord/type/type.d.ts"
@@ -0,0 +1,45 @@
+import { Component } from 'vue' 
+ 
+export interface DataItemType { 
+  id?: string 
+  name?: string 
+  code?: string 
+  description?: string 
+  label?: string 
+  value?: string | number 
+} 
+ 
+export interface WmsInOutStockRecordBaseType { 
+  id?: string 
+  name?: string 
+  code?: string 
+  value?: number 
+  description?: string 
+  options?: Array<DataItemType> 
+  abilityValue?: number | string 
+  data?: DataItemType 
+  defaultValue?: string | number 
+  flow: string 
+} 
+ 
+export interface FlowDefinitionType { 
+  id?: string 
+  name?: string 
+  code?: string 
+  description?: string 
+} 
+ 
+export type ModuleType = Record< 
+  string, 
+  { 
+    default: Record<string, string> 
+    name: string 
+  } 
+> 
+ 
+export interface TabItem { 
+  name: string 
+  label: string 
+  component: Component 
+  hidden?: boolean 
+} 

--
Gitblit v1.9.3