From fbd434b2aaf5e1f7035f3843508c62ea930d2549 Mon Sep 17 00:00:00 2001
From: zs <zhousong@weben-smart.com>
Date: 周三, 07 5月 2025 10:47:56 +0800
Subject: [PATCH] 高级查询

---
 HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.module.scss                                             |    2 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskCreateOrUpdateDtoBase.cs             |  100 
 HIAWms/web/src/widgets/WmsTask/Controllers/WmsTaskQueryDrawer.tsx                                                  |  715 +++++----
 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs                                    |  696 ++++----
 HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsTaskAutoMapperProfile.cs                         |    2 
 Weben_CMS专用代码生成器/Code/DataBaseFactory/Default/MySqlDataBaseServiceHandle.cs                                        |    2 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskCreateDto.cs                         |    2 
 HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsTaskController.cs                                                |   22 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTasksImportModel.cs                      |    4 
 HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsEnumController.cs                                                |    2 
 HIAWms/web/src/config/menu.ts                                                                                      |   52 
 HIAWms/web/src/widgets/WmsTask/Controllers/WmsTaskDrawer.tsx                                                       |  726 +++++----
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/GetWmsInOutStockRecordInput.cs  |    2 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/GetWmsTaskInput.cs                          |  212 +-
 HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsTask/IWmsTaskRepository.cs                                           |   12 
 Weben_CMS专用代码生成器/Code/Utility/StructStrHelper.cs                                                                   |   59 
 HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx                                                     |  646 ++++----
 Weben_CMS专用代码生成器/queryExtensions/CmsQueryExtensions/Extension/DynamicSearchParameters/WhereConditionsExtensions.cs |   12 
 CommonDLL/CmsQueryExtensions.dll                                                                                   |    0 
 HIAWms/web/src/widgets/WmsInOutStockRecord/Controllers/WmsInOutStockRecordQueryDrawer.tsx                          |  562 +++---
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsTaskAppService.cs                           |   12 
 HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsTaskRepository.cs                    |   12 
 HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/Config.ts                                                       |  188 +-
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskDto.cs                               |  267 +-
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskExportModel.cs                       |  128 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskUpdateDto.cs                         |    2 
 Weben_CMS专用代码生成器/Code/Templete/Web/Controllers/EntityModeDrawer模板.txt                                              |   19 
 27 files changed, 2,325 insertions(+), 2,133 deletions(-)

diff --git a/CommonDLL/CmsQueryExtensions.dll b/CommonDLL/CmsQueryExtensions.dll
index 479f29e..06867a8 100644
--- a/CommonDLL/CmsQueryExtensions.dll
+++ b/CommonDLL/CmsQueryExtensions.dll
Binary files differ
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 a511331..53d4679 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
@@ -108,7 +108,7 @@
     /// </summary>
     //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规��
     [HighSearchRangeAttribute]
-    public List<string> OperateTime { get; set; }
+    public string OperateTime { get; set; }
 
 
     /// <summary>
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/GetWmsTaskInput.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/GetWmsTaskInput.cs
index a3950c7..9e0ba7b 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/GetWmsTaskInput.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/GetWmsTaskInput.cs
@@ -4,7 +4,7 @@
 namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsTask; 
  
 /// <summary> 
-/// Wms浠诲姟绠$悊琛ㄦ煡璇㈠弬鏁� 
+/// Wms浠诲姟绠$悊鏌ヨ鍙傛暟 
 /// </summary> 
 public class GetWmsTaskInput : ExtensiblePagedAndSortedResultRequestDto 
 { 
@@ -44,14 +44,44 @@
     #endregion 
  
             /// <summary>
-        /// 宸烽亾
+        /// 浠诲姟鍙�
         /// </summary>
-        public int?  Aisle { get; set; }
+        public string TaskNo { get; set; }
 
         /// <summary>
-        /// 宸烽亾-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// 浠诲姟鍙�-鏌ヨ鍏崇郴杩愮畻绗� 
         /// </summary>
-        public SearchFilterModeEnum Aisle_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
+        public SearchFilterModeEnum TaskNo_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+
+        /// <summary>
+        /// 浠诲姟绫诲瀷
+        /// </summary>
+        public int?  TaskType { get; set; }
+
+        /// <summary>
+        /// 浠诲姟绫诲瀷-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum TaskType_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+        /// <summary>
+        /// 浠诲姟绛夌骇
+        /// </summary>
+        public int?  TaskLevel { get; set; }
+
+        /// <summary>
+        /// 浠诲姟绛夌骇-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum TaskLevel_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+        /// <summary>
+        /// 浠诲姟鐘舵��
+        /// </summary>
+        public int?  TaskStatus { get; set; }
+
+        /// <summary>
+        /// 浠诲姟鐘舵��-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum TaskStatus_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
 
         /// <summary>
         /// 鎵樼洏缂栧彿
@@ -64,40 +94,34 @@
         public SearchFilterModeEnum ContainerNo_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
 
         /// <summary>
-        /// 
+        /// 璧峰搴撲綅
         /// </summary>
-        //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规��
-        [HighSearchRangeAttribute]
-        public List<string> CreationTime { get; set; }
-
+        public string SourcePlace { get; set; }
 
         /// <summary>
-        /// 
+        /// 璧峰搴撲綅-鏌ヨ鍏崇郴杩愮畻绗� 
         /// </summary>
-        public string CreatorId { get; set; }
+        public SearchFilterModeEnum SourcePlace_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
 
         /// <summary>
-        /// -鏌ヨ鍏崇郴杩愮畻绗� 
+        /// 鐩爣搴撲綅
         /// </summary>
-        public SearchFilterModeEnum CreatorId_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+        public string ToPlace { get; set; }
 
         /// <summary>
-        /// 
+        /// 鐩爣搴撲綅-鏌ヨ鍏崇郴杩愮畻绗� 
         /// </summary>
-        public string DeleterId { get; set; }
+        public SearchFilterModeEnum ToPlace_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
 
         /// <summary>
-        /// -鏌ヨ鍏崇郴杩愮畻绗� 
+        /// 宸烽亾
         /// </summary>
-        public SearchFilterModeEnum DeleterId_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+        public int?  Aisle { get; set; }
 
         /// <summary>
-        /// 
+        /// 宸烽亾-鏌ヨ鍏崇郴杩愮畻绗� 
         /// </summary>
-        //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规��
-        [HighSearchRangeAttribute]
-        public List<string> DeletionTime { get; set; }
-
+        public SearchFilterModeEnum Aisle_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
 
         /// <summary>
         /// 鍫嗗灈鏈篒D
@@ -120,34 +144,14 @@
         public SearchFilterModeEnum Dodevicetype_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
 
         /// <summary>
-        /// 
+        /// 璁惧浠诲姟鐘舵��
         /// </summary>
-        public bool?  IsDeleted { get; set; }
+        public int?  TaskDodeviceStatus { get; set; }
 
         /// <summary>
-        /// -鏌ヨ鍏崇郴杩愮畻绗� 
+        /// 璁惧浠诲姟鐘舵��-鏌ヨ鍏崇郴杩愮畻绗� 
         /// </summary>
-        public SearchFilterModeEnum IsDeleted_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
-
-        /// <summary>
-        /// 鏄惁绂佺敤
-        /// </summary>
-        public bool?  IsDisabled { get; set; }
-
-        /// <summary>
-        /// 鏄惁绂佺敤-鏌ヨ鍏崇郴杩愮畻绗� 
-        /// </summary>
-        public SearchFilterModeEnum IsDisabled_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
-
-        /// <summary>
-        /// 涓嬩釜浠诲姟鏄惁鐢熸垚鎴愬姛
-        /// </summary>
-        public int?  IsNextTask { get; set; }
-
-        /// <summary>
-        /// 涓嬩釜浠诲姟鏄惁鐢熸垚鎴愬姛-鏌ヨ鍏崇郴杩愮畻绗� 
-        /// </summary>
-        public SearchFilterModeEnum IsNextTask_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
+        public SearchFilterModeEnum TaskDodeviceStatus_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
 
         /// <summary>
         /// WCS鏄惁鍙互璇诲彇
@@ -160,22 +164,34 @@
         public SearchFilterModeEnum IsRead_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
 
         /// <summary>
-        /// 
+        /// 瀛愪换鍔$被鍨�
         /// </summary>
-        //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规��
-        [HighSearchRangeAttribute]
-        public List<string> LastModificationTime { get; set; }
-
+        public int?  SonTaskType { get; set; }
 
         /// <summary>
-        /// 
+        /// 瀛愪换鍔$被鍨�-鏌ヨ鍏崇郴杩愮畻绗� 
         /// </summary>
-        public string LastModifierId { get; set; }
+        public SearchFilterModeEnum SonTaskType_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
 
         /// <summary>
-        /// -鏌ヨ鍏崇郴杩愮畻绗� 
+        /// 鏉ユ簮鍗曟嵁鍙�
         /// </summary>
-        public SearchFilterModeEnum LastModifierId_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+        public string SourceOrderNo { get; set; }
+
+        /// <summary>
+        /// 鏉ユ簮鍗曟嵁鍙�-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum SourceOrderNo_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+
+        /// <summary>
+        /// 涓嬩釜浠诲姟鏄惁鐢熸垚鎴愬姛
+        /// </summary>
+        public int?  IsNextTask { get; set; }
+
+        /// <summary>
+        /// 涓嬩釜浠诲姟鏄惁鐢熸垚鎴愬姛-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// </summary>
+        public SearchFilterModeEnum IsNextTask_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
 
         /// <summary>
         /// 鍙彉鍙橀噺1
@@ -208,16 +224,6 @@
         public SearchFilterModeEnum MutableParam3_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
 
         /// <summary>
-        /// 瀛愪换鍔$被鍨�
-        /// </summary>
-        public int?  SonTaskType { get; set; }
-
-        /// <summary>
-        /// 瀛愪换鍔$被鍨�-鏌ヨ鍏崇郴杩愮畻绗� 
-        /// </summary>
-        public SearchFilterModeEnum SonTaskType_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
-
-        /// <summary>
         /// 鎺掑簭
         /// </summary>
         public int?  Sort { get; set; }
@@ -228,84 +234,78 @@
         public SearchFilterModeEnum Sort_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
 
         /// <summary>
-        /// 鏉ユ簮鍗曟嵁鍙�
+        /// 鏄惁绂佺敤
         /// </summary>
-        public string SourceOrderNo { get; set; }
+        public bool?  IsDisabled { get; set; }
 
         /// <summary>
-        /// 鏉ユ簮鍗曟嵁鍙�-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// 鏄惁绂佺敤-鏌ヨ鍏崇郴杩愮畻绗� 
         /// </summary>
-        public SearchFilterModeEnum SourceOrderNo_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+        public SearchFilterModeEnum IsDisabled_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
 
         /// <summary>
-        /// 璧峰搴撲綅
+        /// 
         /// </summary>
-        public string SourcePlace { get; set; }
+        //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规��
+        [HighSearchRangeAttribute]
+        public List<string> CreationTime { get; set; }
+
 
         /// <summary>
-        /// 璧峰搴撲綅-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// 
         /// </summary>
-        public SearchFilterModeEnum SourcePlace_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+        public string CreatorId { get; set; }
 
         /// <summary>
-        /// 璁惧浠诲姟鐘舵��
+        /// -鏌ヨ鍏崇郴杩愮畻绗� 
         /// </summary>
-        public int?  TaskDodeviceStatus { get; set; }
+        public SearchFilterModeEnum CreatorId_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
 
         /// <summary>
-        /// 璁惧浠诲姟鐘舵��-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// 
         /// </summary>
-        public SearchFilterModeEnum TaskDodeviceStatus_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
+        //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规��
+        [HighSearchRangeAttribute]
+        public List<string> LastModificationTime { get; set; }
+
 
         /// <summary>
-        /// 浠诲姟绛夌骇
+        /// 
         /// </summary>
-        public int?  TaskLevel { get; set; }
+        public string LastModifierId { get; set; }
 
         /// <summary>
-        /// 浠诲姟绛夌骇-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// -鏌ヨ鍏崇郴杩愮畻绗� 
         /// </summary>
-        public SearchFilterModeEnum TaskLevel_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
+        public SearchFilterModeEnum LastModifierId_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
 
         /// <summary>
-        /// 浠诲姟鍙�
+        /// 
         /// </summary>
-        public string TaskNo { get; set; }
+        public bool?  IsDeleted { get; set; }
 
         /// <summary>
-        /// 浠诲姟鍙�-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// -鏌ヨ鍏崇郴杩愮畻绗� 
         /// </summary>
-        public SearchFilterModeEnum TaskNo_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+        public SearchFilterModeEnum IsDeleted_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
 
         /// <summary>
-        /// 浠诲姟鐘舵��
+        /// 
         /// </summary>
-        public int?  TaskStatus { get; set; }
+        public string DeleterId { get; set; }
 
         /// <summary>
-        /// 浠诲姟鐘舵��-鏌ヨ鍏崇郴杩愮畻绗� 
+        /// -鏌ヨ鍏崇郴杩愮畻绗� 
         /// </summary>
-        public SearchFilterModeEnum TaskStatus_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
+        public SearchFilterModeEnum DeleterId_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
 
         /// <summary>
-        /// 浠诲姟绫诲瀷
+        /// 
         /// </summary>
-        public int?  TaskType { get; set; }
+        //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规��
+        [HighSearchRangeAttribute]
+        public List<string> DeletionTime { get; set; }
 
-        /// <summary>
-        /// 浠诲姟绫诲瀷-鏌ヨ鍏崇郴杩愮畻绗� 
-        /// </summary>
-        public SearchFilterModeEnum TaskType_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
-
-        /// <summary>
-        /// 鐩爣搴撲綅
-        /// </summary>
-        public string ToPlace { get; set; }
-
-        /// <summary>
-        /// 鐩爣搴撲綅-鏌ヨ鍏崇郴杩愮畻绗� 
-        /// </summary>
-        public SearchFilterModeEnum ToPlace_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
 
  
 } 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskCreateDto.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskCreateDto.cs
index 2953541..783fa17 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskCreateDto.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskCreateDto.cs
@@ -1,7 +1,7 @@
 namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsTask; 
  
 /// <summary> 
-/// Wms浠诲姟绠$悊琛ㄥ垱寤哄弬鏁板璞� 
+/// Wms浠诲姟绠$悊鍒涘缓鍙傛暟瀵硅薄 
 /// </summary> 
 public class WmsTaskCreateDto : WmsTaskCreateOrUpdateDtoBase 
 { 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskCreateOrUpdateDtoBase.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskCreateOrUpdateDtoBase.cs
index 11a88f6..134b62b 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskCreateOrUpdateDtoBase.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskCreateOrUpdateDtoBase.cs
@@ -5,14 +5,29 @@
 namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsTask; 
  
 /// <summary> 
-/// Wms浠诲姟绠$悊琛ㄥ垱寤烘垨鏇存柊鍩虹被 
+/// Wms浠诲姟绠$悊鍒涘缓鎴栨洿鏂板熀绫� 
 /// </summary> 
 public abstract class WmsTaskCreateOrUpdateDtoBase : ExtensibleEntityDto 
 { 
             /// <summary>
-        /// 宸烽亾
+        /// 浠诲姟鍙�
         /// </summary>
-        public int? Aisle { get; set; }
+        public string TaskNo { get; set; }
+
+        /// <summary>
+        /// 浠诲姟绫诲瀷
+        /// </summary>
+        public TaskTypeEnum TaskType { get; set; }
+
+        /// <summary>
+        /// 浠诲姟绛夌骇
+        /// </summary>
+        public int TaskLevel { get; set; }
+
+        /// <summary>
+        /// 浠诲姟鐘舵��
+        /// </summary>
+        public WmsTaskStatus TaskStatus { get; set; }
 
         /// <summary>
         /// 鎵樼洏缂栧彿
@@ -20,9 +35,19 @@
         public string? ContainerNo { get; set; }
 
         /// <summary>
-        /// 
+        /// 璧峰搴撲綅
         /// </summary>
-        public string? CreatorId { get; set; }
+        public string? SourcePlace { get; set; }
+
+        /// <summary>
+        /// 鐩爣搴撲綅
+        /// </summary>
+        public string? ToPlace { get; set; }
+
+        /// <summary>
+        /// 宸烽亾
+        /// </summary>
+        public int? Aisle { get; set; }
 
         /// <summary>
         /// 鍫嗗灈鏈篒D
@@ -35,14 +60,9 @@
         public int Dodevicetype { get; set; }
 
         /// <summary>
-        /// 鏄惁绂佺敤
+        /// 璁惧浠诲姟鐘舵��
         /// </summary>
-        public bool? IsDisabled { get; set; }
-
-        /// <summary>
-        /// 涓嬩釜浠诲姟鏄惁鐢熸垚鎴愬姛
-        /// </summary>
-        public int? IsNextTask { get; set; }
+        public int TaskDodeviceStatus { get; set; }
 
         /// <summary>
         /// WCS鏄惁鍙互璇诲彇
@@ -50,9 +70,19 @@
         public bool IsRead { get; set; }
 
         /// <summary>
-        /// 
+        /// 瀛愪换鍔$被鍨�
         /// </summary>
-        public string? LastModifierId { get; set; }
+        public SonTaskTypeEnum? SonTaskType { get; set; }
+
+        /// <summary>
+        /// 鏉ユ簮鍗曟嵁鍙�
+        /// </summary>
+        public string? SourceOrderNo { get; set; }
+
+        /// <summary>
+        /// 涓嬩釜浠诲姟鏄惁鐢熸垚鎴愬姛
+        /// </summary>
+        public int? IsNextTask { get; set; }
 
         /// <summary>
         /// 鍙彉鍙橀噺1
@@ -70,54 +100,24 @@
         public string? MutableParam3 { get; set; }
 
         /// <summary>
-        /// 瀛愪换鍔$被鍨�
-        /// </summary>
-        public SonTaskTypeEnum? SonTaskType { get; set; }
-
-        /// <summary>
         /// 鎺掑簭
         /// </summary>
         public int Sort { get; set; }
 
         /// <summary>
-        /// 鏉ユ簮鍗曟嵁鍙�
+        /// 鏄惁绂佺敤
         /// </summary>
-        public string? SourceOrderNo { get; set; }
+        public bool? IsDisabled { get; set; }
 
         /// <summary>
-        /// 璧峰搴撲綅
+        /// 
         /// </summary>
-        public string? SourcePlace { get; set; }
+        public string? CreatorId { get; set; }
 
         /// <summary>
-        /// 璁惧浠诲姟鐘舵��
+        /// 
         /// </summary>
-        public int TaskDodeviceStatus { get; set; }
-
-        /// <summary>
-        /// 浠诲姟绛夌骇
-        /// </summary>
-        public int TaskLevel { get; set; }
-
-        /// <summary>
-        /// 浠诲姟鍙�
-        /// </summary>
-        public string TaskNo { get; set; }
-
-        /// <summary>
-        /// 浠诲姟鐘舵��
-        /// </summary>
-        public WmsTaskStatus TaskStatus { get; set; }
-
-        /// <summary>
-        /// 浠诲姟绫诲瀷
-        /// </summary>
-        public TaskTypeEnum TaskType { get; set; }
-
-        /// <summary>
-        /// 鐩爣搴撲綅
-        /// </summary>
-        public string? ToPlace { get; set; }
+        public string? LastModifierId { get; set; }
 
  
  
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskDto.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskDto.cs
index 00858a4..8d2fe5b 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskDto.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskDto.cs
@@ -4,152 +4,38 @@
 using Volo.Abp.Data;
 using Volo.Abp.Domain.Entities;
 
+
 namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsTask;
 
 /// <summary> 
-/// Wms浠诲姟绠$悊琛ㄦ暟鎹弬鏁板璞� 
+/// Wms浠诲姟绠$悊鏁版嵁鍙傛暟瀵硅薄 
 /// </summary> 
 public class WmsTaskDto : ExtensibleEntityDto<Guid>, IHasConcurrencyStamp
 {
     /// <summary>
-    /// 宸烽亾
+    /// 浠诲姟鍙�
     /// </summary>
-    public int? Aisle { get; set; }
+    public string TaskNo { get; set; }
 
     /// <summary>
-    /// 
+    /// 浠诲姟绫诲瀷
     /// </summary>
-    public string? ConcurrencyStamp { get; set; }
+    public TaskTypeEnum TaskType { get; set; }
 
     /// <summary>
-    /// 鎵樼洏缂栧彿
+    /// 浠诲姟绫诲瀷
     /// </summary>
-    public string? ContainerNo { get; set; }
-
-    /// <summary>
-    /// 
-    /// </summary>
-    public DateTime CreationTime { get; set; }
-
-    /// <summary>
-    /// 
-    /// </summary>
-    public string? CreatorId { get; set; }
-
-    /// <summary>
-    /// 
-    /// </summary>
-    public string? DeleterId { get; set; }
-
-    /// <summary>
-    /// 
-    /// </summary>
-    public DateTime? DeletionTime { get; set; }
-
-    /// <summary>
-    /// 鍫嗗灈鏈篒D
-    /// </summary>
-    public int? DodeviceId { get; set; }
-
-    /// <summary>
-    /// 璁惧绫诲瀷
-    /// </summary>
-    public int Dodevicetype { get; set; }
-
-    /// <summary>
-    /// 
-    /// </summary>
-    public ExtraPropertyDictionary? ExtraProperties { get; set; }
-
-    /// <summary>
-    /// 
-    /// </summary>
-    public bool IsDeleted { get; set; }
-
-    /// <summary>
-    /// 鏄惁绂佺敤
-    /// </summary>
-    public bool? IsDisabled { get; set; }
-
-    /// <summary>
-    /// 涓嬩釜浠诲姟鏄惁鐢熸垚鎴愬姛
-    /// </summary>
-    public int? IsNextTask { get; set; }
-
-    /// <summary>
-    /// WCS鏄惁鍙互璇诲彇
-    /// </summary>
-    public bool IsRead { get; set; }
-
-    /// <summary>
-    /// 
-    /// </summary>
-    public DateTime? LastModificationTime { get; set; }
-
-    /// <summary>
-    /// 
-    /// </summary>
-    public string? LastModifierId { get; set; }
-
-    /// <summary>
-    /// 鍙彉鍙橀噺1
-    /// </summary>
-    public string? MutableParam1 { get; set; }
-
-    /// <summary>
-    /// 鍙彉鍙橀噺2
-    /// </summary>
-    public string? MutableParam2 { get; set; }
-
-    /// <summary>
-    /// 鍙彉鍙橀噺3
-    /// </summary>
-    public string? MutableParam3 { get; set; }
-
-    /// <summary>
-    /// 瀛愪换鍔$被鍨�
-    /// </summary>
-    public SonTaskTypeEnum? SonTaskType { get; set; }
-
-    /// <summary>
-    /// 瀛愪换鍔$被鍨�
-    /// </summary>
-    public string? SonTaskTypeDesc
+    public string TaskTypeDesc
     {
         get
         {
-            return GetEnumDescriptionUtil.GetEnumDescription(SonTaskType);
+            return GetEnumDescriptionUtil.GetEnumDescription(TaskType);
         }
     }
-    /// <summary>
-    /// 鎺掑簭
-    /// </summary>
-    public int Sort { get; set; }
-
-    /// <summary>
-    /// 鏉ユ簮鍗曟嵁鍙�
-    /// </summary>
-    public string? SourceOrderNo { get; set; }
-
-    /// <summary>
-    /// 璧峰搴撲綅
-    /// </summary>
-    public string? SourcePlace { get; set; }
-
-    /// <summary>
-    /// 璁惧浠诲姟鐘舵��
-    /// </summary>
-    public int TaskDodeviceStatus { get; set; }
-
     /// <summary>
     /// 浠诲姟绛夌骇
     /// </summary>
     public int TaskLevel { get; set; }
-
-    /// <summary>
-    /// 浠诲姟鍙�
-    /// </summary>
-    public string TaskNo { get; set; }
 
     /// <summary>
     /// 浠诲姟鐘舵��
@@ -167,25 +53,140 @@
         }
     }
     /// <summary>
-    /// 浠诲姟绫诲瀷
+    /// 鎵樼洏缂栧彿
     /// </summary>
-    public TaskTypeEnum TaskType { get; set; }
+    public string? ContainerNo { get; set; }
 
     /// <summary>
-    /// 浠诲姟绫诲瀷
+    /// 璧峰搴撲綅
     /// </summary>
-    public string TaskTypeDesc
-    {
-        get
-        {
-            return GetEnumDescriptionUtil.GetEnumDescription(TaskType);
-        }
-    }
+    public string? SourcePlace { get; set; }
+
     /// <summary>
     /// 鐩爣搴撲綅
     /// </summary>
     public string? ToPlace { get; set; }
 
+    /// <summary>
+    /// 宸烽亾
+    /// </summary>
+    public int? Aisle { get; set; }
+
+    /// <summary>
+    /// 鍫嗗灈鏈篒D
+    /// </summary>
+    public int? DodeviceId { get; set; }
+
+    /// <summary>
+    /// 璁惧绫诲瀷
+    /// </summary>
+    public int Dodevicetype { get; set; }
+
+    /// <summary>
+    /// 璁惧浠诲姟鐘舵��
+    /// </summary>
+    public int TaskDodeviceStatus { get; set; }
+
+    /// <summary>
+    /// WCS鏄惁鍙互璇诲彇
+    /// </summary>
+    public bool IsRead { get; set; }
+
+    /// <summary>
+    /// 瀛愪换鍔$被鍨�
+    /// </summary>
+    public SonTaskTypeEnum? SonTaskType { get; set; }
+
+    /// <summary>
+    /// 瀛愪换鍔$被鍨�
+    /// </summary>
+    public string? SonTaskTypeDesc
+    {
+        get
+        {
+            return GetEnumDescriptionUtil.GetEnumDescription(SonTaskType);
+        }
+    }
+    /// <summary>
+    /// 鏉ユ簮鍗曟嵁鍙�
+    /// </summary>
+    public string? SourceOrderNo { get; set; }
+
+    /// <summary>
+    /// 涓嬩釜浠诲姟鏄惁鐢熸垚鎴愬姛
+    /// </summary>
+    public int? IsNextTask { get; set; }
+
+    /// <summary>
+    /// 鍙彉鍙橀噺1
+    /// </summary>
+    public string? MutableParam1 { get; set; }
+
+    /// <summary>
+    /// 鍙彉鍙橀噺2
+    /// </summary>
+    public string? MutableParam2 { get; set; }
+
+    /// <summary>
+    /// 鍙彉鍙橀噺3
+    /// </summary>
+    public string? MutableParam3 { get; set; }
+
+    /// <summary>
+    /// 鎺掑簭
+    /// </summary>
+    public int Sort { get; set; }
+
+    /// <summary>
+    /// 鏄惁绂佺敤
+    /// </summary>
+    public bool? IsDisabled { get; set; }
+
+    /// <summary>
+    /// 
+    /// </summary>
+    public ExtraPropertyDictionary? ExtraProperties { get; set; }
+
+    /// <summary>
+    /// 
+    /// </summary>
+    public string? ConcurrencyStamp { get; set; }
+
+    /// <summary>
+    /// 
+    /// </summary>
+    public DateTime CreationTime { get; set; }
+
+    /// <summary>
+    /// 
+    /// </summary>
+    public string? CreatorId { get; set; }
+
+    /// <summary>
+    /// 
+    /// </summary>
+    public DateTime? LastModificationTime { get; set; }
+
+    /// <summary>
+    /// 
+    /// </summary>
+    public string? LastModifierId { get; set; }
+
+    /// <summary>
+    /// 
+    /// </summary>
+    public bool IsDeleted { get; set; }
+
+    /// <summary>
+    /// 
+    /// </summary>
+    public string? DeleterId { get; set; }
+
+    /// <summary>
+    /// 
+    /// </summary>
+    public DateTime? DeletionTime { get; set; }
+
 
 
     /// <summary> 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskExportModel.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskExportModel.cs
index 2618ddc..4f0f127 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskExportModel.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskExportModel.cs
@@ -6,21 +6,57 @@
 namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsTask; 
  
 /// <summary> 
-/// Wms浠诲姟绠$悊琛ㄥ鍑烘ā鍨� 
+/// Wms浠诲姟绠$悊瀵煎嚭妯″瀷 
 /// </summary> 
 public  class WmsTaskExportModel 
 { 
             /// <summary>
-        /// 宸烽亾
+        /// 浠诲姟鍙�
         /// </summary>
-        [ExcelColumn(Name = "宸烽亾", Width = 25)]
-        public int? Aisle { get; set; }
+        [ExcelColumn(Name = "浠诲姟鍙�", Width = 25)]
+        public string TaskNo { get; set; }
+
+        /// <summary>
+        /// 浠诲姟绫诲瀷
+        /// </summary>
+        [ExcelColumn(Name = "浠诲姟绫诲瀷", Width = 25)]
+        public TaskTypeEnum TaskType { get; set; }
+
+        /// <summary>
+        /// 浠诲姟绛夌骇
+        /// </summary>
+        [ExcelColumn(Name = "浠诲姟绛夌骇", Width = 25)]
+        public int TaskLevel { get; set; }
+
+        /// <summary>
+        /// 浠诲姟鐘舵��
+        /// </summary>
+        [ExcelColumn(Name = "浠诲姟鐘舵��", Width = 25)]
+        public WmsTaskStatus TaskStatus { get; set; }
 
         /// <summary>
         /// 鎵樼洏缂栧彿
         /// </summary>
         [ExcelColumn(Name = "鎵樼洏缂栧彿", Width = 25)]
         public string ContainerNo { get; set; }
+
+        /// <summary>
+        /// 璧峰搴撲綅
+        /// </summary>
+        [ExcelColumn(Name = "璧峰搴撲綅", Width = 25)]
+        public string SourcePlace { get; set; }
+
+        /// <summary>
+        /// 鐩爣搴撲綅
+        /// </summary>
+        [ExcelColumn(Name = "鐩爣搴撲綅", Width = 25)]
+        public string ToPlace { get; set; }
+
+        /// <summary>
+        /// 宸烽亾
+        /// </summary>
+        [ExcelColumn(Name = "宸烽亾", Width = 25)]
+        public int? Aisle { get; set; }
 
         /// <summary>
         /// 鍫嗗灈鏈篒D
@@ -35,22 +71,34 @@
         public int Dodevicetype { get; set; }
 
         /// <summary>
-        /// 鏄惁绂佺敤
+        /// 璁惧浠诲姟鐘舵��
         /// </summary>
-        [ExcelColumn(Name = "鏄惁绂佺敤", Width = 25)]
-        public bool? IsDisabled { get; set; }
-
-        /// <summary>
-        /// 涓嬩釜浠诲姟鏄惁鐢熸垚鎴愬姛
-        /// </summary>
-        [ExcelColumn(Name = "涓嬩釜浠诲姟鏄惁鐢熸垚鎴愬姛", Width = 25)]
-        public int? IsNextTask { get; set; }
+        [ExcelColumn(Name = "璁惧浠诲姟鐘舵��", Width = 25)]
+        public int TaskDodeviceStatus { get; set; }
 
         /// <summary>
         /// WCS鏄惁鍙互璇诲彇
         /// </summary>
         [ExcelColumn(Name = "WCS鏄惁鍙互璇诲彇", Width = 25)]
         public bool IsRead { get; set; }
+
+        /// <summary>
+        /// 瀛愪换鍔$被鍨�
+        /// </summary>
+        [ExcelColumn(Name = "瀛愪换鍔$被鍨�", Width = 25)]
+        public SonTaskTypeEnum? SonTaskType { get; set; }
+
+        /// <summary>
+        /// 鏉ユ簮鍗曟嵁鍙�
+        /// </summary>
+        [ExcelColumn(Name = "鏉ユ簮鍗曟嵁鍙�", Width = 25)]
+        public string SourceOrderNo { get; set; }
+
+        /// <summary>
+        /// 涓嬩釜浠诲姟鏄惁鐢熸垚鎴愬姛
+        /// </summary>
+        [ExcelColumn(Name = "涓嬩釜浠诲姟鏄惁鐢熸垚鎴愬姛", Width = 25)]
+        public int? IsNextTask { get; set; }
 
         /// <summary>
         /// 鍙彉鍙橀噺1
@@ -71,64 +119,16 @@
         public string MutableParam3 { get; set; }
 
         /// <summary>
-        /// 瀛愪换鍔$被鍨�
-        /// </summary>
-        [ExcelColumn(Name = "瀛愪换鍔$被鍨�", Width = 25)]
-        public SonTaskTypeEnum? SonTaskType { get; set; }
-
-        /// <summary>
         /// 鎺掑簭
         /// </summary>
         [ExcelColumn(Name = "鎺掑簭", Width = 25)]
         public int Sort { get; set; }
 
         /// <summary>
-        /// 鏉ユ簮鍗曟嵁鍙�
+        /// 鏄惁绂佺敤
         /// </summary>
-        [ExcelColumn(Name = "鏉ユ簮鍗曟嵁鍙�", Width = 25)]
-        public string SourceOrderNo { get; set; }
-
-        /// <summary>
-        /// 璧峰搴撲綅
-        /// </summary>
-        [ExcelColumn(Name = "璧峰搴撲綅", Width = 25)]
-        public string SourcePlace { get; set; }
-
-        /// <summary>
-        /// 璁惧浠诲姟鐘舵��
-        /// </summary>
-        [ExcelColumn(Name = "璁惧浠诲姟鐘舵��", Width = 25)]
-        public int TaskDodeviceStatus { get; set; }
-
-        /// <summary>
-        /// 浠诲姟绛夌骇
-        /// </summary>
-        [ExcelColumn(Name = "浠诲姟绛夌骇", Width = 25)]
-        public int TaskLevel { get; set; }
-
-        /// <summary>
-        /// 浠诲姟鍙�
-        /// </summary>
-        [ExcelColumn(Name = "浠诲姟鍙�", Width = 25)]
-        public string TaskNo { get; set; }
-
-        /// <summary>
-        /// 浠诲姟鐘舵��
-        /// </summary>
-        [ExcelColumn(Name = "浠诲姟鐘舵��", Width = 25)]
-        public WmsTaskStatus TaskStatus { get; set; }
-
-        /// <summary>
-        /// 浠诲姟绫诲瀷
-        /// </summary>
-        [ExcelColumn(Name = "浠诲姟绫诲瀷", Width = 25)]
-        public TaskTypeEnum TaskType { get; set; }
-
-        /// <summary>
-        /// 鐩爣搴撲綅
-        /// </summary>
-        [ExcelColumn(Name = "鐩爣搴撲綅", Width = 25)]
-        public string ToPlace { get; set; }
+        [ExcelColumn(Name = "鏄惁绂佺敤", Width = 25)]
+        public bool? IsDisabled { get; set; }
 
  
  
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskUpdateDto.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskUpdateDto.cs
index 9b65406..bf34a43 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskUpdateDto.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskUpdateDto.cs
@@ -2,7 +2,7 @@
 namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsTask; 
  
 /// <summary> 
-/// Wms浠诲姟绠$悊琛ㄦ洿鏂板弬鏁板璞� 
+/// Wms浠诲姟绠$悊鏇存柊鍙傛暟瀵硅薄 
 /// </summary> 
 public class WmsTaskUpdateDto : WmsTaskCreateOrUpdateDtoBase, IHasConcurrencyStamp 
 { 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTasksImportModel.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTasksImportModel.cs
index cb9735b..c3e945b 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTasksImportModel.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTasksImportModel.cs
@@ -2,7 +2,7 @@
 namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsTask 
 { 
     /// <summary> 
-    /// Wms浠诲姟绠$悊琛ㄥ鍏ユā鍨� 
+    /// Wms浠诲姟绠$悊瀵煎叆妯″瀷 
     /// </summary> 
     public class WmsTasksImportModel 
     { 
@@ -20,7 +20,7 @@
         } 
  
         /// <summary> 
-        /// Wms浠诲姟绠$悊琛ㄥ鍏ユā鍨� 
+        /// Wms浠诲姟绠$悊瀵煎叆妯″瀷 
         /// </summary> 
         public class WmsTaskImportModel : WmsTaskExportModel 
         { 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsTaskAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsTaskAppService.cs
index de7f55d..4195101 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsTaskAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsTaskAppService.cs
@@ -4,26 +4,26 @@
 namespace CMS.Plugin.HIAWms.Application.Contracts.Services; 
  
 /// <summary> 
-/// Wms浠诲姟绠$悊琛ㄥ簲鐢ㄦ湇鍔℃帴鍙� 
+/// Wms浠诲姟绠$悊搴旂敤鏈嶅姟鎺ュ彛 
 /// </summary> 
 public interface IWmsTaskAppService : ICrudAppService<WmsTaskDto, Guid, GetWmsTaskInput, WmsTaskCreateDto, WmsTaskUpdateDto> 
 { 
     /// <summary> 
-    /// 鍏嬮殕Wms浠诲姟绠$悊琛� 
+    /// 鍏嬮殕Wms浠诲姟绠$悊 
     /// </summary> 
     /// <param name="ids"></param> 
     /// <returns></returns> 
     Task<List<WmsTaskDto>> CloneAsync(IEnumerable<Guid> ids); 
  
     /// <summary> 
-    /// 鍒犻櫎Wms浠诲姟绠$悊琛� 
+    /// 鍒犻櫎Wms浠诲姟绠$悊 
     /// </summary> 
     /// <param name="ids"></param> 
     /// <returns></returns> 
     Task DeleteManyAsync(IEnumerable<Guid> ids); 
  
     /// <summary> 
-    /// 璋冩暣鎺掑簭Wms浠诲姟绠$悊琛� 
+    /// 璋冩暣鎺掑簭Wms浠诲姟绠$悊 
     /// </summary> 
     /// <param name="id"></param> 
     /// <param name="sort"></param> 
@@ -31,14 +31,14 @@
     Task AdjustSortAsync(Guid id, int sort); 
  
     /// <summary> 
-    /// 瀵煎叆Wms浠诲姟绠$悊琛� 
+    /// 瀵煎叆Wms浠诲姟绠$悊 
     /// </summary> 
     /// <param name="input"></param> 
     /// <returns></returns> 
     Task ImportAsync(WmsTasksImportModel input); 
  
     /// <summary> 
-    /// 瀵煎嚭Wms浠诲姟绠$悊琛� 
+    /// 瀵煎嚭Wms浠诲姟绠$悊 
     /// </summary> 
     /// <param name="input"></param> 
     /// <returns></returns> 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs
index a5ffc7b..60c2611 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs
@@ -1,181 +1,181 @@
-using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsTask;
-using CMS.Plugin.HIAWms.Application.Contracts.Services;
-using CMS.Plugin.HIAWms.Domain.Shared;
-using CMS.Plugin.HIAWms.Domain.WmsTask;
-using CmsQueryExtensions;
-using CmsQueryExtensions.Extension;
-using System.Linq.Expressions;
-using Volo.Abp;
-using Volo.Abp.Application.Dtos;
-using Volo.Abp.Data;
-using Volo.Abp.ObjectExtending;
-using Volo.Abp.ObjectMapping;
-
-namespace CMS.Plugin.HIAWms.Application.Implements;
-
+using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsTask; 
+using CMS.Plugin.HIAWms.Application.Contracts.Services; 
+using CMS.Plugin.HIAWms.Domain.Shared; 
+using CmsQueryExtensions; 
+using CMS.Plugin.HIAWms.Domain.WmsTask; 
+using CmsQueryExtensions.Extension; 
+using System.Linq.Expressions; 
+using Volo.Abp; 
+using Volo.Abp.Application.Dtos; 
+using Volo.Abp.Data; 
+using Volo.Abp.ObjectExtending; 
+using Volo.Abp.ObjectMapping; 
+ 
+namespace CMS.Plugin.HIAWms.Application.Implements; 
+ 
 /// <summary> 
-/// Wms浠诲姟绠$悊琛ㄥ簲鐢ㄦ湇鍔� 
+/// Wms浠诲姟绠$悊搴旂敤鏈嶅姟 
 /// </summary> 
-public class WmsTaskAppService : CMSPluginAppService, IWmsTaskAppService
-{
-    private readonly IWmsTaskRepository wmsTaskRepository;
-
+public class WmsTaskAppService : CMSPluginAppService, IWmsTaskAppService 
+{ 
+    private readonly IWmsTaskRepository wmsTaskRepository; 
+ 
     /// <summary> 
     /// Initializes a new instance of the <see cref="WmsTaskAppService"/> class. 
     /// </summary> 
     /// <param name="WmsTaskRepository">The task job repository.</param> 
-    public WmsTaskAppService(IWmsTaskRepository _WmsTaskRepository)
-    {
-        wmsTaskRepository = _WmsTaskRepository;
-    }
-
+    public WmsTaskAppService(IWmsTaskRepository _WmsTaskRepository) 
+    { 
+        wmsTaskRepository = _WmsTaskRepository; 
+    } 
+ 
     /// <summary> 
-    /// 鑾峰彇鎸囧畾Wms浠诲姟绠$悊琛� 
+    /// 鑾峰彇鎸囧畾Wms浠诲姟绠$悊 
     /// </summary> 
     /// <param name="id"></param> 
     /// <returns></returns> 
-    public virtual async Task<WmsTaskDto> GetAsync(Guid id)
-    {
-        return ObjectMapper.Map<WmsTask, WmsTaskDto>(await wmsTaskRepository.GetAsync(id));
-    }
-
+    public virtual async Task<WmsTaskDto> GetAsync(Guid id) 
+    { 
+        return ObjectMapper.Map<WmsTask, WmsTaskDto>(await wmsTaskRepository.GetAsync(id)); 
+    } 
+ 
     /// <summary> 
-    /// 鍒嗛〉鑾峰彇Wms浠诲姟绠$悊琛� 
+    /// 鍒嗛〉鑾峰彇Wms浠诲姟绠$悊 
     /// </summary> 
     /// <param name="input"></param> 
     /// <returns></returns> 
-    public virtual async Task<PagedResultDto<WmsTaskDto>> GetListAsync(GetWmsTaskInput input)
-    {
-        Check.NotNull(input, nameof(input));
-
-        if (input.Sorting.IsNullOrWhiteSpace())
-        {
-            input.Sorting = nameof(WmsTask.Sort);
-        }
-
+    public virtual async Task<PagedResultDto<WmsTaskDto>> GetListAsync(GetWmsTaskInput input) 
+    { 
+        Check.NotNull(input, nameof(input)); 
+ 
+        if (input.Sorting.IsNullOrWhiteSpace()) 
+        { 
+            input.Sorting = nameof(WmsTask.Sort); 
+        } 
+ 
         #region 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
-
+ 
         //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
-        var whereConditions = DynamicGetQueryParams(input);
-
-        #endregion
-
-        var count = await wmsTaskRepository.GetCountAsync(whereConditions);
-        var list = await wmsTaskRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount);
-
-        return new PagedResultDto<WmsTaskDto>(count, ObjectMapper.Map<List<WmsTask>, List<WmsTaskDto>>(list));
-    }
-
+        var whereConditions = DynamicGetQueryParams(input); 
+ 
+        #endregion 
+ 
+        var count = await wmsTaskRepository.GetCountAsync(whereConditions); 
+        var list = await wmsTaskRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount); 
+ 
+        return new PagedResultDto<WmsTaskDto>(count, ObjectMapper.Map<List<WmsTask>, List<WmsTaskDto>>(list)); 
+    } 
+ 
     /// <summary>  
     /// 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
     /// </summary>  
     /// <param name="input">杈撳叆鍙傛暟</param>  
     /// <returns></returns>  
-    private FunReturnResultModel<Expression<Func<WmsTask, bool>>> DynamicGetQueryParams(GetWmsTaskInput input)
-    {
+    private FunReturnResultModel<Expression<Func<WmsTask, bool>>> DynamicGetQueryParams(GetWmsTaskInput input) 
+    { 
         //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
-        var whereConditions = WhereConditionsExtensions.GetWhereConditions<WmsTask, GetWmsTaskInput>(input);
-        if (!whereConditions.IsSuccess)
-        {
-            throw new Exception("鍔ㄦ�佹瀯閫犳煡璇㈡潯浠跺け璐�:" + whereConditions.ErrMsg);
-        }
-
+        var whereConditions = WhereConditionsExtensions.GetWhereConditions<WmsTask, GetWmsTaskInput>(input); 
+        if (!whereConditions.IsSuccess) 
+        { 
+            throw new Exception("鍔ㄦ�佹瀯閫犳煡璇㈡潯浠跺け璐�:" + whereConditions.ErrMsg); 
+        } 
+ 
         //涔熷彲鍐嶆鑷畾涔夋瀯寤烘煡璇㈡潯浠�  
-        Expression<Func<WmsTask, bool>> extendExpression = a => a.IsDeleted == false;
+        Expression<Func<WmsTask, bool>> extendExpression = a => a.IsDeleted == false; 
         // 浣跨敤 System.Linq.PredicateBuilder 鐨� And 
-        var pres = (System.Linq.Expressions.Expression<Func<WmsTask, bool>>)(whereConditions.data);
-        whereConditions.data = System.Linq.PredicateBuilder.And(pres, extendExpression);
-
-        return whereConditions;
-    }
-
+        var pres = (System.Linq.Expressions.Expression<Func<WmsTask, bool>>)(whereConditions.data); 
+        whereConditions.data = System.Linq.PredicateBuilder.And(pres, extendExpression); 
+ 
+        return whereConditions; 
+    } 
+ 
     /// <summary> 
-    /// 鏂板缓Wms浠诲姟绠$悊琛� 
+    /// 鏂板缓Wms浠诲姟绠$悊 
     /// </summary> 
     /// <param name="input"></param> 
     /// <returns></returns> 
     /// <exception cref="UserFriendlyException"></exception> 
-    public virtual async Task<WmsTaskDto> CreateAsync(WmsTaskCreateDto input)
-    {
-        await CheckCreateOrUpdateDtoAsync(input);
-
-        var exist = await wmsTaskRepository.NameExistAsync(input.TaskNo);
-        if (exist)
-        {
-            throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.TaskNo]);
-        }
-
-        var maxSort = await wmsTaskRepository.GetMaxSortAsync();
-        var sort = input.Sort ?? maxSort;
-
-        var insertObj = ObjectMapper.Map<WmsTaskCreateDto, WmsTask>(input);
-        insertObj.Sort = sort;
-        input.MapExtraPropertiesTo(insertObj, MappingPropertyDefinitionChecks.None);
-
-        await wmsTaskRepository.InsertAsync(insertObj);
-
-        if (input.Sort.HasValue && insertObj.Sort != maxSort)
-        {
-            await AdjustSortAsync(insertObj.Id, insertObj.Sort);
-        }
-
-        return ObjectMapper.Map<WmsTask, WmsTaskDto>(insertObj);
-    }
-
+    public virtual async Task<WmsTaskDto> CreateAsync(WmsTaskCreateDto input) 
+    { 
+        await CheckCreateOrUpdateDtoAsync(input); 
+ 
+        var exist = await wmsTaskRepository.NameExistAsync(input.TaskNo); 
+        if (exist) 
+        { 
+            throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.TaskNo]); 
+        } 
+ 
+        var maxSort = await wmsTaskRepository.GetMaxSortAsync(); 
+        var sort = input.Sort ?? maxSort; 
+ 
+        var insertObj = ObjectMapper.Map<WmsTaskCreateDto, WmsTask>(input); 
+        insertObj.Sort = sort; 
+        input.MapExtraPropertiesTo(insertObj, MappingPropertyDefinitionChecks.None); 
+ 
+        await wmsTaskRepository.InsertAsync(insertObj); 
+ 
+        if (input.Sort.HasValue && insertObj.Sort != maxSort) 
+        { 
+            await AdjustSortAsync(insertObj.Id, insertObj.Sort); 
+        } 
+ 
+        return ObjectMapper.Map<WmsTask, WmsTaskDto>(insertObj); 
+    } 
+ 
     /// <summary> 
-    /// 鏇存柊Wms浠诲姟绠$悊琛� 
+    /// 鏇存柊Wms浠诲姟绠$悊 
     /// </summary> 
     /// <param name="id"></param> 
     /// <param name="input"></param> 
     /// <returns></returns> 
     /// <exception cref="UserFriendlyException"></exception> 
-    public virtual async Task<WmsTaskDto> UpdateAsync(Guid id, WmsTaskUpdateDto input)
-    {
-        await CheckCreateOrUpdateDtoAsync(input);
-
-        var updateObj = await wmsTaskRepository.GetAsync(id);
-        var exist = await wmsTaskRepository.NameExistAsync(input.TaskNo, updateObj.Id);
-        if (exist)
-        {
-            throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.TaskNo]);
-        }
-
-        updateObj.SetConcurrencyStampIfNotNull(input.ConcurrencyStamp);
-        input.MapExtraPropertiesTo(updateObj, MappingPropertyDefinitionChecks.None);
-
-        updateObj.Aisle = input.Aisle;
+    public virtual async Task<WmsTaskDto> UpdateAsync(Guid id, WmsTaskUpdateDto input) 
+    { 
+        await CheckCreateOrUpdateDtoAsync(input); 
+ 
+        var updateObj = await wmsTaskRepository.GetAsync(id); 
+        var exist = await wmsTaskRepository.NameExistAsync(input.TaskNo, updateObj.Id); 
+        if (exist) 
+        { 
+            throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.TaskNo]); 
+        } 
+ 
+        updateObj.SetConcurrencyStampIfNotNull(input.ConcurrencyStamp); 
+        input.MapExtraPropertiesTo(updateObj, MappingPropertyDefinitionChecks.None); 
+ 
+                updateObj.TaskNo = input.TaskNo;
+        updateObj.TaskType = input.TaskType;
+        updateObj.TaskLevel = input.TaskLevel;
+        updateObj.TaskStatus = input.TaskStatus;
         updateObj.ContainerNo = input.ContainerNo;
+        updateObj.SourcePlace = input.SourcePlace;
+        updateObj.ToPlace = input.ToPlace;
+        updateObj.Aisle = input.Aisle;
         updateObj.DodeviceId = input.DodeviceId;
         updateObj.Dodevicetype = input.Dodevicetype;
-        updateObj.IsDisabled = input.IsDisabled;
-        updateObj.IsNextTask = input.IsNextTask;
+        updateObj.TaskDodeviceStatus = input.TaskDodeviceStatus;
         updateObj.IsRead = input.IsRead;
+        updateObj.SonTaskType = input.SonTaskType;
+        updateObj.SourceOrderNo = input.SourceOrderNo;
+        updateObj.IsNextTask = input.IsNextTask;
         updateObj.MutableParam1 = input.MutableParam1;
         updateObj.MutableParam2 = input.MutableParam2;
         updateObj.MutableParam3 = input.MutableParam3;
-        updateObj.SonTaskType = input.SonTaskType;
-        updateObj.SourceOrderNo = input.SourceOrderNo;
-        updateObj.SourcePlace = input.SourcePlace;
-        updateObj.TaskDodeviceStatus = input.TaskDodeviceStatus;
-        updateObj.TaskLevel = input.TaskLevel;
-        updateObj.TaskNo = input.TaskNo;
-        updateObj.TaskStatus = input.TaskStatus;
-        updateObj.TaskType = input.TaskType;
-        updateObj.ToPlace = input.ToPlace;
-
-
-        await wmsTaskRepository.UpdateAsync(updateObj);
-
-        return ObjectMapper.Map<WmsTask, WmsTaskDto>(updateObj);
-    }
-
+        updateObj.IsDisabled = input.IsDisabled;
+ 
+ 
+        await wmsTaskRepository.UpdateAsync(updateObj); 
+ 
+        return ObjectMapper.Map<WmsTask, WmsTaskDto>(updateObj); 
+    } 
+ 
     /// <summary> 
-    /// 鍏嬮殕Wms浠诲姟绠$悊琛� 
+    /// 鍏嬮殕Wms浠诲姟绠$悊 
     /// </summary> 
     /// <param name="ids"></param> 
     /// <returns></returns> 
-    public async Task<List<WmsTaskDto>> CloneAsync(IEnumerable<Guid> ids)
-    {
+    public async Task<List<WmsTaskDto>> CloneAsync(IEnumerable<Guid> ids) 
+    { 
         //var wmsTasks = new List<WmsTask>(); 
         //if (ids != null) 
         //{ 
@@ -195,262 +195,262 @@
         //                    name += WmsTaskConsts.CloneTag; 
         //                    continue; 
         //                } 
-
+ 
         //                notExist = true; 
         //            } 
-
+ 
         //            //WmsTask = await wmsTaskRepository.InsertAsync(WmsTask.Clone(GuidGenerator.Create(), name, sort++)); 
         //            wmsTasks.Add(WmsTask); 
         //        } 
         //    } 
         //} 
-
+ 
         //return ObjectMapper.Map<List<WmsTask>, List<WmsTaskDto>>(wmsTasks); 
-        return new List<WmsTaskDto>();
-    }
-
+        return new List<WmsTaskDto>(); 
+    } 
+ 
     /// <summary> 
-    /// 鍒犻櫎鍗曚釜Wms浠诲姟绠$悊琛� 
+    /// 鍒犻櫎鍗曚釜Wms浠诲姟绠$悊 
     /// </summary> 
     /// <param name="id"></param> 
     /// <returns></returns> 
-    public virtual Task DeleteAsync(Guid id)
-    {
-        return wmsTaskRepository.DeleteAsync(id);
-    }
-
+    public virtual Task DeleteAsync(Guid id) 
+    { 
+        return wmsTaskRepository.DeleteAsync(id); 
+    } 
+ 
     /// <summary> 
-    /// 鍒犻櫎澶氫釜Wms浠诲姟绠$悊琛� 
+    /// 鍒犻櫎澶氫釜Wms浠诲姟绠$悊 
     /// </summary> 
     /// <param name="ids"></param> 
     /// <returns></returns> 
-    public async Task DeleteManyAsync(IEnumerable<Guid> ids)
-    {
-        foreach (var id in ids)
-        {
-            await DeleteAsync(id);
-        }
-    }
-
+    public async Task DeleteManyAsync(IEnumerable<Guid> ids) 
+    { 
+        foreach (var id in ids) 
+        { 
+            await DeleteAsync(id); 
+        } 
+    } 
+ 
     /// <summary> 
-    /// 璋冩暣鎺掑簭Wms浠诲姟绠$悊琛� 
+    /// 璋冩暣鎺掑簭Wms浠诲姟绠$悊 
     /// </summary> 
     /// <param name="id"></param> 
     /// <param name="sort"></param> 
     /// <returns></returns> 
-    public virtual async Task AdjustSortAsync(Guid id, int sort)
-    {
-        var list = await wmsTaskRepository.GetListAsync(null, nameof(WmsTask.Sort));
-        if (list != null && list.Any())
-        {
-            var initSort = 1;
-            list.ForEach(x => x.AdjustSort(initSort++));
-            var entity = list.FirstOrDefault(x => x.Id == id);
-            if (entity != null)
-            {
-                if (sort == 1)
-                {
-                    list.Where(x => x.Id != id).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1));
-                }
-                else if (entity.Sort > sort)
-                {
-                    list.Where(x => x.Id != id && x.Sort >= sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1));
-                    list.Where(x => x.Id != id && x.Sort < sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort - 1));
-                }
-                else if (entity.Sort < sort)
-                {
-                    list.Where(x => x.Id != id && x.Sort > sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1));
-                    list.Where(x => x.Id != id && x.Sort <= sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort - 1));
-                }
-
-                entity.AdjustSort(sort);
-            }
-        }
-
-        await wmsTaskRepository.UpdateManyAsync(list);
-    }
-
+    public virtual async Task AdjustSortAsync(Guid id, int sort) 
+    { 
+        var list = await wmsTaskRepository.GetListAsync(null, nameof(WmsTask.Sort)); 
+        if (list != null && list.Any()) 
+        { 
+            var initSort = 1; 
+            list.ForEach(x => x.AdjustSort(initSort++)); 
+            var entity = list.FirstOrDefault(x => x.Id == id); 
+            if (entity != null) 
+            { 
+                if (sort == 1) 
+                { 
+                    list.Where(x => x.Id != id).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1)); 
+                } 
+                else if (entity.Sort > sort) 
+                { 
+                    list.Where(x => x.Id != id && x.Sort >= sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1)); 
+                    list.Where(x => x.Id != id && x.Sort < sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort - 1)); 
+                } 
+                else if (entity.Sort < sort) 
+                { 
+                    list.Where(x => x.Id != id && x.Sort > sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1)); 
+                    list.Where(x => x.Id != id && x.Sort <= sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort - 1)); 
+                } 
+ 
+                entity.AdjustSort(sort); 
+            } 
+        } 
+ 
+        await wmsTaskRepository.UpdateManyAsync(list); 
+    } 
+ 
     /// <summary> 
-    /// 瀵煎叆Wms浠诲姟绠$悊琛� 
+    /// 瀵煎叆Wms浠诲姟绠$悊 
     /// </summary> 
     /// <param name="input"></param> 
     /// <returns></returns> 
     /// <exception cref="UserFriendlyException"></exception> 
-    public async Task ImportAsync(WmsTasksImportModel input)
-    {
-        Check.NotNull(input, nameof(input));
-
-        var wmsTaskCreateDtos = new List<(int RowIndex, WmsTaskCreateDto Item)>();
-        var wmsTaskUpdateDtos = new List<(int RowIndex, Guid Id, WmsTaskUpdateDto Item)>();
-        var importItems = input.WmsTasks;
-
-        if (importItems != null && importItems.Any())
-        {
+    public async Task ImportAsync(WmsTasksImportModel input) 
+    { 
+        Check.NotNull(input, nameof(input)); 
+ 
+        var wmsTaskCreateDtos = new List<(int RowIndex, WmsTaskCreateDto Item)>(); 
+        var wmsTaskUpdateDtos = new List<(int RowIndex, Guid Id, WmsTaskUpdateDto Item)>(); 
+        var importItems = input.WmsTasks; 
+ 
+        if (importItems != null && importItems.Any()) 
+        { 
             #region 瀵煎叆鏍¢獙 
-
+ 
             // 鍒ゆ柇鍚嶇О鏄惁閲嶅锛屽苟杈撳嚭绗嚑琛岄噸澶� 
-            var duplicateWmsTasks = importItems.GroupBy(x => x.TaskNo).Where(x => x.Count() > 1).ToList();
-            if (duplicateWmsTasks?.Any() == true)
-            {
-                var duplicateWmsTaskMsgs = duplicateWmsTasks.Select(x => $"绗� {string.Join(",", x.Select(x => x.RowIndex))} 琛岋細{x.Key}  鍚嶇О閲嶅");
-                var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝 {string.Join(",", duplicateWmsTaskMsgs)}锛岀粓姝㈠鍏�";
-                throw new UserFriendlyException(errorMsg);
-            }
-
-            #endregion
-
-            foreach (var impItem in importItems)
-            {
-                if (impItem.TaskNo.IsNullOrWhiteSpace())
-                {
-                    continue;
-                }
-
-                if (impItem.TaskNo.IsNullOrWhiteSpace())
-                {
-                    var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊impItem.RowIndex}琛岋細WmsTask鍚嶇О涓嶈兘涓虹┖";
-                    throw new UserFriendlyException(errorMsg);
-                }
-
-                var oldWmsTask = await wmsTaskRepository.FindByNameAsync(impItem.TaskNo);
-                if (oldWmsTask != null)
-                {
-                    var wmsTaskUpdateDto = new WmsTaskUpdateDto
-                    {
-                        Aisle = impItem.Aisle,
-                        ContainerNo = impItem.ContainerNo,
-                        DodeviceId = impItem.DodeviceId,
-                        Dodevicetype = impItem.Dodevicetype,
-                        IsDisabled = impItem.IsDisabled,
-                        IsNextTask = impItem.IsNextTask,
-                        IsRead = impItem.IsRead,
-                        MutableParam1 = impItem.MutableParam1,
-                        MutableParam2 = impItem.MutableParam2,
-                        MutableParam3 = impItem.MutableParam3,
-                        SonTaskType = impItem.SonTaskType,
-                        SourceOrderNo = impItem.SourceOrderNo,
-                        SourcePlace = impItem.SourcePlace,
-                        TaskDodeviceStatus = impItem.TaskDodeviceStatus,
-                        TaskLevel = impItem.TaskLevel,
+            var duplicateWmsTasks = importItems.GroupBy(x => x.TaskNo).Where(x => x.Count() > 1).ToList(); 
+            if (duplicateWmsTasks?.Any() == true) 
+            { 
+                var duplicateWmsTaskMsgs = duplicateWmsTasks.Select(x => $"绗� {string.Join(",", x.Select(x => x.RowIndex))} 琛岋細{x.Key}  鍚嶇О閲嶅"); 
+                var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝 {string.Join(",", duplicateWmsTaskMsgs)}锛岀粓姝㈠鍏�"; 
+                throw new UserFriendlyException(errorMsg); 
+            } 
+ 
+            #endregion 
+ 
+            foreach (var impItem in importItems) 
+            { 
+                if (impItem.TaskNo.IsNullOrWhiteSpace()) 
+                { 
+                    continue; 
+                } 
+ 
+                if (impItem.TaskNo.IsNullOrWhiteSpace()) 
+                { 
+                    var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊impItem.RowIndex}琛岋細WmsTask鍚嶇О涓嶈兘涓虹┖"; 
+                    throw new UserFriendlyException(errorMsg); 
+                } 
+ 
+                var oldWmsTask = await wmsTaskRepository.FindByNameAsync(impItem.TaskNo); 
+                if (oldWmsTask != null) 
+                { 
+                    var wmsTaskUpdateDto = new WmsTaskUpdateDto 
+                    { 
                         TaskNo = impItem.TaskNo,
-                        TaskStatus = impItem.TaskStatus,
-                        TaskType = impItem.TaskType,
-                        ToPlace = impItem.ToPlace,
-
-                    };
-
-                    wmsTaskUpdateDtos.Add((impItem.RowIndex, oldWmsTask.Id, wmsTaskUpdateDto));
-                }
-                else
-                {
-                    var wmsTaskCreateDto = new WmsTaskCreateDto
-                    {
-                        Aisle = impItem.Aisle,
-                        ContainerNo = impItem.ContainerNo,
-                        DodeviceId = impItem.DodeviceId,
-                        Dodevicetype = impItem.Dodevicetype,
-                        IsDisabled = impItem.IsDisabled,
-                        IsNextTask = impItem.IsNextTask,
-                        IsRead = impItem.IsRead,
-                        MutableParam1 = impItem.MutableParam1,
-                        MutableParam2 = impItem.MutableParam2,
-                        MutableParam3 = impItem.MutableParam3,
-                        SonTaskType = impItem.SonTaskType,
-                        SourceOrderNo = impItem.SourceOrderNo,
-                        SourcePlace = impItem.SourcePlace,
-                        TaskDodeviceStatus = impItem.TaskDodeviceStatus,
-                        TaskLevel = impItem.TaskLevel,
+TaskType = impItem.TaskType,
+TaskLevel = impItem.TaskLevel,
+TaskStatus = impItem.TaskStatus,
+ContainerNo = impItem.ContainerNo,
+SourcePlace = impItem.SourcePlace,
+ToPlace = impItem.ToPlace,
+Aisle = impItem.Aisle,
+DodeviceId = impItem.DodeviceId,
+Dodevicetype = impItem.Dodevicetype,
+TaskDodeviceStatus = impItem.TaskDodeviceStatus,
+IsRead = impItem.IsRead,
+SonTaskType = impItem.SonTaskType,
+SourceOrderNo = impItem.SourceOrderNo,
+IsNextTask = impItem.IsNextTask,
+MutableParam1 = impItem.MutableParam1,
+MutableParam2 = impItem.MutableParam2,
+MutableParam3 = impItem.MutableParam3,
+IsDisabled = impItem.IsDisabled,
+ 
+                    }; 
+ 
+                    wmsTaskUpdateDtos.Add((impItem.RowIndex, oldWmsTask.Id, wmsTaskUpdateDto)); 
+                } 
+                else 
+                { 
+                    var wmsTaskCreateDto = new WmsTaskCreateDto 
+                    { 
                         TaskNo = impItem.TaskNo,
-                        TaskStatus = impItem.TaskStatus,
-                        TaskType = impItem.TaskType,
-                        ToPlace = impItem.ToPlace,
-
-                    };
-
-                    wmsTaskCreateDtos.Add((impItem.RowIndex, wmsTaskCreateDto));
-                }
-            }
-        }
-
+TaskType = impItem.TaskType,
+TaskLevel = impItem.TaskLevel,
+TaskStatus = impItem.TaskStatus,
+ContainerNo = impItem.ContainerNo,
+SourcePlace = impItem.SourcePlace,
+ToPlace = impItem.ToPlace,
+Aisle = impItem.Aisle,
+DodeviceId = impItem.DodeviceId,
+Dodevicetype = impItem.Dodevicetype,
+TaskDodeviceStatus = impItem.TaskDodeviceStatus,
+IsRead = impItem.IsRead,
+SonTaskType = impItem.SonTaskType,
+SourceOrderNo = impItem.SourceOrderNo,
+IsNextTask = impItem.IsNextTask,
+MutableParam1 = impItem.MutableParam1,
+MutableParam2 = impItem.MutableParam2,
+MutableParam3 = impItem.MutableParam3,
+IsDisabled = impItem.IsDisabled,
+ 
+                    }; 
+ 
+                    wmsTaskCreateDtos.Add((impItem.RowIndex, wmsTaskCreateDto)); 
+                } 
+            } 
+        } 
+ 
         // 鏂板 
-        foreach (var wmsTaskDto in wmsTaskCreateDtos)
-        {
-            try
-            {
-                await CreateAsync(wmsTaskDto.Item);
-            }
-            catch (Exception e)
-            {
-                var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊wmsTaskDto.RowIndex}琛岋細{e.Message}锛岀粓姝㈠鍏�";
-                throw new UserFriendlyException(errorMsg);
-            }
-        }
-
+        foreach (var wmsTaskDto in wmsTaskCreateDtos) 
+        { 
+            try 
+            { 
+                await CreateAsync(wmsTaskDto.Item); 
+            } 
+            catch (Exception e) 
+            { 
+                var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊wmsTaskDto.RowIndex}琛岋細{e.Message}锛岀粓姝㈠鍏�"; 
+                throw new UserFriendlyException(errorMsg); 
+            } 
+        } 
+ 
         // 鏇存柊 
-        foreach (var wmsTaskDto in wmsTaskUpdateDtos)
-        {
-            try
-            {
-                await UpdateAsync(wmsTaskDto.Id, wmsTaskDto.Item);
-            }
-            catch (Exception e)
-            {
-                var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊wmsTaskDto.RowIndex}琛岋細{e.Message}锛岀粓姝㈠鍏�";
-                throw new UserFriendlyException(errorMsg);
-            }
-        }
-    }
-
+        foreach (var wmsTaskDto in wmsTaskUpdateDtos) 
+        { 
+            try 
+            { 
+                await UpdateAsync(wmsTaskDto.Id, wmsTaskDto.Item); 
+            } 
+            catch (Exception e) 
+            { 
+                var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊wmsTaskDto.RowIndex}琛岋細{e.Message}锛岀粓姝㈠鍏�"; 
+                throw new UserFriendlyException(errorMsg); 
+            } 
+        } 
+    } 
+ 
     /// <summary> 
-    /// 瀵煎嚭Wms浠诲姟绠$悊琛� 
+    /// 瀵煎嚭Wms浠诲姟绠$悊 
     /// </summary> 
     /// <param name="input"></param> 
     /// <returns></returns> 
-    public async Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsTaskInput input)
-    {
-        Check.NotNull(input, nameof(input));
-
-        if (input.Sorting.IsNullOrWhiteSpace())
-        {
-            input.Sorting = nameof(WmsTask.Sort);
-        }
-
+    public async Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsTaskInput input) 
+    { 
+        Check.NotNull(input, nameof(input)); 
+ 
+        if (input.Sorting.IsNullOrWhiteSpace()) 
+        { 
+            input.Sorting = nameof(WmsTask.Sort); 
+        } 
+ 
         #region 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
-
+ 
         //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
-        var whereConditions = DynamicGetQueryParams(input);
-
-        #endregion
-
-
-        var list = await wmsTaskRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount, includeDetails: true);
-        var result = ObjectMapper.Map<List<WmsTask>, List<WmsTaskDto>>(list);
-
-        var sheets = new Dictionary<string, object>
-        {
-            ["閰嶇疆"] = ExportHelper.ConvertListToExportData(result),
-        };
-
-        var fileName = result.Count > 1 ? "Wms浠诲姟绠$悊琛ㄥ垪琛�" : result.Count == 1 ? result[0]?.TaskNo : "WmsTask妯$増";
-        return (sheets, fileName);
-    }
-
+        var whereConditions = DynamicGetQueryParams(input); 
+ 
+        #endregion 
+ 
+ 
+        var list = await wmsTaskRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount, includeDetails: true); 
+        var result = ObjectMapper.Map<List<WmsTask>, List<WmsTaskDto>>(list); 
+ 
+        var sheets = new Dictionary<string, object> 
+        { 
+            ["閰嶇疆"] = ExportHelper.ConvertListToExportData(result), 
+        }; 
+ 
+        var fileName = result.Count > 1 ? "Wms浠诲姟绠$悊鍒楄〃" : result.Count == 1 ? result[0]?.TaskNo : "WmsTask妯$増"; 
+        return (sheets, fileName); 
+    } 
+ 
     /// <summary> 
-    /// 鏍¢獙Wms浠诲姟绠$悊琛紝褰撴柊寤烘垨鏇存柊鏃� 
+    /// 鏍¢獙Wms浠诲姟绠$悊锛屽綋鏂板缓鎴栨洿鏂版椂 
     /// </summary> 
     /// <param name="input"></param> 
     /// <returns></returns> 
-    protected Task CheckCreateOrUpdateDtoAsync(WmsTaskCreateOrUpdateDtoBase input)
-    {
-        Check.NotNull(input, nameof(input));
-        Check.NotNull(input.Dodevicetype, "璁惧绫诲瀷");
-        Check.NotNull(input.IsRead, "WCS鏄惁鍙互璇诲彇");
-        Check.NotNull(input.TaskDodeviceStatus, "璁惧浠诲姟鐘舵��");
-        Check.NotNull(input.TaskLevel, "浠诲姟绛夌骇");
-        Check.NotNullOrWhiteSpace(input.TaskNo, "浠诲姟鍙�", 50);
-        Check.NotNull(input.TaskStatus, "浠诲姟鐘舵��");
+    protected Task CheckCreateOrUpdateDtoAsync(WmsTaskCreateOrUpdateDtoBase input) 
+    { 
+        Check.NotNull(input, nameof(input)); 
+                Check.NotNullOrWhiteSpace(input.TaskNo, "浠诲姟鍙�", 50);
         Check.NotNull(input.TaskType, "浠诲姟绫诲瀷");
-
-        return Task.CompletedTask;
-    }
-}
+        Check.NotNull(input.TaskLevel, "浠诲姟绛夌骇");
+        Check.NotNull(input.TaskStatus, "浠诲姟鐘舵��");
+        Check.NotNull(input.Dodevicetype, "璁惧绫诲瀷");
+        Check.NotNull(input.TaskDodeviceStatus, "璁惧浠诲姟鐘舵��");
+        Check.NotNull(input.IsRead, "WCS鏄惁鍙互璇诲彇");
+ 
+        return Task.CompletedTask; 
+    } 
+} 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsTaskAutoMapperProfile.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsTaskAutoMapperProfile.cs
index 6ade231..fbdc340 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsTaskAutoMapperProfile.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsTaskAutoMapperProfile.cs
@@ -6,7 +6,7 @@
 namespace CMS.Plugin.HIAWms.Application.MapperProfiles; 
  
 /// <summary> 
-/// Wms浠诲姟绠$悊琛ˋutoMapper閰嶇疆 
+/// Wms浠诲姟绠$悊AutoMapper閰嶇疆 
 /// </summary> 
 /// <seealso cref="AutoMapper.Profile" /> 
 public class WmsTaskAutoMapperProfile : Profile 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsTask/IWmsTaskRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsTask/IWmsTaskRepository.cs
index 89545bb..ac8893c 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsTask/IWmsTaskRepository.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsTask/IWmsTaskRepository.cs
@@ -5,12 +5,12 @@
 namespace CMS.Plugin.HIAWms.Domain.WmsTask; 
  
 /// <summary> 
-/// Wms浠诲姟绠$悊琛ㄤ粨鍌� 
+/// Wms浠诲姟绠$悊浠撳偍 
 /// </summary> 
 public interface IWmsTaskRepository : IBasicRepository<WmsTask, Guid> 
 { 
     /// <summary> 
-    /// 鎸夌収鍚嶇О鏌ユ壘Wms浠诲姟绠$悊琛� 
+    /// 鎸夌収鍚嶇О鏌ユ壘Wms浠诲姟绠$悊 
     /// </summary> 
     /// <param name="name"></param> 
     /// <param name="cancellationToken"></param> 
@@ -18,7 +18,7 @@
     Task<WmsTask> FindByNameAsync(string name, CancellationToken cancellationToken = default); 
  
     /// <summary> 
-    /// 楠岃瘉鍚嶇О鏄惁瀛樺湪Wms浠诲姟绠$悊琛� 
+    /// 楠岃瘉鍚嶇О鏄惁瀛樺湪Wms浠诲姟绠$悊 
     /// </summary> 
     /// <param name="name"></param> 
     /// <param name="id"></param> 
@@ -26,13 +26,13 @@
     Task<bool> NameExistAsync(string name, Guid? id = null); 
  
     /// <summary> 
-    /// 鑾峰彇鏈�澶ф帓搴廤ms浠诲姟绠$悊琛� 
+    /// 鑾峰彇鏈�澶ф帓搴廤ms浠诲姟绠$悊 
     /// </summary> 
     /// <returns></returns> 
     Task<int> GetMaxSortAsync(); 
  
     /// <summary> 
-    /// 鑾峰彇鍒嗛〉鍒楄〃Wms浠诲姟绠$悊琛� 
+    /// 鑾峰彇鍒嗛〉鍒楄〃Wms浠诲姟绠$悊 
     /// </summary> 
     /// <param name="whereConditions"></param> 
     /// <param name="sorting"></param> 
@@ -44,7 +44,7 @@
     Task<List<WmsTask>> GetListAsync(FunReturnResultModel<Expression<Func<WmsTask, bool>>> whereConditions, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, bool includeDetails = false, CancellationToken cancellationToken = default); 
  
     /// <summary> 
-    /// 鑾峰彇鎬绘暟Wms浠诲姟绠$悊琛� 
+    /// 鑾峰彇鎬绘暟Wms浠诲姟绠$悊 
     /// </summary> 
     /// <param name="whereConditions"></param> 
     /// <param name="cancellationToken"></param> 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsTaskRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsTaskRepository.cs
index 673d314..290f2ef 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsTaskRepository.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsTaskRepository.cs
@@ -11,7 +11,7 @@
 namespace CMS.Plugin.HIAWms.EntityFrameworkCore.Repositories; 
  
 /// <summary> 
-/// Wms浠诲姟绠$悊琛ㄤ粨鍌ㄥ疄鐜� 
+/// Wms浠诲姟绠$悊浠撳偍瀹炵幇 
 /// </summary> 
 public class EfCoreWmsTaskRepository : EfCoreRepository<ICMSPluginDbContext, WmsTask, Guid>, IWmsTaskRepository 
 { 
@@ -25,7 +25,7 @@
     } 
  
     /// <summary> 
-    /// 鎸夌収鍚嶇О鏌ユ壘Wms浠诲姟绠$悊琛� 
+    /// 鎸夌収鍚嶇О鏌ユ壘Wms浠诲姟绠$悊 
     /// </summary> 
     /// <param name="name"></param> 
     /// <param name="cancellationToken"></param> 
@@ -40,7 +40,7 @@
     } 
  
     /// <summary> 
-    /// 楠岃瘉鍚嶇О鏄惁瀛樺湪Wms浠诲姟绠$悊琛� 
+    /// 楠岃瘉鍚嶇О鏄惁瀛樺湪Wms浠诲姟绠$悊 
     /// </summary> 
     /// <param name="name">鏍¢獙鍊�</param> 
     /// <param name="id"></param> 
@@ -51,7 +51,7 @@
     } 
  
     /// <summary> 
-    /// 鑾峰彇鏈�澶ф帓搴廤ms浠诲姟绠$悊琛� 
+    /// 鑾峰彇鏈�澶ф帓搴廤ms浠诲姟绠$悊 
     /// </summary> 
     /// <returns></returns> 
     public async Task<int> GetMaxSortAsync() 
@@ -69,7 +69,7 @@
     } 
  
     /// <summary> 
-    /// 鑾峰彇鍒嗛〉鍒楄〃Wms浠诲姟绠$悊琛� 
+    /// 鑾峰彇鍒嗛〉鍒楄〃Wms浠诲姟绠$悊 
     /// </summary> 
     /// <param name="whereConditions"></param> 
     /// <param name="sorting"></param> 
@@ -90,7 +90,7 @@
     } 
  
     /// <summary> 
-    /// 鑾峰彇鎬绘暟Wms浠诲姟绠$悊琛� 
+    /// 鑾峰彇鎬绘暟Wms浠诲姟绠$悊 
     /// </summary> 
     /// <param name="whereConditions"></param> 
     /// <param name="cancellationToken"></param> 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsEnumController.cs b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsEnumController.cs
index 0305a60..33bfab3 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsEnumController.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsEnumController.cs
@@ -2,7 +2,7 @@
 using 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 CmsQueryExtensions;
 using Microsoft.AspNetCore.Mvc;
 using System;
 using System.Web;
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsTaskController.cs b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsTaskController.cs
index a1f9570..8b805a4 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsTaskController.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsTaskController.cs
@@ -13,7 +13,7 @@
 namespace CMS.Plugin.HIAWms.Controller 
 { 
     /// <summary> 
-    /// Wms浠诲姟绠$悊琛ㄦ湇鍔� 
+    /// Wms浠诲姟绠$悊鏈嶅姟 
     /// </summary> 
     [ApiController] 
     [TypeFilter(typeof(CMSLanguageFilter))] 
@@ -35,7 +35,7 @@
         } 
  
         /// <summary> 
-        /// 鑾峰彇Wms浠诲姟绠$悊琛� 
+        /// 鑾峰彇Wms浠诲姟绠$悊 
         /// </summary> 
         /// <param name="id">鏍囪瘑绗�.</param> 
         /// <returns></returns> 
@@ -47,7 +47,7 @@
         } 
  
         /// <summary> 
-        /// 鍒嗛〉鑾峰彇Wms浠诲姟绠$悊琛ㄧ殑鍒楄〃. 
+        /// 鍒嗛〉鑾峰彇Wms浠诲姟绠$悊鐨勫垪琛�. 
         /// </summary> 
         /// <param name="input">杈撳叆.</param> 
         /// <returns></returns> 
@@ -59,7 +59,7 @@
         } 
  
         /// <summary> 
-        /// 鍒涘缓Wms浠诲姟绠$悊琛� 
+        /// 鍒涘缓Wms浠诲姟绠$悊 
         /// </summary> 
         /// <param name="input">杈撳叆.</param> 
         /// <returns></returns> 
@@ -71,7 +71,7 @@
         } 
  
         /// <summary> 
-        /// 鏇存柊Wms浠诲姟绠$悊琛� 
+        /// 鏇存柊Wms浠诲姟绠$悊 
         /// </summary> 
         /// <param name="id">鏍囪瘑绗�.</param> 
         /// <param name="input">杈撳叆.</param> 
@@ -85,7 +85,7 @@
         } 
  
         /// <summary> 
-        /// 鍏嬮殕Wms浠诲姟绠$悊琛� 
+        /// 鍏嬮殕Wms浠诲姟绠$悊 
         /// </summary> 
         /// <param name="ids">Id闆嗗悎.</param> 
         /// <returns></returns> 
@@ -98,7 +98,7 @@
         } 
  
         /// <summary> 
-        /// 鍒犻櫎Wms浠诲姟绠$悊琛� 
+        /// 鍒犻櫎Wms浠诲姟绠$悊 
         /// </summary> 
         /// <param name="id">鏍囪瘑绗�.</param> 
         /// <returns></returns> 
@@ -111,7 +111,7 @@
         } 
  
         /// <summary> 
-        /// 鎵归噺鍒犻櫎Wms浠诲姟绠$悊琛� 
+        /// 鎵归噺鍒犻櫎Wms浠诲姟绠$悊 
         /// </summary> 
         /// <param name="ids">The ids.</param> 
         /// <returns></returns> 
@@ -123,7 +123,7 @@
         } 
  
         /// <summary> 
-        /// 璋冩暣鎺掑簭Wms浠诲姟绠$悊琛� 
+        /// 璋冩暣鎺掑簭Wms浠诲姟绠$悊 
         /// </summary> 
         /// <param name="id">鏍囪瘑绗�.</param> 
         /// <returns></returns> 
@@ -135,7 +135,7 @@
         } 
  
         /// <summary> 
-        /// 瀵煎叆Wms浠诲姟绠$悊琛� 
+        /// 瀵煎叆Wms浠诲姟绠$悊 
         /// </summary> 
         /// <returns></returns> 
         [Authorize] 
@@ -164,7 +164,7 @@
         } 
  
         /// <summary> 
-        /// 瀵煎嚭Wms浠诲姟绠$悊琛� 
+        /// 瀵煎嚭Wms浠诲姟绠$悊 
         /// </summary> 
         /// <returns></returns> 
         [HttpGet] 
diff --git a/HIAWms/web/src/config/menu.ts b/HIAWms/web/src/config/menu.ts
index b303c47..a0d0fd1 100644
--- a/HIAWms/web/src/config/menu.ts
+++ b/HIAWms/web/src/config/menu.ts
@@ -14,16 +14,16 @@
     "notPage": false
   },
   {
-    "name": "鍑哄叆搴撹褰�",
-    "path": "/information-base/WmsInOutStockRecord",
-    "patchName": "WmsInOutStockRecord",
+    "name": "搴撳瓨淇℃伅",
+    "path": "/information-base/WmsMaterialStock",
+    "patchName": "WmsMaterialStock",
     "icon": "p",
     "notPage": false
   },
   {
-    "name": "搴撳瓨淇℃伅",
-    "path": "/information-base/WmsMaterialStock",
-    "patchName": "WmsMaterialStock",
+    "name": "鍑哄叆搴撹褰�",
+    "path": "/information-base/WmsInOutStockRecord",
+    "patchName": "WmsInOutStockRecord",
     "icon": "p",
     "notPage": false
   },
@@ -35,16 +35,16 @@
     "notPage": false
   },
   {
-    "name": "API璇锋眰",
-    "path": "/information-base/Http",
-    "patchName": "Http",
+    "name": "Wms鐗╂枡鍩虹",
+    "path": "/information-base/HIAWms",
+    "patchName": "HIAWms",
     "icon": "p",
     "notPage": false
   },
   {
-    "name": "Wms鐗╂枡鍩虹",
-    "path": "/information-base/HIAWms",
-    "patchName": "HIAWms",
+    "name": "API璇锋眰",
+    "path": "/information-base/Http",
+    "patchName": "Http",
     "icon": "p",
     "notPage": false
   }
@@ -64,17 +64,17 @@
     "icon": "p",
     "notPage": false
   },
-  "WmsInOutStockRecord": {
-    "name": "鍑哄叆搴撹褰�",
-    "path": "/information-base/WmsInOutStockRecord",
-    "patchName": "WmsInOutStockRecord",
-    "icon": "p",
-    "notPage": false
-  },
   "WmsMaterialStock": {
     "name": "搴撳瓨淇℃伅",
     "path": "/information-base/WmsMaterialStock",
     "patchName": "WmsMaterialStock",
+    "icon": "p",
+    "notPage": false
+  },
+  "WmsInOutStockRecord": {
+    "name": "鍑哄叆搴撹褰�",
+    "path": "/information-base/WmsInOutStockRecord",
+    "patchName": "WmsInOutStockRecord",
     "icon": "p",
     "notPage": false
   },
@@ -85,18 +85,18 @@
     "icon": "p",
     "notPage": false
   },
-  "Http": {
-    "name": "API璇锋眰",
-    "path": "/information-base/Http",
-    "patchName": "Http",
-    "icon": "p",
-    "notPage": false
-  },
   "HIAWms": {
     "name": "Wms鐗╂枡鍩虹",
     "path": "/information-base/HIAWms",
     "patchName": "HIAWms",
     "icon": "p",
     "notPage": false
+  },
+  "Http": {
+    "name": "API璇锋眰",
+    "path": "/information-base/Http",
+    "patchName": "Http",
+    "icon": "p",
+    "notPage": false
   }
 };
\ No newline at end of file
diff --git a/HIAWms/web/src/widgets/WmsInOutStockRecord/Controllers/WmsInOutStockRecordQueryDrawer.tsx b/HIAWms/web/src/widgets/WmsInOutStockRecord/Controllers/WmsInOutStockRecordQueryDrawer.tsx
index 9407036..f8e1bb1 100644
--- a/HIAWms/web/src/widgets/WmsInOutStockRecord/Controllers/WmsInOutStockRecordQueryDrawer.tsx
+++ b/HIAWms/web/src/widgets/WmsInOutStockRecord/Controllers/WmsInOutStockRecordQueryDrawer.tsx
@@ -1,281 +1,281 @@
-import { 
-  ref, 
-  onMounted, 
-  reactive, 
-  computed, 
-  Ref, 
-  watch, 
-  SetupContext, 
-  h, 
-} from 'vue' 
-import { injectModel } from '@/libs/Provider/Provider' 
-import { WmsInOutStockRecordDrawer } from '../Models/WmsInOutStockRecordDrawer' 
-import { ElMessage } from 'element-plus' 
-import isEqual from 'lodash/isEqual' 
-import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox' 
-import { cloneDeep } from 'lodash' 
- 
-export const useWmsInOutStockRecordQueryDrawer = (props: any, ctx?: any) => { 
-  const wmsInOutStockRecordDrawer = injectModel<WmsInOutStockRecordDrawer>('WmsInOutStockRecordDrawer') 
-  /** 
-   * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁 
-   */ 
-  const initiateData: Ref<Record<string, any>> = ref({}) 
-  const formData = ref<Record<string, any>>({}) 
-  // ref 
-  const formRef = ref() 
- 
-  const disabled = ref(false) 
- 
-  const current = computed(() => { 
-    return props.row || null 
-  }) 
- 
-  const inputNumber = (attrs) => { 
-    return ( 
-      <el-input-number 
-        min="1" 
-        step="1" 
-        precision="0" 
-        {...attrs} 
-      ></el-input-number> 
-    ) 
-  } 
- 
- 
-  const visible = computed({ 
-    get() { 
-      return props.modelValue 
-    }, 
-    set(val) { 
-      ctx.emit('update:modelValue', val) 
-    }, 
-  }) 
-  /** 
-   * 娣诲姞鐨刦orm瀛楁 
-   */ 
-  const formItems = reactive([ 
-                    { 
-                   label: '鍗曟嵁缂栧彿', 
-                   prop: 'orderNo', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ュ崟鎹紪鍙�', 
-                }, 
-                { 
-                   label: '鐗╂枡鍚嶇О', 
-                   prop: 'materialName', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ョ墿鏂欏悕绉�', 
-                }, 
-                { 
-                   label: '鐗╂枡浠跺彿', 
-                   prop: 'materialNo', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ョ墿鏂欎欢鍙�', 
-                }, 
-                { 
-                   label: '鎿嶄綔绫诲瀷', 
-                   prop: 'stockType', 
-                   el: 'select', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ユ搷浣滅被鍨�', 
-                }, 
-                { 
-                   label: '瀹瑰櫒缂栧彿', 
-                   prop: 'containerNo', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ュ鍣ㄧ紪鍙�', 
-                }, 
-                { 
-                   label: '鏈哄瀷', 
-                   prop: 'materialModel', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ユ満鍨�', 
-                }, 
-                { 
-                   label: '鎿嶄綔鏃堕棿', 
-                   prop: 'operateTime', 
-                   type: 'datetimerange', 
-                   el: 'date-picker', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ユ搷浣滄椂闂�', 
-                }, 
-                { 
-                   label: '澶囨敞', 
-                   prop: 'remark', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ュ娉�', 
-                }, 
-                { 
-                   label: '鐗╂枡ID', 
-                   prop: 'materialId', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ョ墿鏂橧D', 
-                }, 
-                { 
-                   label: '浠诲姟鍙�', 
-                   prop: 'taskNo', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ヤ换鍔″彿', 
-                }, 
-                { 
-                   label: '璧峰搴撲綅', 
-                   prop: 'sourcePlace', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ヨ捣濮嬪簱浣�', 
-                }, 
-                { 
-                   label: '鐩爣搴撲綅', 
-                   prop: 'toPlace', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ョ洰鏍囧簱浣�', 
-                },  
-  ]) 
-  /** 
-   * 鏍¢獙鏄惁鏈夋暟鎹彉鍖� 
-   */ 
-  const checkIsEqualObject = () => { 
-    const data = { 
-      formData: formData.value, 
-    } 
-    const check = isEqual(initiateData.value, data) 
-    return check 
-  } 
-  const commonGetFormData=()=>{ 
-    const data = { 
-      OrderNo: formData.value.OrderNo, 
-MaterialName: formData.value.MaterialName, 
-MaterialNo: formData.value.MaterialNo, 
-StockType: formData.value.StockType, 
-ContainerNo: formData.value.ContainerNo, 
-MaterialModel: formData.value.MaterialModel, 
-OperateTime: formData.value.OperateTime, 
-Remark: formData.value.Remark, 
-MaterialId: formData.value.MaterialId, 
-TaskNo: formData.value.TaskNo, 
-SourcePlace: formData.value.SourcePlace, 
-ToPlace: formData.value.ToPlace,  
-      materialCode: formData.value.materialCode, 
-      materialName: formData.value.materialName, 
-      purchaseType: formData.value.purchaseType, 
-      materialType: formData.value.materialType, 
-      primaryUnit: formData.value.primaryUnit, 
-      standard: formData.value.standard, 
-      outerDiameter: formData.value.outerDiameter, 
-      wallThickness: formData.value.wallThickness, 
-      materialQuality: formData.value.materialQuality, 
-      length: formData.value.length, 
-      isMainBranch: formData.value.isMainBranch, 
-      factory: formData.value.factory, 
-      certification: formData.value.certification, 
-      remark: formData.value.remark, 
-    } 
-    return data; 
-  } 
-  const onClose = (done: () => void) => { 
-    if (visible.value) { 
-      visible.value = false 
-      const data =commonGetFormData(); 
-      ctx.emit('close', data) 
-    } 
-  } 
-  /** 
-   * 纭鏌ヨ 
-   */ 
-  const onConfirmQuery = async () => { 
-    const data =commonGetFormData(); 
-    ctx.emit('confirmQuery', data) 
-  } 
-  /** 
-   * 閲嶇疆鏌ヨ 
-   */ 
-  const onReset = async () => { 
-    formData.value = {} 
-    formData.value.OrderNo = '' 
-formData.value.MaterialName = '' 
-formData.value.MaterialNo = '' 
-formData.value.StockType = '' 
-formData.value.ContainerNo = '' 
-formData.value.MaterialModel = '' 
-formData.value.OperateTime = '' 
-formData.value.Remark = '' 
-formData.value.MaterialId = '' 
-formData.value.TaskNo = '' 
-formData.value.SourcePlace = '' 
-formData.value.ToPlace = ''  
-    formData.value.materialCode = '' 
-    formData.value.materialName = '' 
-    formData.value.purchaseType = '' 
-    formData.value.materialType = '' 
-    formData.value.primaryUnit = '' 
-    formData.value.standard = '' 
-    formData.value.outerDiameter = '' 
-    formData.value.wallThickness = '' 
-    formData.value.materialQuality = '' 
-    formData.value.length = '' 
-    formData.value.isMainBranch = '' 
-    formData.value.factory = '' 
-    formData.value.certification = '' 
-    formData.value.remark = '' 
-    //鍚戠埗缁勪欢鍙戦�佽嚜瀹氫箟浜嬩欢 
-    ctx.emit('restQuery'); 
-  } 
- 
-  const updateCheckData = () => { 
-    initiateData.value = { 
-      formData: { 
-        ...formData.value, 
-      }, 
-    } 
-  } 
-  const updateFormItemOptions = (propName: string, enumData: any[]) => { 
-    const item = formItems.find((item) => item.prop === propName) 
-    if (item && enumData) { 
-      item.options = enumData.map((item) => ({ 
-        label: item.description, 
-        value: item.value, 
-      })) 
-    } 
-  } 
-  /** 
-   * 閫氱敤鏌ヨ鏋氫妇 
-   */ 
-  const commonQueryEnumForFrom = async () => { 
-    const stockTypeEnumEnum = await wmsInOutStockRecordDrawer.getWmsEnumData({ 
- EnumName: 'StockTypeEnum', 
-}) 
-updateFormItemOptions('stockType', stockTypeEnumEnum) 
- 
-  } 
-  commonQueryEnumForFrom() 
-  /** 
-   * 寮圭獥鎵撳紑鑾峰彇璇︽儏 
-   */ 
-  const onOpen = async () => { 
-    disabled.value = false 
-    updateCheckData() 
-  } 
- 
-  watch(() => current.value, onOpen) 
- 
-  return { 
-    formItems, 
-    formData, 
-    visible, 
-    formRef, 
-    onOpen, 
-    onClose, 
-    onConfirmQuery, 
-    onReset, 
-  } 
-} 
+import {
+  ref,
+  onMounted,
+  reactive,
+  computed,
+  Ref,
+  watch,
+  SetupContext,
+  h,
+} from 'vue'
+import { injectModel } from '@/libs/Provider/Provider'
+import { WmsInOutStockRecordDrawer } from '../Models/WmsInOutStockRecordDrawer'
+import { ElMessage } from 'element-plus'
+import isEqual from 'lodash/isEqual'
+import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox'
+import { cloneDeep } from 'lodash'
+
+export const useWmsInOutStockRecordQueryDrawer = (props: any, ctx?: any) => {
+  const wmsInOutStockRecordDrawer = injectModel<WmsInOutStockRecordDrawer>(
+    'WmsInOutStockRecordDrawer'
+  )
+  /**
+   * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁
+   */
+  const initiateData: Ref<Record<string, any>> = ref({})
+  const formData = ref<Record<string, any>>({})
+  // ref
+  const formRef = ref()
+
+  const disabled = ref(false)
+
+  const current = computed(() => {
+    return props.row || null
+  })
+
+  const inputNumber = (attrs) => {
+    return (
+      <el-input-number
+        min="1"
+        step="1"
+        precision="0"
+        {...attrs}
+      ></el-input-number>
+    )
+  }
+
+  const visible = computed({
+    get() {
+      return props.modelValue
+    },
+    set(val) {
+      ctx.emit('update:modelValue', val)
+    },
+  })
+  /**
+   * 娣诲姞鐨刦orm瀛楁
+   */
+  const formItems = reactive([
+    {
+      label: '鍗曟嵁缂栧彿',
+      prop: 'orderNo',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ崟鎹紪鍙�',
+    },
+    {
+      label: '鐗╂枡鍚嶇О',
+      prop: 'materialName',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ョ墿鏂欏悕绉�',
+    },
+    {
+      label: '鐗╂枡浠跺彿',
+      prop: 'materialNo',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ョ墿鏂欎欢鍙�',
+    },
+    {
+      label: '鎿嶄綔绫诲瀷',
+      prop: 'stockType',
+      el: 'select',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ユ搷浣滅被鍨�',
+    },
+    {
+      label: '瀹瑰櫒缂栧彿',
+      prop: 'containerNo',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ鍣ㄧ紪鍙�',
+    },
+    {
+      label: '鏈哄瀷',
+      prop: 'materialModel',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ユ満鍨�',
+    },
+    {
+      label: '鎿嶄綔鏃堕棿',
+      prop: 'operateTime',
+      type: 'datetimerange',
+      el: 'date-picker',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ユ搷浣滄椂闂�',
+    },
+    {
+      label: '澶囨敞',
+      prop: 'remark',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ娉�',
+    },
+    {
+      label: '鐗╂枡ID',
+      prop: 'materialId',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ョ墿鏂橧D',
+    },
+    {
+      label: '浠诲姟鍙�',
+      prop: 'taskNo',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヤ换鍔″彿',
+    },
+    {
+      label: '璧峰搴撲綅',
+      prop: 'sourcePlace',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヨ捣濮嬪簱浣�',
+    },
+    {
+      label: '鐩爣搴撲綅',
+      prop: 'toPlace',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ョ洰鏍囧簱浣�',
+    },
+  ])
+  /**
+   * 鏍¢獙鏄惁鏈夋暟鎹彉鍖�
+   */
+  const checkIsEqualObject = () => {
+    const data = {
+      formData: formData.value,
+    }
+    const check = isEqual(initiateData.value, data)
+    return check
+  }
+  const commonGetFormData = () => {
+    const data = {
+      OrderNo: formData.value.OrderNo,
+      MaterialName: formData.value.MaterialName,
+      MaterialNo: formData.value.MaterialNo,
+      StockType: formData.value.StockType,
+      ContainerNo: formData.value.ContainerNo,
+      MaterialModel: formData.value.MaterialModel,
+      OperateTime: formData.value.OperateTime,
+      Remark: formData.value.Remark,
+      MaterialId: formData.value.MaterialId,
+      TaskNo: formData.value.TaskNo,
+      SourcePlace: formData.value.SourcePlace,
+      ToPlace: formData.value.ToPlace,
+      materialCode: formData.value.materialCode,
+      materialName: formData.value.materialName,
+      purchaseType: formData.value.purchaseType,
+      materialType: formData.value.materialType,
+      primaryUnit: formData.value.primaryUnit,
+      standard: formData.value.standard,
+      outerDiameter: formData.value.outerDiameter,
+      wallThickness: formData.value.wallThickness,
+      materialQuality: formData.value.materialQuality,
+      length: formData.value.length,
+      isMainBranch: formData.value.isMainBranch,
+      factory: formData.value.factory,
+      certification: formData.value.certification,
+      remark: formData.value.remark,
+    }
+    return data
+  }
+  const onClose = (done: () => void) => {
+    if (visible.value) {
+      visible.value = false
+      const data = commonGetFormData()
+      ctx.emit('close', data)
+    }
+  }
+  /**
+   * 纭鏌ヨ
+   */
+  const onConfirmQuery = async () => {
+    const data = commonGetFormData()
+    ctx.emit('confirmQuery', data)
+  }
+  /**
+   * 閲嶇疆鏌ヨ
+   */
+  const onReset = async () => {
+    formData.value = {}
+    formData.value.OrderNo = ''
+    formData.value.MaterialName = ''
+    formData.value.MaterialNo = ''
+    formData.value.StockType = ''
+    formData.value.ContainerNo = ''
+    formData.value.MaterialModel = ''
+    formData.value.OperateTime = ''
+    formData.value.Remark = ''
+    formData.value.MaterialId = ''
+    formData.value.TaskNo = ''
+    formData.value.SourcePlace = ''
+    formData.value.ToPlace = ''
+    formData.value.materialCode = ''
+    formData.value.materialName = ''
+    formData.value.purchaseType = ''
+    formData.value.materialType = ''
+    formData.value.primaryUnit = ''
+    formData.value.standard = ''
+    formData.value.outerDiameter = ''
+    formData.value.wallThickness = ''
+    formData.value.materialQuality = ''
+    formData.value.length = ''
+    formData.value.isMainBranch = ''
+    formData.value.factory = ''
+    formData.value.certification = ''
+    formData.value.remark = ''
+    //鍚戠埗缁勪欢鍙戦�佽嚜瀹氫箟浜嬩欢
+    ctx.emit('restQuery')
+  }
+
+  const updateCheckData = () => {
+    initiateData.value = {
+      formData: {
+        ...formData.value,
+      },
+    }
+  }
+  const updateFormItemOptions = (propName: string, enumData: any[]) => {
+    const item = formItems.find((item) => item.prop === propName)
+    if (item && enumData) {
+      item.options = enumData.map((item) => ({
+        label: item.description,
+        value: item.value,
+      }))
+    }
+  }
+  /**
+   * 閫氱敤鏌ヨ鏋氫妇
+   */
+  const commonQueryEnumForFrom = async () => {
+    const stockTypeEnumEnum = await wmsInOutStockRecordDrawer.getWmsEnumData({
+      EnumName: 'StockTypeEnum',
+    })
+    updateFormItemOptions('stockType', stockTypeEnumEnum)
+  }
+  commonQueryEnumForFrom()
+  /**
+   * 寮圭獥鎵撳紑鑾峰彇璇︽儏
+   */
+  const onOpen = async () => {
+    disabled.value = false
+    updateCheckData()
+  }
+
+  watch(() => current.value, onOpen)
+
+  return {
+    formItems,
+    formData,
+    visible,
+    formRef,
+    onOpen,
+    onClose,
+    onConfirmQuery,
+    onReset,
+  }
+}
diff --git a/HIAWms/web/src/widgets/WmsTask/Controllers/WmsTaskDrawer.tsx b/HIAWms/web/src/widgets/WmsTask/Controllers/WmsTaskDrawer.tsx
index 386618d..46cecbe 100644
--- a/HIAWms/web/src/widgets/WmsTask/Controllers/WmsTaskDrawer.tsx
+++ b/HIAWms/web/src/widgets/WmsTask/Controllers/WmsTaskDrawer.tsx
@@ -1,333 +1,393 @@
-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: 'taskNo', 
+                   el: 'input', 
+                   //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: 'taskLevel', 
+                   el: (props: any, { attrs }: SetupContext) => { 
+                     return h(inputNumber, {  
+                       ...props,  
+                       clearable: true, 
+                       ...attrs,  
+                     })  
+                   },
+                   width: '100%',
+                   step: 1,
+                   precision: 0, 
+                   //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: 'containerNo', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ユ墭鐩樼紪鍙�', 
+                }, 
+                { 
+                   label: '璧峰搴撲綅', 
+                   prop: 'sourcePlace', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ヨ捣濮嬪簱浣�', 
+                }, 
+                { 
+                   label: '鐩爣搴撲綅', 
+                   prop: 'toPlace', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ョ洰鏍囧簱浣�', 
+                }, 
+                { 
+                   label: '宸烽亾', 
+                   prop: 'aisle', 
+                   el: (props: any, { attrs }: SetupContext) => { 
+                     return h(inputNumber, {  
+                       ...props,  
+                       clearable: true, 
+                       ...attrs,  
+                     })  
+                   },
+                   width: '100%',
+                   step: 1,
+                   precision: 0, 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ュ贩閬�', 
+                }, 
+                { 
+                   label: '鍫嗗灈鏈篒D', 
+                   prop: 'dodeviceId', 
+                   el: (props: any, { attrs }: SetupContext) => { 
+                     return h(inputNumber, {  
+                       ...props,  
+                       clearable: true, 
+                       ...attrs,  
+                     })  
+                   },
+                   width: '100%',
+                   step: 1,
+                   precision: 0, 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ュ爢鍨涙満ID', 
+                }, 
+                { 
+                   label: '璁惧绫诲瀷', 
+                   prop: 'dodevicetype', 
+                   el: (props: any, { attrs }: SetupContext) => { 
+                     return h(inputNumber, {  
+                       ...props,  
+                       clearable: true, 
+                       ...attrs,  
+                     })  
+                   },
+                   width: '100%',
+                   step: 1,
+                   precision: 0, 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ヨ澶囩被鍨�', 
+              rules: [{required: true, message: '璁惧绫诲瀷涓嶈兘涓虹┖', trigger: 'blur' }], 
+                }, 
+                { 
+                   label: '璁惧浠诲姟鐘舵��', 
+                   prop: 'taskDodeviceStatus', 
+                   el: (props: any, { attrs }: SetupContext) => { 
+                     return h(inputNumber, {  
+                       ...props,  
+                       clearable: true, 
+                       ...attrs,  
+                     })  
+                   },
+                   width: '100%',
+                   step: 1,
+                   precision: 0, 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ヨ澶囦换鍔$姸鎬�', 
+              rules: [{required: true, message: '璁惧浠诲姟鐘舵�佷笉鑳戒负绌�', trigger: 'blur' }], 
+                }, 
+                { 
+                   label: 'WCS鏄惁鍙互璇诲彇', 
+                   prop: 'isRead', 
+                   el: 'select', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏CS鏄惁鍙互璇诲彇', 
+              rules: [{required: true, message: 'WCS鏄惁鍙互璇诲彇涓嶈兘涓虹┖', trigger: 'blur' }], 
+                 options: [{label: '鏄�',value: 'true'}, {label: '鍚�',value: 'false'}] 
+                }, 
+                { 
+                   label: '瀛愪换鍔$被鍨�', 
+                   prop: 'sonTaskType', 
+                   el: 'select', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ュ瓙浠诲姟绫诲瀷', 
+                }, 
+                { 
+                   label: '鏉ユ簮鍗曟嵁鍙�', 
+                   prop: 'sourceOrderNo', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ユ潵婧愬崟鎹彿', 
+                }, 
+                { 
+                   label: '涓嬩釜浠诲姟鏄惁鐢熸垚鎴愬姛', 
+                   prop: 'isNextTask', 
+                   el: (props: any, { attrs }: SetupContext) => { 
+                     return h(inputNumber, {  
+                       ...props,  
+                       clearable: true, 
+                       ...attrs,  
+                     })  
+                   },
+                   width: '100%',
+                   step: 1,
+                   precision: 0, 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ヤ笅涓换鍔℃槸鍚︾敓鎴愭垚鍔�', 
+                }, 
+                { 
+                   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', 
+                },  
+  ]) 
+  /** 
+   * 鏍¢獙鏄惁鏈夋暟鎹彉鍖� 
+   */ 
+  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 = { 
+      taskNo: formData.value.taskNo, 
+taskType: formData.value.taskType, 
+taskLevel: formData.value.taskLevel, 
+taskStatus: formData.value.taskStatus, 
+containerNo: formData.value.containerNo, 
+sourcePlace: formData.value.sourcePlace, 
+toPlace: formData.value.toPlace, 
+aisle: formData.value.aisle, 
+dodeviceId: formData.value.dodeviceId, 
+dodevicetype: formData.value.dodevicetype, 
+taskDodeviceStatus: formData.value.taskDodeviceStatus, 
+isRead: formData.value.isRead, 
+sonTaskType: formData.value.sonTaskType, 
+sourceOrderNo: formData.value.sourceOrderNo, 
+isNextTask: formData.value.isNextTask, 
+mutableParam1: formData.value.mutableParam1, 
+mutableParam2: formData.value.mutableParam2, 
+mutableParam3: formData.value.mutableParam3,  
+    } 
+    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 = { 
+        taskNo: res.taskNo, 
+taskType: res.taskType, 
+taskLevel: res.taskLevel, 
+taskStatus: res.taskStatus, 
+containerNo: res.containerNo, 
+sourcePlace: res.sourcePlace, 
+toPlace: res.toPlace, 
+aisle: res.aisle, 
+dodeviceId: res.dodeviceId, 
+dodevicetype: res.dodevicetype, 
+taskDodeviceStatus: res.taskDodeviceStatus, 
+isRead: res.isRead, 
+sonTaskType: res.sonTaskType, 
+sourceOrderNo: res.sourceOrderNo, 
+isNextTask: res.isNextTask, 
+mutableParam1: res.mutableParam1, 
+mutableParam2: res.mutableParam2, 
+mutableParam3: res.mutableParam3,  
+        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/Controllers/WmsTaskQueryDrawer.tsx b/HIAWms/web/src/widgets/WmsTask/Controllers/WmsTaskQueryDrawer.tsx
index 3edbe21..0cea796 100644
--- a/HIAWms/web/src/widgets/WmsTask/Controllers/WmsTaskQueryDrawer.tsx
+++ b/HIAWms/web/src/widgets/WmsTask/Controllers/WmsTaskQueryDrawer.tsx
@@ -1,308 +1,407 @@
-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 useWmsTaskQueryDrawer = (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: '璇疯緭鍏ヨ澶囩被鍨�', 
-                }, 
-                { 
-                   label: '涓嬩釜浠诲姟鏄惁鐢熸垚鎴愬姛', 
-                   prop: 'isNextTask', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ヤ笅涓换鍔℃槸鍚︾敓鎴愭垚鍔�', 
-                }, 
-                { 
-                   label: 'WCS鏄惁鍙互璇诲彇', 
-                   prop: 'isRead', 
-                   el: 'select', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏CS鏄惁鍙互璇诲彇', 
-                }, 
-                { 
-                   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: '璇疯緭鍏ヨ澶囦换鍔$姸鎬�', 
-                }, 
-                { 
-                   label: '浠诲姟绛夌骇', 
-                   prop: 'taskLevel', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ヤ换鍔$瓑绾�', 
-                }, 
-                { 
-                   label: '浠诲姟鍙�', 
-                   prop: 'taskNo', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ヤ换鍔″彿', 
-                }, 
-                { 
-                   label: '浠诲姟鐘舵��', 
-                   prop: 'taskStatus', 
-                   el: 'select', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ヤ换鍔$姸鎬�', 
-                }, 
-                { 
-                   label: '浠诲姟绫诲瀷', 
-                   prop: 'taskType', 
-                   el: 'select', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ヤ换鍔$被鍨�', 
-                }, 
-                { 
-                   label: '鐩爣搴撲綅', 
-                   prop: 'toPlace', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ョ洰鏍囧簱浣�', 
-                },  
-  ]) 
-  /** 
-   * 鏍¢獙鏄惁鏈夋暟鎹彉鍖� 
-   */ 
-  const checkIsEqualObject = () => { 
-    const data = { 
-      formData: formData.value, 
-    } 
-    const check = isEqual(initiateData.value, data) 
-    return check 
-  } 
-  const commonGetFormData=()=>{ 
-    const data = { 
-      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,  
-    } 
-    return data; 
-  } 
-  const onClose = (done: () => void) => { 
-    if (visible.value) { 
-      visible.value = false 
-      const data =commonGetFormData(); 
-      ctx.emit('close', data) 
-    } 
-  } 
-  /** 
-   * 纭鏌ヨ 
-   */ 
-  const onConfirmQuery = async () => { 
-    const data =commonGetFormData(); 
-    ctx.emit('confirmQuery', data) 
-  } 
-  /** 
-   * 閲嶇疆鏌ヨ 
-   */ 
-  const onReset = async () => { 
-    formData.value = {} 
-    formData.value.Aisle = '' 
-formData.value.ContainerNo = '' 
-formData.value.DodeviceId = '' 
-formData.value.Dodevicetype = '' 
-formData.value.IsNextTask = '' 
-formData.value.IsRead = '' 
-formData.value.MutableParam1 = '' 
-formData.value.MutableParam2 = '' 
-formData.value.MutableParam3 = '' 
-formData.value.SonTaskType = '' 
-formData.value.SourceOrderNo = '' 
-formData.value.SourcePlace = '' 
-formData.value.TaskDodeviceStatus = '' 
-formData.value.TaskLevel = '' 
-formData.value.TaskNo = '' 
-formData.value.TaskStatus = '' 
-formData.value.TaskType = '' 
-formData.value.ToPlace = ''  
-    //鍚戠埗缁勪欢鍙戦�佽嚜瀹氫箟浜嬩欢 
-    ctx.emit('restQuery'); 
-  } 
- 
-  const updateCheckData = () => { 
-    initiateData.value = { 
-      formData: { 
-        ...formData.value, 
-      }, 
-    } 
-  } 
-  const updateFormItemOptions = (propName: string, enumData: any[]) => { 
-    const item = formItems.find((item) => item.prop === propName) 
-    if (item && enumData) { 
-      item.options = enumData.map((item) => ({ 
-        label: item.description, 
-        value: item.value, 
-      })) 
-    } 
-  } 
-  /** 
-   * 閫氱敤鏌ヨ鏋氫妇 
-   */ 
-  const commonQueryEnumForFrom = async () => { 
-    const 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 () => { 
-    disabled.value = false 
-    updateCheckData() 
-  } 
- 
-  watch(() => current.value, onOpen) 
- 
-  return { 
-    formItems, 
-    formData, 
-    visible, 
-    formRef, 
-    onOpen, 
-    onClose, 
-    onConfirmQuery, 
-    onReset, 
-  } 
-} 
+import {
+  ref,
+  onMounted,
+  reactive,
+  computed,
+  Ref,
+  watch,
+  SetupContext,
+  h,
+} from 'vue'
+import { injectModel } from '@/libs/Provider/Provider'
+import { 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 useWmsTaskQueryDrawer = (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 datePickerRange = (attrs) => {
+    return (
+      <el-date-picker
+        type="daterange"
+        value-format="YYYY-MM-DD HH:mm:ss"
+        start-placeholder="寮�濮嬫棩鏈�"
+        end-placeholder="缁撴潫鏃ユ湡"
+        {...attrs}
+      ></el-date-picker>
+    )
+  }
+
+  const dateTimePickerRange = (attrs) => {
+    return (
+      <el-date-picker
+        type="datetimerange"
+        value-format="YYYY-MM-DD HH:mm:ss"
+        start-placeholder="寮�濮嬫棩鏈�"
+        end-placeholder="缁撴潫鏃ユ湡"
+        {...attrs}
+      ></el-date-picker>
+    )
+  }
+
+  const visible = computed({
+    get() {
+      return props.modelValue
+    },
+    set(val) {
+      ctx.emit('update:modelValue', val)
+    },
+  })
+  /**
+   * 娣诲姞鐨刦orm瀛楁
+   */
+  const formItems = reactive([
+    {
+      label: '浠诲姟鍙�',
+      prop: 'taskNo',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヤ换鍔″彿',
+    },
+    {
+      label: '浠诲姟绫诲瀷',
+      prop: 'taskType',
+      el: 'select',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヤ换鍔$被鍨�',
+    },
+    {
+      label: '浠诲姟绛夌骇',
+      prop: 'taskLevel',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(inputNumber, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      step: 1,
+      precision: 0,
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヤ换鍔$瓑绾�',
+    },
+    {
+      label: '浠诲姟鐘舵��',
+      prop: 'taskStatus',
+      el: 'select',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヤ换鍔$姸鎬�',
+    },
+    {
+      label: '鎵樼洏缂栧彿',
+      prop: 'containerNo',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ユ墭鐩樼紪鍙�',
+    },
+    {
+      label: '璧峰搴撲綅',
+      prop: 'sourcePlace',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヨ捣濮嬪簱浣�',
+    },
+    {
+      label: '鐩爣搴撲綅',
+      prop: 'toPlace',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ョ洰鏍囧簱浣�',
+    },
+    {
+      label: '宸烽亾',
+      prop: 'aisle',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(inputNumber, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      step: 1,
+      precision: 0,
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ贩閬�',
+    },
+    {
+      label: '鍫嗗灈鏈篒D',
+      prop: 'dodeviceId',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(inputNumber, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      step: 1,
+      precision: 0,
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ爢鍨涙満ID',
+    },
+    {
+      label: '璁惧绫诲瀷',
+      prop: 'dodevicetype',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(inputNumber, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      step: 1,
+      precision: 0,
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヨ澶囩被鍨�',
+    },
+    {
+      label: '璁惧浠诲姟鐘舵��',
+      prop: 'taskDodeviceStatus',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(inputNumber, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      step: 1,
+      precision: 0,
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヨ澶囦换鍔$姸鎬�',
+    },
+    {
+      label: 'WCS鏄惁鍙互璇诲彇',
+      prop: 'isRead',
+      el: 'select',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏CS鏄惁鍙互璇诲彇',
+      options: [
+        { label: '鏄�', value: 'true' },
+        { label: '鍚�', value: 'false' },
+      ],
+    },
+    {
+      label: '瀛愪换鍔$被鍨�',
+      prop: 'sonTaskType',
+      el: 'select',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ瓙浠诲姟绫诲瀷',
+    },
+    {
+      label: '鏉ユ簮鍗曟嵁鍙�',
+      prop: 'sourceOrderNo',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ユ潵婧愬崟鎹彿',
+    },
+    {
+      label: '涓嬩釜浠诲姟鏄惁鐢熸垚鎴愬姛',
+      prop: 'isNextTask',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(inputNumber, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      step: 1,
+      precision: 0,
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヤ笅涓换鍔℃槸鍚︾敓鎴愭垚鍔�',
+    },
+    {
+      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: 'operateTime',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(datePickerRange, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      step: 1,
+      precision: 0,
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヤ笅涓换鍔℃槸鍚︾敓鎴愭垚鍔�',
+    },
+  ])
+  /**
+   * 鏍¢獙鏄惁鏈夋暟鎹彉鍖�
+   */
+  const checkIsEqualObject = () => {
+    const data = {
+      formData: formData.value,
+    }
+    const check = isEqual(initiateData.value, data)
+    return check
+  }
+  const commonGetFormData = () => {
+    console.log(formData.value.operateTime)
+    const data = {
+      TaskNo: formData.value.TaskNo,
+      TaskType: formData.value.TaskType,
+      TaskLevel: formData.value.TaskLevel,
+      TaskStatus: formData.value.TaskStatus,
+      ContainerNo: formData.value.ContainerNo,
+      SourcePlace: formData.value.SourcePlace,
+      ToPlace: formData.value.ToPlace,
+      Aisle: formData.value.Aisle,
+      DodeviceId: formData.value.DodeviceId,
+      Dodevicetype: formData.value.Dodevicetype,
+      TaskDodeviceStatus: formData.value.TaskDodeviceStatus,
+      IsRead: formData.value.IsRead,
+      SonTaskType: formData.value.SonTaskType,
+      SourceOrderNo: formData.value.SourceOrderNo,
+      IsNextTask: formData.value.IsNextTask,
+      MutableParam1: formData.value.MutableParam1,
+      MutableParam2: formData.value.MutableParam2,
+      MutableParam3: formData.value.MutableParam3,
+      operateTime: formData.value.operateTime,
+    }
+    return data
+  }
+  const onClose = (done: () => void) => {
+    if (visible.value) {
+      visible.value = false
+      const data = commonGetFormData()
+      ctx.emit('close', data)
+    }
+  }
+  /**
+   * 纭鏌ヨ
+   */
+  const onConfirmQuery = async () => {
+    const data = commonGetFormData()
+    ctx.emit('confirmQuery', data)
+  }
+  /**
+   * 閲嶇疆鏌ヨ
+   */
+  const onReset = async () => {
+    formData.value = {}
+    formData.value.TaskNo = ''
+    formData.value.TaskType = ''
+    formData.value.TaskLevel = ''
+    formData.value.TaskStatus = ''
+    formData.value.ContainerNo = ''
+    formData.value.SourcePlace = ''
+    formData.value.ToPlace = ''
+    formData.value.Aisle = ''
+    formData.value.DodeviceId = ''
+    formData.value.Dodevicetype = ''
+    formData.value.TaskDodeviceStatus = ''
+    formData.value.IsRead = ''
+    formData.value.SonTaskType = ''
+    formData.value.SourceOrderNo = ''
+    formData.value.IsNextTask = ''
+    formData.value.MutableParam1 = ''
+    formData.value.MutableParam2 = ''
+    formData.value.MutableParam3 = ''
+    formData.value.operateTime = []
+    //鍚戠埗缁勪欢鍙戦�佽嚜瀹氫箟浜嬩欢
+    ctx.emit('restQuery')
+  }
+
+  const updateCheckData = () => {
+    initiateData.value = {
+      formData: {
+        ...formData.value,
+      },
+    }
+  }
+  const updateFormItemOptions = (propName: string, enumData: any[]) => {
+    const item = formItems.find((item) => item.prop === propName)
+    if (item && enumData) {
+      item.options = enumData.map((item) => ({
+        label: item.description,
+        value: item.value,
+      }))
+    }
+  }
+  /**
+   * 閫氱敤鏌ヨ鏋氫妇
+   */
+  const commonQueryEnumForFrom = async () => {
+    const 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 () => {
+    disabled.value = false
+    updateCheckData()
+  }
+
+  watch(() => current.value, onOpen)
+
+  return {
+    formItems,
+    formData,
+    visible,
+    formRef,
+    onOpen,
+    onClose,
+    onConfirmQuery,
+    onReset,
+  }
+}
diff --git a/HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/Config.ts b/HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/Config.ts
index 76e143b..48b1082 100644
--- a/HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/Config.ts
+++ b/HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/Config.ts
@@ -1,97 +1,91 @@
-export const columns = [
-  {
-    type: 'seq',
-    width: 60,
-    title: '搴忓彿',
-  },
-  {
-    field: 'taskNo',
-    title: '浠诲姟鍙�',
-  },
-  {
-    field: 'taskTypeDesc',
-    title: '浠诲姟绫诲瀷',
-  },
-  {
-    field: 'taskStatusDesc',
-    title: '浠诲姟鐘舵��',
-  },
-  {
-    field: 'containerNo',
-    title: '鎵樼洏缂栧彿',
-  },
-  {
-    field: 'sourcePlace',
-    title: '璧峰搴撲綅',
-  },
-  {
-    field: 'toPlace',
-    title: '鐩爣搴撲綅',
-  },
-  {
-    field: 'aisle',
-    title: '宸烽亾',
-  },
-  // {
-  //   field: 'dodeviceId',
-  //   title: '鍫嗗灈鏈篒D',
-  //   width: 100,
-  // },
-  {
-    field: 'taskDodeviceStatus',
-    title: '璁惧鐘舵��',
-  },
-  {
-    field: 'isRead',
-    title: 'WCS鍙',
-  },
-  {
-    field: 'taskLevel',
-    title: '浼樺厛绾�',
-  },
-  {
-    field: 'sonTaskTypeDesc',
-    title: '瀛愪换鍔$被鍨�',
-  },
-  {
-    field: 'sourceOrderNo',
-    title: '鏉ユ簮鍗曞彿',
-  },
-  {
-    field: 'isNextTask',
-    title: '鍚庣画浠诲姟',
-  },
-  {
-    field: 'dodevicetype',
-    title: '璁惧绫诲瀷',
-  },
-
-  {
-    field: 'creationTime',
-    title: '鍒涘缓鏃堕棿',
-  },
-  // {
-  //   field: 'sort',
-  //   title: '鎺掑簭',
-  //   width: 80,
-  // },
-  // // 浠ヤ笅涓烘瑕佷俊鎭斁鍦ㄦ渶鍚�
-  // {
-  //   field: 'mutableParam1',
-  //   title: '鍙橀噺1',
-  //   width: 100,
-  //   showOverflow: true, // 闀挎枃鏈樉绀虹渷鐣ュ彿
-  // },
-  // {
-  //   field: 'mutableParam2',
-  //   title: '鍙橀噺2',
-  //   width: 100,
-  //   showOverflow: true,
-  // },
-  // {
-  //   field: 'mutableParam3',
-  //   title: '鍙橀噺3',
-  //   width: 100,
-  //   showOverflow: true,
-  // },
-]
+export const columns = [ 
+  { 
+    type: 'seq', 
+    width: 60, 
+    title: '搴忓彿', 
+  }, 
+  { 
+  field: 'taskNo', 
+  title: '浠诲姟鍙�', 
+}, 
+{ 
+  field: 'taskTypeDesc', 
+  title: '浠诲姟绫诲瀷', 
+}, 
+{ 
+  field: 'taskLevel', 
+  title: '浠诲姟绛夌骇', 
+}, 
+{ 
+  field: 'taskStatusDesc', 
+  title: '浠诲姟鐘舵��', 
+}, 
+{ 
+  field: 'containerNo', 
+  title: '鎵樼洏缂栧彿', 
+}, 
+{ 
+  field: 'sourcePlace', 
+  title: '璧峰搴撲綅', 
+}, 
+{ 
+  field: 'toPlace', 
+  title: '鐩爣搴撲綅', 
+}, 
+{ 
+  field: 'aisle', 
+  title: '宸烽亾', 
+}, 
+{ 
+  field: 'dodeviceId', 
+  title: '鍫嗗灈鏈篒D', 
+}, 
+{ 
+  field: 'dodevicetype', 
+  title: '璁惧绫诲瀷', 
+}, 
+{ 
+  field: 'taskDodeviceStatus', 
+  title: '璁惧浠诲姟鐘舵��', 
+}, 
+{ 
+  field: 'isRead', 
+  title: 'WCS鏄惁鍙互璇诲彇', 
+}, 
+{ 
+  field: 'sonTaskTypeDesc', 
+  title: '瀛愪换鍔$被鍨�', 
+}, 
+{ 
+  field: 'sourceOrderNo', 
+  title: '鏉ユ簮鍗曟嵁鍙�', 
+}, 
+{ 
+  field: 'isNextTask', 
+  title: '涓嬩釜浠诲姟鏄惁鐢熸垚鎴愬姛', 
+}, 
+{ 
+  field: 'mutableParam1', 
+  title: '鍙彉鍙橀噺1', 
+}, 
+{ 
+  field: 'mutableParam2', 
+  title: '鍙彉鍙橀噺2', 
+}, 
+{ 
+  field: 'mutableParam3', 
+  title: '鍙彉鍙橀噺3', 
+}, 
+{ 
+  field: 'sort', 
+  title: '鎺掑簭', 
+}, 
+{ 
+  field: 'creationTime', 
+  title: '', 
+}, 
+{ 
+  field: 'deletionTime', 
+  title: '', 
+},  
+] 
diff --git a/HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.module.scss b/HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.module.scss
index af357af..f4403f7 100644
--- a/HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.module.scss
+++ b/HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.module.scss
@@ -15,7 +15,7 @@
   .header { 
     margin-bottom: 12px; 
     display: flex; 
-    justify-content: flex-start; 
+    justify-content: flex-end; 
     align-items: center; 
   } 
 } 
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 ccc7860..a299cd0 100644
--- a/HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx
+++ b/HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx
@@ -1,326 +1,324 @@
-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 b16eca7..5063f04 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,c.NUMERIC_SCALE as MyPrecision, " +
+            string strSql = $"SELECT DISTINCT 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/Templete/Web/Controllers/EntityModeDrawer\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/Controllers/EntityModeDrawer\346\250\241\346\235\277.txt"
index 156b0a6..2c4be66 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/Controllers/EntityModeDrawer\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/Controllers/EntityModeDrawer\346\250\241\346\235\277.txt"
@@ -41,6 +41,25 @@
       ></el-input-number>
     )
   }
+    const datePicker = (attrs) => {
+    return (
+      <el-date-picker
+        type="datetime"
+        format="YYYY-MM-DD"
+        {...attrs}
+      ></el-date-picker>
+    )
+  }
+
+   const dateTimePicker = (attrs) => {
+    return (
+      <el-date-picker
+        type="datetime"
+        format="YYYY-MM-DD HH:mm:ss"
+        {...attrs}
+      ></el-date-picker>
+    )
+  }
 
   const visible = computed({
     get() {
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 6b8983f..3b61775 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"
@@ -1863,7 +1863,15 @@
                     switch (enumDT)
                     {
                         case DataTypeEnum.dt_datetime:
-                            sb.Append("                   type: 'datetimerange', \n");
+                            sb.Append("                   el: (props: any, { attrs }: SetupContext) => { \n");
+                            sb.Append("                     return h(datePicker, {  \n");
+                            sb.Append("                       ...props,  \n");
+                            sb.Append("                       clearable: true,  \n");
+                            sb.Append("                       ...attrs,  \n");
+                            sb.Append("                     })  \n");
+                            sb.Append("                   },\n");
+
+                            sb.Append("                   width: '100%',\n");
                             break;
                         default:
                             break;
@@ -1879,12 +1887,14 @@
                         sb.Append("                     })  \n");
                         sb.Append("                   },\n");
 
+                        sb.Append("                   width: '100%',\n");
                         //閰嶇疆绮惧害锛熻繖閲岄渶瑕佽幏鍙栨暟鎹簱涓殑绮惧害锛侊紒锛乀ODO锛�
                         sb.Append("                   step: 0.01,\n");
                         sb.Append("                   precision: 2, \n");
                     }
                     else if (enumDT == DataTypeEnum.dt_int)
                     {
+                        bool isWriteInt = true;
                         //鍒ゆ柇鏄惁鏄笅鎷夌被鍨�
                         //澧炲姞瀵规灇涓剧被鍨嬬殑鏀寔 
                         if (param.EnumList?.Count > 0)
@@ -1894,9 +1904,10 @@
                             {
                                 elment = "select";
                                 sb.Append("                   el: '" + elment + "', \n");
+                                isWriteInt = false;
                             }
                         }
-                        else
+                        if(isWriteInt)
                         {
                             sb.Append("                   el: (props: any, { attrs }: SetupContext) => { \n");
                             sb.Append("                     return h(inputNumber, {  \n");
@@ -1905,7 +1916,7 @@
                             sb.Append("                       ...attrs,  \n");
                             sb.Append("                     })  \n");
                             sb.Append("                   },\n");
-
+                            sb.Append("                   width: '100%',\n");
                             //閰嶇疆绮惧害锛�
                             sb.Append("                   step: 1,\n");
                             sb.Append("                   precision: 0, \n");
@@ -1923,15 +1934,15 @@
                         sb.Append("              rules: [{required: true, message: '" + columnModel.Description + "涓嶈兘涓虹┖', trigger: 'blur' }], \n");
                     }
                     //娣诲姞绫诲瀷
-                    //switch (enumDT)
-                    //{
-                    //    case DataTypeEnum.dt_bit:
-                    //    case DataTypeEnum.dt_tinyint:
-                    //        sb.Append("                 options: [{label: '鏄�',value: 'true'}, {label: '鍚�',value: 'false'}] \n");
-                    //        break;
-                    //    default:
-                    //        break;
-                    //}
+                    switch (enumDT)
+                    {
+                        case DataTypeEnum.dt_bit:
+                        case DataTypeEnum.dt_tinyint:
+                            sb.Append("                 options: [{label: '鏄�',value: 'true'}, {label: '鍚�',value: 'false'}] \n");
+                            break;
+                        default:
+                            break;
+                    }
                     sb.Append("                }, \n");
                 }
                 //鍘绘帀鏈�鍚庝竴涓�,
@@ -2007,12 +2018,14 @@
                         sb.Append("                     })  \n");
                         sb.Append("                   },\n");
 
+                        sb.Append("                   width: '100%',\n");
                         //閰嶇疆绮惧害锛熻繖閲岄渶瑕佽幏鍙栨暟鎹簱涓殑绮惧害锛侊紒锛乀ODO锛�
                         sb.Append("                   step: 0.01,\n");
                         sb.Append("                   precision: 2, \n");
                     }
                     else if (enumDT == DataTypeEnum.dt_int)
                     {
+                        bool isWriteInt = true;
                         //鍒ゆ柇鏄惁鏄笅鎷夌被鍨�
                         //澧炲姞瀵规灇涓剧被鍨嬬殑鏀寔 
                         if (param.EnumList?.Count > 0)
@@ -2022,9 +2035,10 @@
                             {
                                 elment = "select";
                                 sb.Append("                   el: '" + elment + "', \n");
+                                isWriteInt = false;
                             }
                         }
-                        else
+                        if (isWriteInt)
                         {
                             sb.Append("                   el: (props: any, { attrs }: SetupContext) => { \n");
                             sb.Append("                     return h(inputNumber, {  \n");
@@ -2034,6 +2048,7 @@
                             sb.Append("                     })  \n");
                             sb.Append("                   },\n");
 
+                            sb.Append("                   width: '100%',\n");
                             //閰嶇疆绮惧害锛�
                             sb.Append("                   step: 1,\n");
                             sb.Append("                   precision: 0, \n");
@@ -2048,15 +2063,15 @@
                     sb.Append("                   placeholder: '璇疯緭鍏�" + columnModel.Description + "', \n");
 
                     //娣诲姞绫诲瀷
-                    //switch (enumDT)
-                    //{
-                    //    case DataTypeEnum.dt_bit:
-                    //    case DataTypeEnum.dt_tinyint:
-                    //        sb.Append("                 options: [{label: '鏄�',value: 'true'}, {label: '鍚�',value: 'false'}] \n");
-                    //        break;
-                    //    default:
-                    //        break;
-                    //}
+                    switch (enumDT)
+                    {
+                        case DataTypeEnum.dt_bit:
+                        case DataTypeEnum.dt_tinyint:
+                            sb.Append("                 options: [{label: '鏄�',value: 'true'}, {label: '鍚�',value: 'false'}] \n");
+                            break;
+                        default:
+                            break;
+                    }
                     sb.Append("                }, \n");
                 }
                 //鍘绘帀鏈�鍚庝竴涓�,
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/queryExtensions/CmsQueryExtensions/Extension/DynamicSearchParameters/WhereConditionsExtensions.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/queryExtensions/CmsQueryExtensions/Extension/DynamicSearchParameters/WhereConditionsExtensions.cs"
index b6bf43d..56c4e99 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/queryExtensions/CmsQueryExtensions/Extension/DynamicSearchParameters/WhereConditionsExtensions.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/queryExtensions/CmsQueryExtensions/Extension/DynamicSearchParameters/WhereConditionsExtensions.cs"
@@ -155,11 +155,17 @@
                         {
                             continue;
                         }
-                        List<string> arr_value = v as List<string>;
-                        if (arr_value.Count < 2)
+                        //鍒ゆ柇瀛楃涓叉槸鍚︽湁,鍙�
+                        List<string> arr_value = new List<string>();
+                        string str_arr_value = v as string;
+                        if (string.IsNullOrEmpty(str_arr_value)) continue;
+                        if (str_arr_value.IndexOf(',') > -1)
                         {
-                            continue;
+                            var arr = str_arr_value.Split(',');
+                            if (arr.Length != 2) continue;
+                            arr_value = arr.ToList();
                         }
+
                         //string[] arr_value = (string[])v;
                         //string[] arr_value = Convert.ToString(v).Split(',');
                         hsmForDatetimeList.Add(new HighSearchForDateTimeRangeModel()

--
Gitblit v1.9.3