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