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