From 358e8f30447f8ba05af42b66d45ddf1a93878b6d Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周二, 06 5月 2025 17:38:09 +0800
Subject: [PATCH] Merge branch 'master' of http://222.71.245.114:9086/r/HIA24016N_PipeLineDemo

---
 HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx                                                    |  646 +++++++-------
 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialStockAppService.cs                          |   18 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/queryExtensions/CmsQueryExtensions/Utils/EnumHelper.cs                    |   77 +
 HIAWms/web/src/components/DyForm/DyForm.tsx                                                                       |    2 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/queryExtensions/CmsQueryExtensions/Utils/GetEnumDescriptionUtil.cs        |   30 
 HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Enums/YesNoEnum.cs                                              |   11 
 HIAWms/web/src/widgets/WmsInOutStockRecord/Controllers/WmsInOutStockRecordDrawer.tsx                              |  553 ++++++------
 Weben_CMS专用代码生成器/Code/DataBaseFactory/Default/MySqlDataBaseServiceHandle.cs                                       |    2 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsAreas/WmsAreaDto.cs                             |    1 
 Weben_CMS专用代码生成器/Code/Templete/Web/Views/Pages/EntityNameClass/EntityNameClass_module模板.txt                       |    2 
 HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/CMS.Plugin.HIAWms.Domain.Shared.csproj                          |   10 
 CommonDLL/CmsQueryExtensions.dll                                                                                  |    0 
 HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Util/ExportHelper.cs                                            |   22 
 Weben_CMS专用代码生成器/Code/Templete/Entity/Dto模板.txt                                                                   |    1 
 Weben_CMS专用代码生成器/Code/DataBaseFactory/Default/SqlServerDataBaseServiceHandle.cs                                   |    4 
 HIAWms/web/src/widgets/WmsTask/Controllers/WmsTaskDrawer.tsx                                                      |  665 +++++++-------
 Weben_CMS专用代码生成器/Code/Model/ColumnModell.cs                                                                       |    2 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/GetWmsInOutStockRecordInput.cs |  350 ++++----
 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsEnumAppService.cs                                   |    2 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsEnumAppService.cs                          |    1 
 HIAWms/web/src/widgets/WmsStoreInfo/Views/Pages/WmsArea/WmsArea.module.scss                                       |    2 
 Weben_CMS专用代码生成器/Code/Templete/AppService/AppService模板.txt                                                        |    2 
 Weben_CMS专用代码生成器/Code/Utility/StructStrHelper.cs                                                                  |    8 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/queryExtensions/CmsQueryExtensions/Utils/ExportHelper.cs                  |   53 +
 24 files changed, 1,318 insertions(+), 1,146 deletions(-)

diff --git a/CommonDLL/CmsQueryExtensions.dll b/CommonDLL/CmsQueryExtensions.dll
index 0bf4b5e..479f29e 100644
--- a/CommonDLL/CmsQueryExtensions.dll
+++ b/CommonDLL/CmsQueryExtensions.dll
Binary files differ
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsAreas/WmsAreaDto.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsAreas/WmsAreaDto.cs
index 95618f3..4434b11 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsAreas/WmsAreaDto.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsAreas/WmsAreaDto.cs
@@ -1,4 +1,5 @@
 using CMS.Plugin.HIAWms.Domain.Shared.Enums;
+using CmsQueryExtensions;
 using Volo.Abp.Application.Dtos;
 using Volo.Abp.Domain.Entities;
 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/GetWmsInOutStockRecordInput.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/GetWmsInOutStockRecordInput.cs
index 1b07245..a511331 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/GetWmsInOutStockRecordInput.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/GetWmsInOutStockRecordInput.cs
@@ -1,229 +1,229 @@
-using CmsQueryExtensions.Extension; 
-using Volo.Abp.Application.Dtos; 
- 
-namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsInOutStockRecord; 
- 
+using CmsQueryExtensions.Extension;
+using Volo.Abp.Application.Dtos;
+
+namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsInOutStockRecord;
+
 /// <summary> 
 /// 鍑哄叆搴撹褰曡〃鏌ヨ鍙傛暟 
 /// </summary> 
-public class GetWmsInOutStockRecordInput : ExtensiblePagedAndSortedResultRequestDto 
-{ 
- 
+public class GetWmsInOutStockRecordInput : ExtensiblePagedAndSortedResultRequestDto
+{
+
     #region 鍏抽敭瀛楁煡璇� 
- 
+
     /// <summary> 
     /// 鍏抽敭瀛楁ā绯婃煡璇紙娉ㄦ剰鏄皬鍐欙紒锛� 
     /// </summary> 
-    public string searchVal { get; set; } 
- 
+    public string searchVal { get; set; }
+
     /// <summary> 
     /// 閫氱敤鏌ヨ閰嶇疆 (1:妯$硦鏌ヨ , 2:绮惧噯鏌ヨ)锛堟敞鎰忔槸灏忓啓锛侊級 
     /// </summary> 
-    public SearchFilterModeEnum searchVal_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; 
- 
+    public SearchFilterModeEnum searchVal_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
     /// <summary> 
     /// 瀛愭悳绱㈢粍浠朵紶閫掔殑閫氱敤鏌ヨ閰嶇疆鐨勫睘鎬у悕锛堟敞鎰忔槸灏忓啓锛侊級 
     /// </summary> 
-    [NoAutoQuery] 
-    public string str_searchFormInputAttrs { get; set; } 
+    [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; }
+    public List<string> searchFormInputAttrs
+    {
+        get
+        {
+            if (!string.IsNullOrEmpty(str_searchFormInputAttrs))
+            {
+                return str_searchFormInputAttrs.Split(',').ToList();
+            }
+            return new List<string>();
+        }
+    }
 
-        /// <summary>
-        /// 鍗曟嵁缂栧彿-鏌ヨ鍏崇郴杩愮畻绗� 
-        /// </summary>
-        public SearchFilterModeEnum OrderNo_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+    #endregion
 
-        /// <summary>
-        /// 鐗╂枡鍚嶇О
-        /// </summary>
-        public string MaterialName { get; set; }
+    /// <summary>
+    /// 鍗曟嵁缂栧彿
+    /// </summary>
+    public string OrderNo { get; set; }
 
-        /// <summary>
-        /// 鐗╂枡鍚嶇О-鏌ヨ鍏崇郴杩愮畻绗� 
-        /// </summary>
-        public SearchFilterModeEnum MaterialName_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+    /// <summary>
+    /// 鍗曟嵁缂栧彿-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum OrderNo_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
 
-        /// <summary>
-        /// 鐗╂枡浠跺彿
-        /// </summary>
-        public string MaterialNo { get; set; }
+    /// <summary>
+    /// 鐗╂枡鍚嶇О
+    /// </summary>
+    public string MaterialName { get; set; }
 
-        /// <summary>
-        /// 鐗╂枡浠跺彿-鏌ヨ鍏崇郴杩愮畻绗� 
-        /// </summary>
-        public SearchFilterModeEnum MaterialNo_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+    /// <summary>
+    /// 鐗╂枡鍚嶇О-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum MaterialName_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
 
-        /// <summary>
-        /// 鎿嶄綔绫诲瀷
-        /// </summary>
-        public int?  StockType { get; set; }
+    /// <summary>
+    /// 鐗╂枡浠跺彿
+    /// </summary>
+    public string MaterialNo { get; set; }
 
-        /// <summary>
-        /// 鎿嶄綔绫诲瀷-鏌ヨ鍏崇郴杩愮畻绗� 
-        /// </summary>
-        public SearchFilterModeEnum StockType_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
+    /// <summary>
+    /// 鐗╂枡浠跺彿-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum MaterialNo_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
 
-        /// <summary>
-        /// 瀹瑰櫒缂栧彿
-        /// </summary>
-        public string ContainerNo { get; set; }
+    /// <summary>
+    /// 鎿嶄綔绫诲瀷
+    /// </summary>
+    public int? StockType { get; set; }
 
-        /// <summary>
-        /// 瀹瑰櫒缂栧彿-鏌ヨ鍏崇郴杩愮畻绗� 
-        /// </summary>
-        public SearchFilterModeEnum ContainerNo_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+    /// <summary>
+    /// 鎿嶄綔绫诲瀷-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum StockType_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ;
 
-        /// <summary>
-        /// 鏈哄瀷
-        /// </summary>
-        public string MaterialModel { get; set; }
+    /// <summary>
+    /// 瀹瑰櫒缂栧彿
+    /// </summary>
+    public string ContainerNo { get; set; }
 
-        /// <summary>
-        /// 鏈哄瀷-鏌ヨ鍏崇郴杩愮畻绗� 
-        /// </summary>
-        public SearchFilterModeEnum MaterialModel_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+    /// <summary>
+    /// 瀹瑰櫒缂栧彿-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum ContainerNo_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
 
-        /// <summary>
-        /// 鎿嶄綔鏃堕棿
-        /// </summary>
-        //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规��
-        [HighSearchRangeAttribute]
-        public List<string> OperateTime { get; set; }
+    /// <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 string Remark { get; set; }
 
-        /// <summary>
-        /// 澶囨敞-鏌ヨ鍏崇郴杩愮畻绗� 
-        /// </summary>
-        public SearchFilterModeEnum Remark_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+    /// <summary>
+    /// 澶囨敞-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum Remark_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
 
-        /// <summary>
-        /// 鐗╂枡ID
-        /// </summary>
-        public string MaterialId { get; set; }
+    /// <summary>
+    /// 鐗╂枡ID
+    /// </summary>
+    public string MaterialId { get; set; }
 
-        /// <summary>
-        /// 鐗╂枡ID-鏌ヨ鍏崇郴杩愮畻绗� 
-        /// </summary>
-        public SearchFilterModeEnum MaterialId_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+    /// <summary>
+    /// 鐗╂枡ID-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum MaterialId_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
 
-        /// <summary>
-        /// 浠诲姟鍙�
-        /// </summary>
-        public string TaskNo { get; set; }
+    /// <summary>
+    /// 浠诲姟鍙�
+    /// </summary>
+    public string TaskNo { get; set; }
 
-        /// <summary>
-        /// 浠诲姟鍙�-鏌ヨ鍏崇郴杩愮畻绗� 
-        /// </summary>
-        public SearchFilterModeEnum TaskNo_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+    /// <summary>
+    /// 浠诲姟鍙�-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum TaskNo_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
 
-        /// <summary>
-        /// 璧峰搴撲綅
-        /// </summary>
-        public string SourcePlace { get; set; }
+    /// <summary>
+    /// 璧峰搴撲綅
+    /// </summary>
+    public string SourcePlace { get; set; }
 
-        /// <summary>
-        /// 璧峰搴撲綅-鏌ヨ鍏崇郴杩愮畻绗� 
-        /// </summary>
-        public SearchFilterModeEnum SourcePlace_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+    /// <summary>
+    /// 璧峰搴撲綅-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum SourcePlace_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
 
-        /// <summary>
-        /// 鐩爣搴撲綅
-        /// </summary>
-        public string ToPlace { get; set; }
+    /// <summary>
+    /// 鐩爣搴撲綅
+    /// </summary>
+    public string ToPlace { get; set; }
 
-        /// <summary>
-        /// 鐩爣搴撲綅-鏌ヨ鍏崇郴杩愮畻绗� 
-        /// </summary>
-        public SearchFilterModeEnum ToPlace_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+    /// <summary>
+    /// 鐩爣搴撲綅-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum ToPlace_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
 
-        /// <summary>
-        /// 
-        /// </summary>
-        //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规��
-        [HighSearchRangeAttribute]
-        public List<string> CreationTime { get; set; }
+    /// <summary>
+    /// 
+    /// </summary>
+    //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规��
+    [HighSearchRangeAttribute]
+    public List<string> CreationTime { get; set; }
 
 
-        /// <summary>
-        /// 
-        /// </summary>
-        public string CreatorId { get; set; }
+    /// <summary>
+    /// 
+    /// </summary>
+    public string CreatorId { get; set; }
 
-        /// <summary>
-        /// -鏌ヨ鍏崇郴杩愮畻绗� 
-        /// </summary>
-        public SearchFilterModeEnum CreatorId_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+    /// <summary>
+    /// -鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum CreatorId_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
 
-        /// <summary>
-        /// 
-        /// </summary>
-        //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规��
-        [HighSearchRangeAttribute]
-        public List<string> LastModificationTime { get; set; }
+    /// <summary>
+    /// 
+    /// </summary>
+    //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规��
+    [HighSearchRangeAttribute]
+    public List<string> LastModificationTime { get; set; }
 
 
-        /// <summary>
-        /// 
-        /// </summary>
-        public string LastModifierId { get; set; }
+    /// <summary>
+    /// 
+    /// </summary>
+    public string LastModifierId { get; set; }
 
-        /// <summary>
-        /// -鏌ヨ鍏崇郴杩愮畻绗� 
-        /// </summary>
-        public SearchFilterModeEnum LastModifierId_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+    /// <summary>
+    /// -鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum LastModifierId_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
 
-        /// <summary>
-        /// 
-        /// </summary>
-        public bool?  IsDeleted { get; set; }
+    /// <summary>
+    /// 
+    /// </summary>
+    public bool? IsDeleted { get; set; }
 
-        /// <summary>
-        /// -鏌ヨ鍏崇郴杩愮畻绗� 
-        /// </summary>
-        public SearchFilterModeEnum IsDeleted_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
+    /// <summary>
+    /// -鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum IsDeleted_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ;
 
-        /// <summary>
-        /// 
-        /// </summary>
-        public string DeleterId { get; set; }
+    /// <summary>
+    /// 
+    /// </summary>
+    public string DeleterId { get; set; }
 
-        /// <summary>
-        /// -鏌ヨ鍏崇郴杩愮畻绗� 
-        /// </summary>
-        public SearchFilterModeEnum DeleterId_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+    /// <summary>
+    /// -鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum DeleterId_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
 
-        /// <summary>
-        /// 
-        /// </summary>
-        //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规��
-        [HighSearchRangeAttribute]
-        public List<string> DeletionTime { get; set; }
+    /// <summary>
+    /// 
+    /// </summary>
+    //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规��
+    [HighSearchRangeAttribute]
+    public List<string> DeletionTime { get; set; }
 
 
- 
-} 
+
+}
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsEnumAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsEnumAppService.cs
index 6c9b198..47a7daa 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsEnumAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsEnumAppService.cs
@@ -1,6 +1,7 @@
 锘縰sing CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsEnumDto;
 using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsStores;
 using CMS.Plugin.HIAWms.Domain.Shared.Util;
+using CmsQueryExtensions;
 using System;
 using System.Collections.Generic;
 using System.Linq;
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsEnumAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsEnumAppService.cs
index eee9e2f..8fdf80d 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsEnumAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsEnumAppService.cs
@@ -1,10 +1,10 @@
 锘縰sing CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsEnumDto;
 using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsStores;
 using CMS.Plugin.HIAWms.Application.Contracts.Services;
-using CMS.Plugin.HIAWms.Domain.Shared.Util;
 using CMS.Plugin.HIAWms.Domain.WmsAreas;
 using CMS.Plugin.HIAWms.Domain.WmsPlaces;
 using CMS.Plugin.HIAWms.Domain.WmsStores;
+using CmsQueryExtensions;
 using System;
 using System.Collections.Generic;
 using System.Linq;
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialStockAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialStockAppService.cs
index 7aace56..98eb755 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialStockAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialStockAppService.cs
@@ -1,21 +1,19 @@
 using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialStocks;
 using CMS.Plugin.HIAWms.Application.Contracts.Services;
-using CMS.Plugin.HIAWms.Domain.WmsMaterialStocks;
-using CMS.Plugin.HIAWms.Domain.Shared;
 using CMS.Plugin.HIAWms.Domain.Shared.WmsMaterialStocks;
+using CMS.Plugin.HIAWms.Domain.WmsAreas;
+using CMS.Plugin.HIAWms.Domain.WmsContainers;
+using CMS.Plugin.HIAWms.Domain.WmsMaterials;
+using CMS.Plugin.HIAWms.Domain.WmsMaterialStocks;
+using CMS.Plugin.HIAWms.Domain.WmsPlaces;
+using CmsQueryExtensions;
+using Microsoft.Extensions.DependencyInjection;
+using System.Text.Json;
 using Volo.Abp;
 using Volo.Abp.Application.Dtos;
 using Volo.Abp.Data;
 using Volo.Abp.ObjectExtending;
-using CMS.Plugin.HIAWms.Domain.Shared.Util;
-using CMS.Plugin.HIAWms.Domain.WmsMaterials;
-using CMS.Plugin.HIAWms.Domain.WmsContainers;
-using CMS.Plugin.HIAWms.Domain.WmsPlaces;
-using CMS.Plugin.HIAWms.Domain.WmsAreas;
 using Volo.Abp.Uow;
-using Microsoft.Extensions.DependencyInjection;
-using NPOI.POIFS.Storage;
-using System.Text.Json;
 
 namespace CMS.Plugin.HIAWms.Application.Implements;
 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/CMS.Plugin.HIAWms.Domain.Shared.csproj b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/CMS.Plugin.HIAWms.Domain.Shared.csproj
index c95efe0..ebf1596 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/CMS.Plugin.HIAWms.Domain.Shared.csproj
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/CMS.Plugin.HIAWms.Domain.Shared.csproj
@@ -21,8 +21,18 @@
     </ItemGroup>
 
     <ItemGroup>
+      <Compile Remove="Util\EnumHelper.cs" />
+      <Compile Remove="Util\ExportHelper.cs" />
+      <Compile Remove="Util\GetEnumDescriptionUtil.cs" />
+    </ItemGroup>
+
+    <ItemGroup>
         <PackageReference Include="System.ComponentModel.Annotations" Version="5.0.0" />
         <PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="6.0.20" />
     </ItemGroup>
 
+    <ItemGroup>
+      <Folder Include="Util\" />
+    </ItemGroup>
+
 </Project>
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Enums/YesNoEnum.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Enums/YesNoEnum.cs
index 74e48fe..bf8d7ba 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Enums/YesNoEnum.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Enums/YesNoEnum.cs
@@ -14,15 +14,16 @@
     public enum YesNoEnum
     {
         /// <summary>
+        /// 鍚�
+        /// </summary>
+        [Description("鍚�")]
+        N = 0,
+
+        /// <summary>
         /// 鏄�
         /// </summary>
         [Description("鏄�")]
         Y = 1,
 
-        /// <summary>
-        /// 鍚�
-        /// </summary>
-        [Description("鍚�")]
-        N = 2
     }
 }
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Util/ExportHelper.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Util/ExportHelper.cs
index b0f8e3b..71f2537 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Util/ExportHelper.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Util/ExportHelper.cs
@@ -12,6 +12,14 @@
     /// </summary>
     public static class ExportHelper
     {
+       
+
+        // 鎵归噺杞崲鏂规硶
+        public static List<Dictionary<string, object>> ConvertListToExportData<T>(IEnumerable<T> list)
+        {
+            return list.Select(ConvertToExportData).ToList();
+        }
+
         // 閫氱敤杞崲鏂规硶锛堝吋瀹� Func<T, Dictionary<string, object>>锛�
         public static Dictionary<string, object> ConvertToExportData<T>(T entity)
         {
@@ -24,12 +32,6 @@
                 dict[prop.Name] = FormatValue(value);
             }
             return dict;
-        }
-
-        // 鎵归噺杞崲鏂规硶
-        public static List<Dictionary<string, object>> ConvertListToExportData<T>(IEnumerable<T> list)
-        {
-            return list.Select(ConvertToExportData).ToList();
         }
 
         private static object FormatValue(object value)
@@ -47,13 +49,5 @@
             return value;
         }
 
-        private static string GetEnumDescription(Enum value)
-        {
-            var fieldInfo = value.GetType().GetField(value.ToString());
-            var description = fieldInfo?
-                .GetCustomAttributes(typeof(DescriptionAttribute), false)
-                .FirstOrDefault() as DescriptionAttribute;
-            return description?.Description ?? value.ToString();
-        }
     }
 }
diff --git a/HIAWms/web/src/components/DyForm/DyForm.tsx b/HIAWms/web/src/components/DyForm/DyForm.tsx
index 1468161..98a4cfc 100644
--- a/HIAWms/web/src/components/DyForm/DyForm.tsx
+++ b/HIAWms/web/src/components/DyForm/DyForm.tsx
@@ -50,7 +50,7 @@
     },
     labelPosition: {
       type: String,
-      default: 'left',
+      default: 'right',
     },
     formData: {
       type: Object as PropType<{ [key: string]: any }>,
diff --git a/HIAWms/web/src/widgets/WmsInOutStockRecord/Controllers/WmsInOutStockRecordDrawer.tsx b/HIAWms/web/src/widgets/WmsInOutStockRecord/Controllers/WmsInOutStockRecordDrawer.tsx
index 4e6176f..275c9ad 100644
--- a/HIAWms/web/src/widgets/WmsInOutStockRecord/Controllers/WmsInOutStockRecordDrawer.tsx
+++ b/HIAWms/web/src/widgets/WmsInOutStockRecord/Controllers/WmsInOutStockRecordDrawer.tsx
@@ -1,275 +1,278 @@
-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, 
-  } 
-} 
+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/HIAWms/web/src/widgets/WmsStoreInfo/Views/Pages/WmsArea/WmsArea.module.scss b/HIAWms/web/src/widgets/WmsStoreInfo/Views/Pages/WmsArea/WmsArea.module.scss
index 0f0933b..e7aa407 100644
--- a/HIAWms/web/src/widgets/WmsStoreInfo/Views/Pages/WmsArea/WmsArea.module.scss
+++ b/HIAWms/web/src/widgets/WmsStoreInfo/Views/Pages/WmsArea/WmsArea.module.scss
@@ -15,7 +15,7 @@
   .header {
     margin-bottom: 12px;
     display: flex;
-    justify-content: flex-start;
+    justify-content: flex-start !important;
     align-items: center;
   }
 }
diff --git a/HIAWms/web/src/widgets/WmsTask/Controllers/WmsTaskDrawer.tsx b/HIAWms/web/src/widgets/WmsTask/Controllers/WmsTaskDrawer.tsx
index 959fe29..386618d 100644
--- a/HIAWms/web/src/widgets/WmsTask/Controllers/WmsTaskDrawer.tsx
+++ b/HIAWms/web/src/widgets/WmsTask/Controllers/WmsTaskDrawer.tsx
@@ -1,332 +1,333 @@
-import { 
-  ref, 
-  onMounted, 
-  reactive, 
-  computed, 
-  Ref, 
-  watch, 
-  SetupContext, 
-  h, 
-} from 'vue' 
-import { injectModel } from '@/libs/Provider/Provider' 
-import { WmsTaskDrawer } from '../Models/WmsTaskDrawer' 
-import { ElMessage } from 'element-plus' 
-import isEqual from 'lodash/isEqual' 
-import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox' 
-import { cloneDeep } from 'lodash' 
- 
-export const useWmsTaskDrawer = (props: any, ctx?: any) => { 
-  const wmsTaskDrawer = injectModel<WmsTaskDrawer>('wmsTaskDrawer') 
-  /** 
-   * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁 
-   */ 
-  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: 'aisle', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ュ贩閬�', 
-                }, 
-                { 
-                   label: '鎵樼洏缂栧彿', 
-                   prop: 'containerNo', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ユ墭鐩樼紪鍙�', 
-                }, 
-                { 
-                   label: '鍫嗗灈鏈篒D', 
-                   prop: 'dodeviceId', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ュ爢鍨涙満ID', 
-                }, 
-                { 
-                   label: '璁惧绫诲瀷', 
-                   prop: 'dodevicetype', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ヨ澶囩被鍨�', 
-              rules: [{required: true, message: '璁惧绫诲瀷涓嶈兘涓虹┖', trigger: 'blur' }], 
-                }, 
-                { 
-                   label: '涓嬩釜浠诲姟鏄惁鐢熸垚鎴愬姛', 
-                   prop: 'isNextTask', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ヤ笅涓换鍔℃槸鍚︾敓鎴愭垚鍔�', 
-                }, 
-                { 
-                   label: 'WCS鏄惁鍙互璇诲彇', 
-                   prop: 'isRead', 
-                   el: 'select', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏CS鏄惁鍙互璇诲彇', 
-              rules: [{required: true, message: 'WCS鏄惁鍙互璇诲彇涓嶈兘涓虹┖', trigger: 'blur' }], 
-                }, 
-                { 
-                   label: '鍙彉鍙橀噺1', 
-                   prop: 'mutableParam1', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ュ彲鍙樺彉閲�1', 
-                }, 
-                { 
-                   label: '鍙彉鍙橀噺2', 
-                   prop: 'mutableParam2', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ュ彲鍙樺彉閲�2', 
-                }, 
-                { 
-                   label: '鍙彉鍙橀噺3', 
-                   prop: 'mutableParam3', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ュ彲鍙樺彉閲�3', 
-                }, 
-                { 
-                   label: '瀛愪换鍔$被鍨�', 
-                   prop: 'sonTaskType', 
-                   el: 'select', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ュ瓙浠诲姟绫诲瀷', 
-                }, 
-                { 
-                   label: '鏉ユ簮鍗曟嵁鍙�', 
-                   prop: 'sourceOrderNo', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ユ潵婧愬崟鎹彿', 
-                }, 
-                { 
-                   label: '璧峰搴撲綅', 
-                   prop: 'sourcePlace', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ヨ捣濮嬪簱浣�', 
-                }, 
-                { 
-                   label: '璁惧浠诲姟鐘舵��', 
-                   prop: 'taskDodeviceStatus', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ヨ澶囦换鍔$姸鎬�', 
-              rules: [{required: true, message: '璁惧浠诲姟鐘舵�佷笉鑳戒负绌�', trigger: 'blur' }], 
-                }, 
-                { 
-                   label: '浠诲姟绛夌骇', 
-                   prop: 'taskLevel', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ヤ换鍔$瓑绾�', 
-              rules: [{required: true, message: '浠诲姟绛夌骇涓嶈兘涓虹┖', trigger: 'blur' }], 
-                }, 
-                { 
-                   label: '浠诲姟鍙�', 
-                   prop: 'taskNo', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ヤ换鍔″彿', 
-              rules: [{required: true, message: '浠诲姟鍙蜂笉鑳戒负绌�', trigger: 'blur' }], 
-                }, 
-                { 
-                   label: '浠诲姟鐘舵��', 
-                   prop: 'taskStatus', 
-                   el: 'select', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ヤ换鍔$姸鎬�', 
-              rules: [{required: true, message: '浠诲姟鐘舵�佷笉鑳戒负绌�', trigger: 'blur' }], 
-                }, 
-                { 
-                   label: '浠诲姟绫诲瀷', 
-                   prop: 'taskType', 
-                   el: 'select', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ヤ换鍔$被鍨�', 
-              rules: [{required: true, message: '浠诲姟绫诲瀷涓嶈兘涓虹┖', trigger: 'blur' }], 
-                }, 
-                { 
-                   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 = { 
-      aisle: formData.value.aisle, 
-containerNo: formData.value.containerNo, 
-dodeviceId: formData.value.dodeviceId, 
-dodevicetype: formData.value.dodevicetype, 
-isNextTask: formData.value.isNextTask, 
-isRead: formData.value.isRead, 
-mutableParam1: formData.value.mutableParam1, 
-mutableParam2: formData.value.mutableParam2, 
-mutableParam3: formData.value.mutableParam3, 
-sonTaskType: formData.value.sonTaskType, 
-sourceOrderNo: formData.value.sourceOrderNo, 
-sourcePlace: formData.value.sourcePlace, 
-taskDodeviceStatus: formData.value.taskDodeviceStatus, 
-taskLevel: formData.value.taskLevel, 
-taskNo: formData.value.taskNo, 
-taskStatus: formData.value.taskStatus, 
-taskType: formData.value.taskType, 
-toPlace: formData.value.toPlace,  
-    } 
-    if (!current.value) { 
-      await wmsTaskDrawer.addWmsTask(data) 
-    } else { 
-      const id = current.value.id 
-      await wmsTaskDrawer.updateWmsTask(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 taskTypeEnumEnum = await wmsTaskDrawer.getWmsEnumData({ 
- EnumName: 'TaskTypeEnum', 
-}) 
-updateFormItemOptions('taskType', taskTypeEnumEnum) 
-const wmsTaskStatusEnum = await wmsTaskDrawer.getWmsEnumData({ 
- EnumName: 'WmsTaskStatus', 
-}) 
-updateFormItemOptions('taskStatus', wmsTaskStatusEnum) 
-const sonTaskTypeEnumEnum = await wmsTaskDrawer.getWmsEnumData({ 
- EnumName: 'SonTaskTypeEnum', 
-}) 
-updateFormItemOptions('sonTaskType', sonTaskTypeEnumEnum) 
- 
-  } 
-  commonQueryEnumForFrom() 
-  /** 
-   * 寮圭獥鎵撳紑鑾峰彇璇︽儏 
-   */ 
-  const onOpen = async () => { 
-    if (current.value) { 
-      const res = await wmsTaskDrawer.getWmsTaskDetail(current.value) 
- 
-      formData.value = { 
-        aisle: res.aisle, 
-containerNo: res.containerNo, 
-dodeviceId: res.dodeviceId, 
-dodevicetype: res.dodevicetype, 
-isNextTask: res.isNextTask, 
-isRead: res.isRead, 
-mutableParam1: res.mutableParam1, 
-mutableParam2: res.mutableParam2, 
-mutableParam3: res.mutableParam3, 
-sonTaskType: res.sonTaskType, 
-sourceOrderNo: res.sourceOrderNo, 
-sourcePlace: res.sourcePlace, 
-taskDodeviceStatus: res.taskDodeviceStatus, 
-taskLevel: res.taskLevel, 
-taskNo: res.taskNo, 
-taskStatus: res.taskStatus, 
-taskType: res.taskType, 
-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, 
-  } 
-} 
+import {
+  ref,
+  onMounted,
+  reactive,
+  computed,
+  Ref,
+  watch,
+  SetupContext,
+  h,
+} from 'vue'
+import { injectModel } from '@/libs/Provider/Provider'
+import { WmsTaskDrawer } from '../Models/WmsTaskDrawer'
+import { ElMessage } from 'element-plus'
+import isEqual from 'lodash/isEqual'
+import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox'
+import { cloneDeep } from 'lodash'
+
+export const useWmsTaskDrawer = (props: any, ctx?: any) => {
+  const wmsTaskDrawer = injectModel<WmsTaskDrawer>('wmsTaskDrawer')
+  /**
+   * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁
+   */
+  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: 'aisle',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ贩閬�',
+    },
+    {
+      label: '鎵樼洏缂栧彿',
+      prop: 'containerNo',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ユ墭鐩樼紪鍙�',
+    },
+    {
+      label: '鍫嗗灈鏈篒D',
+      prop: 'dodeviceId',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ爢鍨涙満ID',
+    },
+    {
+      label: '璁惧绫诲瀷',
+      prop: 'dodevicetype',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヨ澶囩被鍨�',
+      rules: [{ required: true, message: '璁惧绫诲瀷涓嶈兘涓虹┖', trigger: 'blur' }],
+    },
+    {
+      label: '涓嬩釜浠诲姟鏄惁鐢熸垚鎴愬姛',
+      prop: 'isNextTask',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヤ笅涓换鍔℃槸鍚︾敓鎴愭垚鍔�',
+    },
+    //   {
+    //      label: 'WCS鏄惁鍙互璇诲彇',
+    //      prop: 'isRead',
+    //      el: 'select',
+    //      //disabled: disabled,
+    //      placeholder: '璇疯緭鍏CS鏄惁鍙互璇诲彇',
+    // rules: [{required: true, message: 'WCS鏄惁鍙互璇诲彇涓嶈兘涓虹┖', trigger: 'blur' }],
+    //   },
+    {
+      label: '鍙彉鍙橀噺1',
+      prop: 'mutableParam1',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ彲鍙樺彉閲�1',
+    },
+    {
+      label: '鍙彉鍙橀噺2',
+      prop: 'mutableParam2',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ彲鍙樺彉閲�2',
+    },
+    {
+      label: '鍙彉鍙橀噺3',
+      prop: 'mutableParam3',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ彲鍙樺彉閲�3',
+    },
+    {
+      label: '瀛愪换鍔$被鍨�',
+      prop: 'sonTaskType',
+      el: 'select',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ瓙浠诲姟绫诲瀷',
+    },
+    {
+      label: '鏉ユ簮鍗曟嵁鍙�',
+      prop: 'sourceOrderNo',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ユ潵婧愬崟鎹彿',
+    },
+    {
+      label: '璧峰搴撲綅',
+      prop: 'sourcePlace',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヨ捣濮嬪簱浣�',
+    },
+    {
+      label: '璁惧浠诲姟鐘舵��',
+      prop: 'taskDodeviceStatus',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヨ澶囦换鍔$姸鎬�',
+      rules: [
+        { required: true, message: '璁惧浠诲姟鐘舵�佷笉鑳戒负绌�', trigger: 'blur' },
+      ],
+    },
+    {
+      label: '浠诲姟绛夌骇',
+      prop: 'taskLevel',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヤ换鍔$瓑绾�',
+      rules: [{ required: true, message: '浠诲姟绛夌骇涓嶈兘涓虹┖', trigger: 'blur' }],
+    },
+    {
+      label: '浠诲姟鍙�',
+      prop: 'taskNo',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヤ换鍔″彿',
+      rules: [{ required: true, message: '浠诲姟鍙蜂笉鑳戒负绌�', trigger: 'blur' }],
+    },
+    {
+      label: '浠诲姟鐘舵��',
+      prop: 'taskStatus',
+      el: 'select',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヤ换鍔$姸鎬�',
+      rules: [{ required: true, message: '浠诲姟鐘舵�佷笉鑳戒负绌�', trigger: 'blur' }],
+    },
+    {
+      label: '浠诲姟绫诲瀷',
+      prop: 'taskType',
+      el: 'select',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヤ换鍔$被鍨�',
+      rules: [{ required: true, message: '浠诲姟绫诲瀷涓嶈兘涓虹┖', trigger: 'blur' }],
+    },
+    {
+      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 = {
+      aisle: formData.value.aisle,
+      containerNo: formData.value.containerNo,
+      dodeviceId: formData.value.dodeviceId,
+      dodevicetype: formData.value.dodevicetype,
+      isNextTask: formData.value.isNextTask,
+      isRead: formData.value.isRead,
+      mutableParam1: formData.value.mutableParam1,
+      mutableParam2: formData.value.mutableParam2,
+      mutableParam3: formData.value.mutableParam3,
+      sonTaskType: formData.value.sonTaskType,
+      sourceOrderNo: formData.value.sourceOrderNo,
+      sourcePlace: formData.value.sourcePlace,
+      taskDodeviceStatus: formData.value.taskDodeviceStatus,
+      taskLevel: formData.value.taskLevel,
+      taskNo: formData.value.taskNo,
+      taskStatus: formData.value.taskStatus,
+      taskType: formData.value.taskType,
+      toPlace: formData.value.toPlace,
+    }
+    if (!current.value) {
+      await wmsTaskDrawer.addWmsTask(data)
+    } else {
+      const id = current.value.id
+      await wmsTaskDrawer.updateWmsTask(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 taskTypeEnumEnum = await wmsTaskDrawer.getWmsEnumData({
+      EnumName: 'TaskTypeEnum',
+    })
+    updateFormItemOptions('taskType', taskTypeEnumEnum)
+    const wmsTaskStatusEnum = await wmsTaskDrawer.getWmsEnumData({
+      EnumName: 'WmsTaskStatus',
+    })
+    updateFormItemOptions('taskStatus', wmsTaskStatusEnum)
+    const sonTaskTypeEnumEnum = await wmsTaskDrawer.getWmsEnumData({
+      EnumName: 'SonTaskTypeEnum',
+    })
+    updateFormItemOptions('sonTaskType', sonTaskTypeEnumEnum)
+  }
+  commonQueryEnumForFrom()
+  /**
+   * 寮圭獥鎵撳紑鑾峰彇璇︽儏
+   */
+  const onOpen = async () => {
+    if (current.value) {
+      const res = await wmsTaskDrawer.getWmsTaskDetail(current.value)
+
+      formData.value = {
+        aisle: res.aisle,
+        containerNo: res.containerNo,
+        dodeviceId: res.dodeviceId,
+        dodevicetype: res.dodevicetype,
+        isNextTask: res.isNextTask,
+        isRead: res.isRead,
+        mutableParam1: res.mutableParam1,
+        mutableParam2: res.mutableParam2,
+        mutableParam3: res.mutableParam3,
+        sonTaskType: res.sonTaskType,
+        sourceOrderNo: res.sourceOrderNo,
+        sourcePlace: res.sourcePlace,
+        taskDodeviceStatus: res.taskDodeviceStatus,
+        taskLevel: res.taskLevel,
+        taskNo: res.taskNo,
+        taskStatus: res.taskStatus,
+        taskType: res.taskType,
+        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/HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx b/HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx
index a299cd0..ccc7860 100644
--- a/HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx
+++ b/HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx
@@ -1,324 +1,326 @@
-import { computed, defineComponent, onMounted, reactive, ref } from 'vue' 
-import type { Ref } from 'vue' 
-import BaseTable from '@/components/Table/Table' 
-import styles from './WmsTask.module.scss' 
-import { useWmsTask } from '../../../Controllers/WmsTask' 
-import IconButton from '@/components/IconButton/IconButton' 
-import WmsTaskDrawer from '../Dialog/WmsTaskDrawer/WmsTaskDrawer' 
-import WmsTaskQueryDrawer from '../Dialog/WmsTaskQueryDrawer/WmsTaskQueryDrawer' 
-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/WmsTask/Models/Service/WmsTaskDrawer' 
-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: 'WmsTask', 
-  directives: { 
-    permission: vPermission, 
-  }, 
-  setup(props, ctx) { 
-    const { 
-      dataSource, 
-      contextMenu, 
-      dialogConfig, 
-      dialogConfigForQuery, 
-      tableRef, 
-      current, 
-      search, 
-      sort, 
-      headers, 
-      onError, 
-      onSearch, 
-      onRowClick, 
-      onConfirmWmsTask, 
-      onCheck, 
-      onAddWmsTask, 
-      onAdvancedQuery, 
-      onExport, 
-      openDetail, 
-      onSuccess, 
-      onBeforeUpload, 
-    } = useWmsTask(props, ctx) 
- 
-    //瀹氫箟楂樼骇鏌ヨ寮曠敤 
-   const wmsTaskQueryDrawerRef=ref(null); 
-    // 鏂板鐨勬煡璇㈡潯浠� 
-    const queryForm = ref({ 
-      searchVal: '', 
-      str_searchFormInputAttrs:[] 
-    }) 
-    //瀹氫箟鏁翠綋妯$硦鏌ヨ鐨勫垪鏁扮粍(娉ㄦ剰锛氬繀椤诲ぇ灏忓啓璺熷悗绔殑瀹炰綋绫诲睘鎬у悕涓�鑷达紝鍚﹀垯浼氬鑷村尮閰嶄笉瀵圭殑闂) 
-    const _searchFormInputAttrs = ref([ 
-     'TaskNo', 'ContainerNo' 
-    ]); 
-    const searchFormInputAttrs_Placeholder = ref('璇疯緭鍏ヤ换鍔$紪鐮�/鎵樼洏缂栫爜'); 
-     
- 
-    // 鍔ㄦ�佹灇涓鹃�夐」 
-    const enumOptions = reactive({ 
-      taskType: [] as Array<{label: string; value: any }>, 
-taskStatus: [] as Array<{label: string; value: any }>, 
-sonTaskType: [] as Array<{label: string; value: any }>,  
-    }) 
- 
-    // 鑾峰彇鏋氫妇鏁版嵁 
-    const fetchEnumData = async () => { 
-      try { 
-        const taskTypeEnumData = await getWmsEnumData({ 
- EnumName: 'TaskTypeEnum', 
-}) 
-enumOptions.taskType = taskTypeEnumData.map((item) => ({ 
-  label: item.description, 
-  value: item.value, 
-})) 
-const wmsTaskStatusData = await getWmsEnumData({ 
- EnumName: 'WmsTaskStatus', 
-}) 
-enumOptions.taskStatus = wmsTaskStatusData.map((item) => ({ 
-  label: item.description, 
-  value: item.value, 
-})) 
-const sonTaskTypeEnumData = await getWmsEnumData({ 
- EnumName: 'SonTaskTypeEnum', 
-}) 
-enumOptions.sonTaskType = sonTaskTypeEnumData.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.wmsTaskList]: true, 
-          }} 
-        > 
-          <BaseTable 
-            ref={tableRef} 
-            url={url} 
-            sortUrlTpl="/api/v1/HIAWms/wmsTask/{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.wmsTaskContent}> 
-          {/* 娣诲姞/缂栬緫 */} 
-          <WmsTaskDrawer 
-            v-model={dialogConfig.visible} 
-            title={dialogConfig.title} 
-            row={current.value} 
-            sort={sort.value} 
-            onConfirm={onConfirmWmsTask} 
-          /> 
-          {/* 楂樼骇鏌ヨ */} 
-          <WmsTaskQueryDrawer 
-            ref="wmsTaskQueryDrawerRef" 
-            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="wmsTask-add" 
-                icon="add-p" 
-                onClick={onAddWmsTask} 
-                type="primary" 
-              > 
-                娣诲姞 
-              </IconButton> 
-              <el-divider direction="vertical" /> 
- 
-              <el-divider direction="vertical" /> 
-              <el-upload 
-                v-permission="wmsTask-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/wmsTask/import" 
-              > 
-                <IconButton icon="in">瀵煎叆</IconButton> 
-              </el-upload> 
- 
-              <IconButton 
-                v-permission="wmsTask-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> 
+import { computed, defineComponent, onMounted, reactive, ref } from 'vue'
+import type { Ref } from 'vue'
+import BaseTable from '@/components/Table/Table'
+import styles from './WmsTask.module.scss'
+import { useWmsTask } from '../../../Controllers/WmsTask'
+import IconButton from '@/components/IconButton/IconButton'
+import WmsTaskDrawer from '../Dialog/WmsTaskDrawer/WmsTaskDrawer'
+import WmsTaskQueryDrawer from '../Dialog/WmsTaskQueryDrawer/WmsTaskQueryDrawer'
+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/WmsTask/Models/Service/WmsTaskDrawer'
+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: 'WmsTask',
+  directives: {
+    permission: vPermission,
+  },
+  setup(props, ctx) {
+    const {
+      dataSource,
+      contextMenu,
+      dialogConfig,
+      dialogConfigForQuery,
+      tableRef,
+      current,
+      search,
+      sort,
+      headers,
+      onError,
+      onSearch,
+      onRowClick,
+      onConfirmWmsTask,
+      onCheck,
+      onAddWmsTask,
+      onAdvancedQuery,
+      onExport,
+      openDetail,
+      onSuccess,
+      onBeforeUpload,
+    } = useWmsTask(props, ctx)
+
+    //瀹氫箟楂樼骇鏌ヨ寮曠敤
+    const wmsTaskQueryDrawerRef = ref(null)
+    // 鏂板鐨勬煡璇㈡潯浠�
+    const queryForm = ref({
+      searchVal: '',
+      str_searchFormInputAttrs: [],
+    })
+    //瀹氫箟鏁翠綋妯$硦鏌ヨ鐨勫垪鏁扮粍(娉ㄦ剰锛氬繀椤诲ぇ灏忓啓璺熷悗绔殑瀹炰綋绫诲睘鎬у悕涓�鑷达紝鍚﹀垯浼氬鑷村尮閰嶄笉瀵圭殑闂)
+    const _searchFormInputAttrs = ref(['TaskNo', 'ContainerNo'])
+    const searchFormInputAttrs_Placeholder = ref('璇疯緭鍏ヤ换鍔$紪鐮�/鎵樼洏缂栫爜')
+
+    // 鍔ㄦ�佹灇涓鹃�夐」
+    const enumOptions = reactive({
+      taskType: [] as Array<{ label: string; value: any }>,
+      taskStatus: [] as Array<{ label: string; value: any }>,
+      sonTaskType: [] as Array<{ label: string; value: any }>,
+    })
+
+    // 鑾峰彇鏋氫妇鏁版嵁
+    const fetchEnumData = async () => {
+      try {
+        const taskTypeEnumData = await getWmsEnumData({
+          EnumName: 'TaskTypeEnum',
+        })
+        enumOptions.taskType = taskTypeEnumData.map((item) => ({
+          label: item.description,
+          value: item.value,
+        }))
+        const wmsTaskStatusData = await getWmsEnumData({
+          EnumName: 'WmsTaskStatus',
+        })
+        enumOptions.taskStatus = wmsTaskStatusData.map((item) => ({
+          label: item.description,
+          value: item.value,
+        }))
+        const sonTaskTypeEnumData = await getWmsEnumData({
+          EnumName: 'SonTaskTypeEnum',
+        })
+        enumOptions.sonTaskType = sonTaskTypeEnumData.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.wmsTaskList]: true,
+          }}
+        >
+          <BaseTable
+            ref={tableRef}
+            url={url}
+            sortUrlTpl="/api/v1/HIAWms/wmsTask/{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.wmsTaskContent}>
+          {/* 娣诲姞/缂栬緫 */}
+          <WmsTaskDrawer
+            v-model={dialogConfig.visible}
+            title={dialogConfig.title}
+            row={current.value}
+            sort={sort.value}
+            onConfirm={onConfirmWmsTask}
+          />
+          {/* 楂樼骇鏌ヨ */}
+          <WmsTaskQueryDrawer
+            ref="wmsTaskQueryDrawerRef"
+            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="wmsTask-add"
+                icon="add-p"
+                onClick={onAddWmsTask}
+                type="primary"
+              >
+                娣诲姞
+              </IconButton>
+              <el-divider direction="vertical" />
+
+              <el-divider direction="vertical" />
+              <el-upload
+                v-permission="wmsTask-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/wmsTask/import"
+              >
+                <IconButton icon="in">瀵煎叆</IconButton>
+              </el-upload>
+
+              <IconButton
+                v-permission="wmsTask-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="wmsTask-add" 
-                icon="search" 
-                onClick={onAdvancedQuery} 
-                type="primary" 
-              > 
-                楂樼骇鏌ヨ 
-              </IconButton> 
-            </ElFormItem> 
-          </div> 
- 
-          <RenderBaseTable 
-            url="/api/v1/HIAWms/wmsTask/page" 
-            dataSource={dataSource} 
-            isChecked={true} 
-            isDrag={true} 
-          /> 
-        </div> 
-      ) 
-    } 
-  }, 
-}) 
+              </IconButton> */}
+              <IconButton
+                v-permission="wmsTask-add"
+                icon="search"
+                onClick={onAdvancedQuery}
+                type="primary"
+              >
+                楂樼骇鏌ヨ
+              </IconButton>
+            </ElFormItem>
+          </div>
+
+          <RenderBaseTable
+            url="/api/v1/HIAWms/wmsTask/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/Code/DataBaseFactory/Default/MySqlDataBaseServiceHandle.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/Code/DataBaseFactory/Default/MySqlDataBaseServiceHandle.cs"
index eb8df21..b16eca7 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/Code/DataBaseFactory/Default/MySqlDataBaseServiceHandle.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/Code/DataBaseFactory/Default/MySqlDataBaseServiceHandle.cs"
@@ -15,7 +15,7 @@
             //string strSql = $"SELECT COLUMN_NAME as ColumnName, COLUMN_TYPE as DataType, IS_NULLABLE as IsNullable, CHARACTER_MAXIMUM_LENGTH as DataLength,COLUMN_COMMENT as Description " +
             //                       $"FROM INFORMATION_SCHEMA.COLUMNS " +
             //                       $"WHERE  TABLE_NAME = '{tableName}'";
-            string strSql = $"SELECT c.COLUMN_NAME as ColumnName, c.DATA_TYPE as DataType, c.IS_NULLABLE as IsNullable, c.CHARACTER_MAXIMUM_LENGTH as DataLength, c.COLUMN_COMMENT as Description, " +
+            string strSql = $"SELECT c.COLUMN_NAME as ColumnName, c.DATA_TYPE as DataType, c.IS_NULLABLE as IsNullable, c.CHARACTER_MAXIMUM_LENGTH as DataLength, c.COLUMN_COMMENT as Description,c.NUMERIC_SCALE as MyPrecision, " +
                 $"CASE WHEN kcu.COLUMN_NAME IS NOT NULL THEN 'true' ELSE 'false' END AS IsPrimaryKey " +
                 $"FROM INFORMATION_SCHEMA.COLUMNS c " +
                 $"LEFT JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE kcu " +
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/Code/DataBaseFactory/Default/SqlServerDataBaseServiceHandle.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/Code/DataBaseFactory/Default/SqlServerDataBaseServiceHandle.cs"
index 8483fe7..0691546 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/Code/DataBaseFactory/Default/SqlServerDataBaseServiceHandle.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/Code/DataBaseFactory/Default/SqlServerDataBaseServiceHandle.cs"
@@ -28,7 +28,7 @@
     where ic.object_id=obj.object_id
     and ic.column_id=col.column_id
 ) as IsPrimaryKey,
-col.Precision,
+col.Precision as MyPrecision,
 col.Scale 
 from sys.objects obj
 inner join sys.columns col
@@ -72,7 +72,7 @@
                         model = new ColumnModel();
                         if (dt.Rows[n]["Precision"].ToString() != "")
                         {
-                            model.Precision = int.Parse(dt.Rows[n]["Precision"].ToString());
+                            model.MyPrecision = int.Parse(dt.Rows[n]["Precision"].ToString());
                         }
                         if (dt.Rows[n]["Scale"].ToString() != "")
                         {
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/Code/Model/ColumnModell.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/Code/Model/ColumnModell.cs"
index 8911f5e..adce15b 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/Code/Model/ColumnModell.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/Code/Model/ColumnModell.cs"
@@ -40,7 +40,7 @@
         /// </summary>
         public bool IsPrimaryKey { get; set; }
 
-        public int Precision { get; set; }
+        public int? MyPrecision { get; set; }
 
         public int Scale { 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/Code/Templete/AppService/AppService\346\250\241\346\235\277.txt" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/AppService/AppService\346\250\241\346\235\277.txt"
index 3f5faca..0d1d5bb 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/Code/Templete/AppService/AppService\346\250\241\346\235\277.txt"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/AppService/AppService\346\250\241\346\235\277.txt"
@@ -1,7 +1,7 @@
 using CMS.Plugin.$NameSpacePath$.Application.Contracts.Dtos.$EntityName$;
 using CMS.Plugin.$NameSpacePath$.Application.Contracts.Services;
 using CMS.Plugin.$NameSpacePath$.Domain.Shared;
-using CMS.Plugin.$NameSpacePath$.Domain.Shared.Util;
+using CmsQueryExtensions;
 using CMS.Plugin.$NameSpacePath$.Domain.$EntityName$;
 using CmsQueryExtensions.Extension;
 using System.Linq.Expressions;
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/Code/Templete/Entity/Dto\346\250\241\346\235\277.txt" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/Entity/Dto\346\250\241\346\235\277.txt"
index da3d4ab..c35e1d6 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/Code/Templete/Entity/Dto\346\250\241\346\235\277.txt"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/Entity/Dto\346\250\241\346\235\277.txt"
@@ -1,4 +1,5 @@
 using CMS.Plugin.$NameSpacePath$.Domain.Shared.Enums;
+using CmsQueryExtensions;
 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/Code/Templete/Web/Views/Pages/EntityNameClass/EntityNameClass_module\346\250\241\346\235\277.txt" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/Web/Views/Pages/EntityNameClass/EntityNameClass_module\346\250\241\346\235\277.txt"
index 55b8936..a71ab02 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/Code/Templete/Web/Views/Pages/EntityNameClass/EntityNameClass_module\346\250\241\346\235\277.txt"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/Web/Views/Pages/EntityNameClass/EntityNameClass_module\346\250\241\346\235\277.txt"
@@ -15,7 +15,7 @@
   .header {
     margin-bottom: 12px;
     display: flex;
-    justify-content: flex-start;
+    justify-content: flex-end;
     align-items: center;
   }
 }
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/Code/Utility/StructStrHelper.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/Code/Utility/StructStrHelper.cs"
index 3cd0592..6b8983f 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/Code/Utility/StructStrHelper.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/Code/Utility/StructStrHelper.cs"
@@ -85,7 +85,7 @@
                         model = new ColumnModel();
                         if (dt.Rows[n]["Precision"].ToString() != "")
                         {
-                            model.Precision = int.Parse(dt.Rows[n]["Precision"].ToString());
+                            model.MyPrecision = int.Parse(dt.Rows[n]["Precision"].ToString());
                         }
                         if (dt.Rows[n]["Scale"].ToString() != "")
                         {
@@ -887,7 +887,7 @@
                     case DataTypeEnum.dt_decimal:
                     case DataTypeEnum.dt_float:
                         sql.Append("@" + attrColumnName + "  " + columnModel.DataType
-                            + "(" + columnModel.Precision.ToString() + "," + columnModel.Scale.ToString() + ")  " + fuhao + "\n");
+                            + "(" + columnModel.MyPrecision.ToString() + "," + columnModel.Scale.ToString() + ")  " + fuhao + "\n");
                         break;
                     default:
                         break;
@@ -949,7 +949,7 @@
                     case DataTypeEnum.dt_decimal:
                     case DataTypeEnum.dt_float:
                         sql.Append("@" + attrColumnName + "  " + columnModel.DataType
-                            + "(" + columnModel.Precision.ToString() + "," + columnModel.Scale.ToString() + ")  " + fuhao + "\n");
+                            + "(" + columnModel.MyPrecision.ToString() + "," + columnModel.Scale.ToString() + ")  " + fuhao + "\n");
                         break;
                     default:
                         break;
@@ -1010,7 +1010,7 @@
                     case DataTypeEnum.dt_decimal:
                     case DataTypeEnum.dt_float:
                         sql.Append("@" + attrColumnName + "  " + columnModel.DataType
-                            + "(" + columnModel.Precision.ToString() + "," + columnModel.Scale.ToString() + ")  " + fuhao);
+                            + "(" + columnModel.MyPrecision.ToString() + "," + columnModel.Scale.ToString() + ")  " + fuhao);
                         break;
                     default:
                         break;
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/queryExtensions/CmsQueryExtensions/Utils/EnumHelper.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/queryExtensions/CmsQueryExtensions/Utils/EnumHelper.cs"
new file mode 100644
index 0000000..4f22808
--- /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/queryExtensions/CmsQueryExtensions/Utils/EnumHelper.cs"
@@ -0,0 +1,77 @@
+锘縰sing System.ComponentModel;
+
+namespace CmsQueryExtensions
+{
+    /// <summary>
+    /// 鏋氫妇甯姪绫�.
+    /// </summary>
+    public static class EnumHelper
+    {
+        /// <summary>
+        /// 鑾峰彇鏋氫妇.
+        /// </summary>
+        /// <param name="enumName"> </param>
+        /// <returns></returns>
+        /// <exception cref="ArgumentException"></exception>
+        public static List<EnumItem> GetEnumItems(string enumName)
+        {
+            // 鑾峰彇褰撳墠绋嬪簭闆嗕腑鐨勬墍鏈夌被鍨�
+            var enumType = AppDomain.CurrentDomain.GetAssemblies()
+                .SelectMany(a => a.GetTypes())
+                .FirstOrDefault(t => t.Name == enumName && t.IsEnum);
+
+            if (enumType == null)
+            {
+                throw new Exception($"鏋氫妇绫诲瀷 {enumName} 涓嶅瓨鍦�");
+            }
+
+            return GetEnumItems(enumType);
+        }
+
+        /// <summary>
+        /// 鑾峰彇鏋氫妇绫诲瀷.
+        /// </summary>
+        /// <param name="enumType"></param>
+        /// <returns></returns>
+        /// <exception cref="ArgumentException"></exception>
+        public static List<EnumItem> GetEnumItems(Type enumType)
+        {
+            if (!enumType.IsEnum)
+            {
+                throw new Exception("鎻愪緵鐨勭被鍨嬩笉鏄灇涓剧被鍨�");
+            }
+
+            var result = new List<EnumItem>();
+            var values = Enum.GetValues(enumType);
+
+            foreach (var value in values)
+            {
+                var fieldInfo = enumType.GetField(value.ToString());
+                var description = fieldInfo?
+                    .GetCustomAttributes(typeof(DescriptionAttribute), false)
+                    .FirstOrDefault() as DescriptionAttribute;
+
+                result.Add(new EnumItem
+                {
+                    Value = (int)value,
+                    Name = value.ToString(),
+                    Description = description?.Description ?? value.ToString(),
+                });
+            }
+
+            return result;
+        }
+    }
+
+    /// <summary>
+    /// 鏋氫妇鎻忚堪.
+    /// </summary>
+    public class EnumItem
+    {
+        public int Value { get; set; }
+
+        public string Name { get; set; }
+
+        public string Description { get; set; }
+    }
+}
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/queryExtensions/CmsQueryExtensions/Utils/ExportHelper.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/queryExtensions/CmsQueryExtensions/Utils/ExportHelper.cs"
new file mode 100644
index 0000000..5514f47
--- /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/queryExtensions/CmsQueryExtensions/Utils/ExportHelper.cs"
@@ -0,0 +1,53 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Reflection;
+using System.Threading.Tasks;
+
+namespace CmsQueryExtensions
+{
+    /// <summary>
+    /// 瀵煎嚭甯姪绫�.
+    /// </summary>
+    public static class ExportHelper
+    {
+       
+
+        // 鎵归噺杞崲鏂规硶
+        public static List<Dictionary<string, object>> ConvertListToExportData<T>(IEnumerable<T> list)
+        {
+            return list.Select(ConvertToExportData).ToList();
+        }
+
+        // 閫氱敤杞崲鏂规硶锛堝吋瀹� Func<T, Dictionary<string, object>>锛�
+        public static Dictionary<string, object> ConvertToExportData<T>(T entity)
+        {
+            var dict = new Dictionary<string, object>();
+            if (entity == null) return dict;
+
+            foreach (var prop in typeof(T).GetProperties())
+            {
+                var value = prop.GetValue(entity);
+                dict[prop.Name] = FormatValue(value);
+            }
+            return dict;
+        }
+
+        private static object FormatValue(object value)
+        {
+            if (value == null) return string.Empty;
+
+            // 澶勭悊鏋氫妇
+            if (value is Enum enumValue)
+                return GetEnumDescriptionUtil.GetEnumDescription(enumValue);
+
+            // 澶勭悊甯冨皵
+            if (value is bool boolValue)
+                return boolValue ? "鏄�" : "鍚�";
+
+            return value;
+        }
+
+    }
+}
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/queryExtensions/CmsQueryExtensions/Utils/GetEnumDescriptionUtil.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/queryExtensions/CmsQueryExtensions/Utils/GetEnumDescriptionUtil.cs"
new file mode 100644
index 0000000..bcf3c5b
--- /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/queryExtensions/CmsQueryExtensions/Utils/GetEnumDescriptionUtil.cs"
@@ -0,0 +1,30 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using System.Reflection;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CmsQueryExtensions
+{
+    public class GetEnumDescriptionUtil
+    {
+        /// <summary>
+        /// 鑾峰彇鏋氫妇鐨勬弿杩�
+        /// </summary>
+        /// <param name="enumValue"></param>
+        /// <returns></returns>
+        public static string GetEnumDescription(Enum enumValue)
+        {
+            string value = enumValue.ToString();
+            if (string.IsNullOrWhiteSpace(value) || value == "0") return "";
+            FieldInfo field = enumValue.GetType().GetField(value);
+            object[] objs = field.GetCustomAttributes(typeof(DescriptionAttribute), false);  //鑾峰彇鎻忚堪灞炴��
+            if (objs == null || objs.Length == 0)  //褰撴弿杩板睘鎬ф病鏈夋椂锛岀洿鎺ヨ繑鍥炲悕绉�
+                return value;
+            DescriptionAttribute descriptionAttribute = (DescriptionAttribute)objs[0];
+            return descriptionAttribute.Description;
+        }
+    }
+}

--
Gitblit v1.9.3