From 2f3617a5147d025ac13a70938859974f4b369b4b Mon Sep 17 00:00:00 2001 From: zs <zhousong@weben-smart.com> Date: 周三, 30 4月 2025 20:53:06 +0800 Subject: [PATCH] 仓库前端修改 --- HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsPlaceAppService.cs | 13 ++- HIAWms/web/src/widgets/HIAWms/Models/Service/WmsMaterialDrawer.ts | 16 +++++ HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsPlaces/WmsPlaceDto.cs | 44 ++++++++++++++ HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsPlaceAutoMapperProfile.cs | 1 HIAWms/web/src/widgets/WmsContainer/Controllers/WmsContainerDrawer.tsx | 1 HIAWms/web/src/widgets/WmsStoreInfo/Controllers/WmsAreaDrawer.ts | 53 ++++++++++++++--- HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsPlaceRepository.cs | 23 +++++++ HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsPlaces/IWmsPlaceRepository.cs | 4 HIAWms/web/src/widgets/WmsStoreInfo/Controllers/WmsStoreDrawer.ts | 14 +++- 9 files changed, 144 insertions(+), 25 deletions(-) diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsPlaces/WmsPlaceDto.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsPlaces/WmsPlaceDto.cs index b5f3b70..c4e2357 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsPlaces/WmsPlaceDto.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsPlaces/WmsPlaceDto.cs @@ -20,9 +20,31 @@ public PlaceTypeEnum StorageTypeNo { get; protected set; } /// <summary> + /// 璐т綅绫诲瀷 + /// </summary> + public string StorageTypeNoDesc + { + get + { + return GetEnumDescriptionUtil.GetEnumDescription(StorageTypeNo); + } + } + + /// <summary> /// 璐т綅鐘舵�� /// </summary> public PlaceStatusEnum PlaceStatus { get; protected set; } + + /// <summary> + /// 璐т綅鐘舵�� + /// </summary> + public string PlaceStatusDesc + { + get + { + return GetEnumDescriptionUtil.GetEnumDescription(PlaceStatus); + } + } /// <summary> /// 鎵�鍦ㄥ簱鍖� @@ -55,11 +77,33 @@ public YesNoEnum Islock { get; protected set; } /// <summary> + /// 鏄惁閿佸畾 + /// </summary> + public string IslockDesc + { + get + { + return GetEnumDescriptionUtil.GetEnumDescription(Islock); + } + } + + /// <summary> /// 鏄惁绌烘墭 /// </summary> public YesNoEnum EmptyContainer { get; protected set; } /// <summary> + /// 鏄惁绌烘墭 + /// </summary> + public string EmptyContainerDesc + { + get + { + return GetEnumDescriptionUtil.GetEnumDescription(EmptyContainer); + } + } + + /// <summary> /// 鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ�� /// </summary> public string RedundantField1 { get; set; } diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsPlaceAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsPlaceAppService.cs index 6a3bd8d..8d3b362 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsPlaceAppService.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsPlaceAppService.cs @@ -7,6 +7,7 @@ using Volo.Abp.Application.Dtos; using Volo.Abp.Data; using Volo.Abp.ObjectExtending; +using CMS.Plugin.HIAWms.Domain.Shared.Util; namespace CMS.Plugin.HIAWms.Application.Implements; @@ -41,8 +42,9 @@ } var specification = new WmsPlaceSpecification(input.Name); - var count = await _wmsplaceRepository.GetCountAsync(input.Filter, specification); - var list = await _wmsplaceRepository.GetListAsync(input.Sorting, input.MaxResultCount, input.SkipCount, input.Filter, specification); + var place = ObjectMapper.Map<GetWmsPlacesInput, WmsPlace>(input); + var count = await _wmsplaceRepository.GetCountAsync(place,input.Filter, specification); + var list = await _wmsplaceRepository.GetListAsync(place, input.Sorting, input.MaxResultCount, input.SkipCount, input.Filter, specification); return new PagedResultDto<WmsPlaceDto>(count, ObjectMapper.Map<List<WmsPlace>, List<WmsPlaceDto>>(list)); } @@ -160,7 +162,7 @@ /// <inheritdoc /> public virtual async Task AdjustSortAsync(Guid id, int sort) { - var list = await _wmsplaceRepository.GetListAsync(nameof(WmsPlace.Sort)); + var list = await _wmsplaceRepository.GetListAsync(null,nameof(WmsPlace.Sort)); if (list != null && list.Any()) { var initSort = 1; @@ -293,12 +295,13 @@ } var specification = new WmsPlaceSpecification(input.Name); - var list = await _wmsplaceRepository.GetListAsync(input.Sorting, input.MaxResultCount, input.SkipCount, input.Filter, specification, includeDetails: true); + var place = ObjectMapper.Map<GetWmsPlacesInput, WmsPlace>(input); + var list = await _wmsplaceRepository.GetListAsync(place, input.Sorting, input.MaxResultCount, input.SkipCount, input.Filter, specification, includeDetails: true); var result = ObjectMapper.Map<List<WmsPlace>, List<WmsPlaceDto>>(list); var sheets = new Dictionary<string, object> { - ["閰嶇疆"] = result.Select(x => x.GetExportData()).ToList(), + ["閰嶇疆"] = ExportHelper.ConvertListToExportData(result), }; var fileName = result.Count > 1 ? "WmsPlace鍒楄〃" : result.Count == 1 ? result.First()?.PlaceNo : "WmsPlace妯$増"; diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsPlaceAutoMapperProfile.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsPlaceAutoMapperProfile.cs index e53aaa0..f58553d 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsPlaceAutoMapperProfile.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsPlaceAutoMapperProfile.cs @@ -21,5 +21,6 @@ * into multiple profile classes for a better organization. */ CreateMap<WmsPlace, WmsPlaceDto>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None); CreateMap<WmsPlaceCreateDto, WmsPlace>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None); + CreateMap<GetWmsPlacesInput, WmsPlace>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None); } } diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsPlaces/IWmsPlaceRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsPlaces/IWmsPlaceRepository.cs index 6691a2a..b18102b 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsPlaces/IWmsPlaceRepository.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsPlaces/IWmsPlaceRepository.cs @@ -41,7 +41,7 @@ /// <param name="includeDetails">if set to <c>true</c> [include details].</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns></returns> - Task<List<WmsPlace>> GetListAsync(string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, string filter = null, Specification<WmsPlace> specification = null, bool includeDetails = false, CancellationToken cancellationToken = default); + Task<List<WmsPlace>> GetListAsync(WmsPlace? place, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, string filter = null, Specification<WmsPlace> specification = null, bool includeDetails = false, CancellationToken cancellationToken = default); /// <summary> /// Gets the count asynchronous. @@ -50,5 +50,5 @@ /// <param name="specification">The specification.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns></returns> - Task<long> GetCountAsync(string filter = null, Specification<WmsPlace> specification = null, CancellationToken cancellationToken = default); + Task<long> GetCountAsync(WmsPlace? place, string filter = null, Specification<WmsPlace> specification = null, CancellationToken cancellationToken = default); } diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsPlaceRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsPlaceRepository.cs index 31452c7..cc36680 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsPlaceRepository.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsPlaceRepository.cs @@ -1,6 +1,7 @@ using System.Linq.Dynamic.Core; using CMS.Plugin.HIAWms.Domain.WmsPlaces; using CMS.Plugin.HIAWms.EntityFrameworkCore.Extensions; +using Microsoft.AspNetCore.Components.Forms; using Microsoft.EntityFrameworkCore; using Volo.Abp.Domain.Repositories.EntityFrameworkCore; using Volo.Abp.EntityFrameworkCore; @@ -52,13 +53,22 @@ } /// <inheritdoc /> - public async Task<List<WmsPlace>> GetListAsync(string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, string filter = null, Specification<WmsPlace> specification = null, bool includeDetails = false, CancellationToken cancellationToken = default) + public async Task<List<WmsPlace>> GetListAsync(WmsPlace? place, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, string filter = null, Specification<WmsPlace> specification = null, bool includeDetails = false, CancellationToken cancellationToken = default) { specification ??= new WmsPlaceSpecification(); return await (await GetDbSetAsync()) .IncludeDetails(includeDetails) .Where(specification.ToExpression()) .WhereIf(!filter.IsNullOrWhiteSpace(), u => u.PlaceNo.Contains(filter)) + .WhereIf(!string.IsNullOrEmpty(place.PlaceNo), u => u.PlaceNo == place.PlaceNo) + .WhereIf(place.PlaceStatus > 0, u => u.PlaceStatus == place.PlaceStatus) + .WhereIf(place.StorageTypeNo > 0, u => u.StorageTypeNo == place.StorageTypeNo) + .WhereIf(place.Aisle > 0, u => u.Aisle == place.Aisle) + .WhereIf(place.RowNo > 0, u => u.RowNo == place.RowNo) + .WhereIf(place.ColumnNo > 0, u => u.ColumnNo == place.ColumnNo) + .WhereIf(place.LayerNo > 0, u => u.LayerNo == place.LayerNo) + .WhereIf(place.Islock > 0, u => u.Islock == place.Islock) + .WhereIf(place.EmptyContainer > 0, u => u.EmptyContainer == place.EmptyContainer) .Where(x => !x.IsDeleted) .OrderBy(sorting.IsNullOrEmpty() ? nameof(WmsPlace.Sort) : sorting) .PageBy(skipCount, maxResultCount) @@ -66,11 +76,20 @@ } /// <inheritdoc /> - public async Task<long> GetCountAsync(string filter = null, Specification<WmsPlace> specification = null, CancellationToken cancellationToken = default) + public async Task<long> GetCountAsync(WmsPlace? place, string filter = null, Specification<WmsPlace> specification = null, CancellationToken cancellationToken = default) { specification ??= new WmsPlaceSpecification(); return await (await GetQueryableAsync()) .Where(specification.ToExpression()) + .WhereIf(!string.IsNullOrEmpty(place.PlaceNo), u => u.PlaceNo == place.PlaceNo) + .WhereIf(place.PlaceStatus > 0, u => u.PlaceStatus == place.PlaceStatus) + .WhereIf(place.StorageTypeNo > 0, u => u.StorageTypeNo == place.StorageTypeNo) + .WhereIf(place.Aisle > 0, u => u.Aisle == place.Aisle) + .WhereIf(place.RowNo > 0, u => u.RowNo == place.RowNo) + .WhereIf(place.ColumnNo > 0, u => u.ColumnNo == place.ColumnNo) + .WhereIf(place.LayerNo > 0, u => u.LayerNo == place.LayerNo) + .WhereIf(place.Islock > 0, u => u.Islock == place.Islock) + .WhereIf(place.EmptyContainer > 0, u => u.EmptyContainer == place.EmptyContainer) .Where(x => !x.IsDeleted) .WhereIf(!filter.IsNullOrWhiteSpace(), u => u.PlaceNo.Contains(filter)) .CountAsync(cancellationToken: GetCancellationToken(cancellationToken)); diff --git a/HIAWms/web/src/widgets/HIAWms/Models/Service/WmsMaterialDrawer.ts b/HIAWms/web/src/widgets/HIAWms/Models/Service/WmsMaterialDrawer.ts index f092a7e..a31f0fa 100644 --- a/HIAWms/web/src/widgets/HIAWms/Models/Service/WmsMaterialDrawer.ts +++ b/HIAWms/web/src/widgets/HIAWms/Models/Service/WmsMaterialDrawer.ts @@ -40,3 +40,19 @@ 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') +} diff --git a/HIAWms/web/src/widgets/WmsContainer/Controllers/WmsContainerDrawer.tsx b/HIAWms/web/src/widgets/WmsContainer/Controllers/WmsContainerDrawer.tsx index f7f5228..816c927 100644 --- a/HIAWms/web/src/widgets/WmsContainer/Controllers/WmsContainerDrawer.tsx +++ b/HIAWms/web/src/widgets/WmsContainer/Controllers/WmsContainerDrawer.tsx @@ -58,6 +58,7 @@ label: '鎵樼洏缂栧彿', prop: 'containerNo', el: 'input', + disabled: disabled, placeholder: '璇疯緭鍏ユ墭鐩樼紪鍙�', rules: [{ required: true, message: '鎵樼洏缂栧彿涓嶈兘涓虹┖', trigger: 'blur' }], }, diff --git a/HIAWms/web/src/widgets/WmsStoreInfo/Controllers/WmsAreaDrawer.ts b/HIAWms/web/src/widgets/WmsStoreInfo/Controllers/WmsAreaDrawer.ts index 335aeb0..4dec2af 100644 --- a/HIAWms/web/src/widgets/WmsStoreInfo/Controllers/WmsAreaDrawer.ts +++ b/HIAWms/web/src/widgets/WmsStoreInfo/Controllers/WmsAreaDrawer.ts @@ -5,6 +5,10 @@ import isEqual from 'lodash/isEqual' import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox' import { cloneDeep } from 'lodash' +import { + getWmsEnumData, + getStoreDataList, +} from '@/widgets/HIAWms/Models/Service/WmsMaterialDrawer' export const useWmsAreaDrawer = (props: any, ctx?: any) => { const wmsAreaDrawer = injectModel<WmsAreaDrawer>('wmsAreaDrawer') @@ -15,6 +19,7 @@ const formData = ref<Record<string, any>>({}) // ref const formRef = ref() + const disabled = ref(false) const current = computed(() => { return props.row || null @@ -35,6 +40,7 @@ label: '搴撳尯缂栧彿', prop: 'areaNo', el: 'input', + disabled: disabled, placeholder: '璇疯緭鍏ュ簱鍖虹紪鍙�', rules: [{ required: true, message: '搴撳尯缂栧彿涓嶈兘涓虹┖', trigger: 'blur' }], }, @@ -55,11 +61,7 @@ label: '搴撳尯鐘舵��', prop: 'areaStatus', el: 'select', - options: [ - { label: '鍚敤', value: 'Active' }, - { label: '绂佺敤', value: 'Inactive' }, - // 鏍规嵁瀹為檯鐨� AreaStatusEnum 娣诲姞鏇村閫夐」 - ], + options: [], placeholder: '璇烽�夋嫨搴撳尯鐘舵��', rules: [ { required: true, message: '搴撳尯鐘舵�佷笉鑳戒负绌�', trigger: 'change' }, @@ -69,11 +71,7 @@ label: '搴撳尯绫诲瀷', prop: 'areaType', el: 'select', - options: [ - { label: '瀛樺偍鍖�', value: 'Storage' }, - { label: '瑁呭嵏鍖�', value: 'Loading' }, - // 鏍规嵁瀹為檯鐨� AreaTypeEnum 娣诲姞鏇村閫夐」 - ], + options: [], placeholder: '璇烽�夋嫨搴撳尯绫诲瀷', rules: [ { required: true, message: '搴撳尯绫诲瀷涓嶈兘涓虹┖', trigger: 'change' }, @@ -82,7 +80,8 @@ { label: '浠撳簱浠g爜', prop: 'storeCode', - el: 'input', + el: 'select', + options: [], placeholder: '璇疯緭鍏ヤ粨搴撲唬鐮�', }, { @@ -173,10 +172,40 @@ }, } } + 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 updateFormStoreOptions = (propName: string, enumData: any[]) => { + const item = formItems.find((item) => item.prop === propName) + if (item && enumData) { + item.options = enumData.map((item) => ({ + label: item.StoreCode, + value: item.StoreName, + })) + } + } /** * 寮圭獥鎵撳紑鑾峰彇璇︽儏 */ const onOpen = async () => { + const areaStatusEnum = await getWmsEnumData({ + EnumName: 'AreaStatusEnum', + }) + updateFormItemOptions('areaStatus', areaStatusEnum) + + const areaTypeEnum = await getWmsEnumData({ + EnumName: 'AreaTypeEnum', + }) + updateFormItemOptions('areaType', areaTypeEnum) + + const storeList = await getStoreDataList() + updateFormItemOptions('storeCode', storeList) if (current.value) { const res = await wmsAreaDrawer.getWmsAreaDetail(current.value) @@ -191,8 +220,10 @@ remark: res.remark, // 澶囨敞 id: res.id, } + disabled.value = true updateCheckData() } else { + disabled.value = false formData.value = {} updateCheckData() } diff --git a/HIAWms/web/src/widgets/WmsStoreInfo/Controllers/WmsStoreDrawer.ts b/HIAWms/web/src/widgets/WmsStoreInfo/Controllers/WmsStoreDrawer.ts index 721dc84..4a4e453 100644 --- a/HIAWms/web/src/widgets/WmsStoreInfo/Controllers/WmsStoreDrawer.ts +++ b/HIAWms/web/src/widgets/WmsStoreInfo/Controllers/WmsStoreDrawer.ts @@ -15,6 +15,7 @@ const formData = ref<Record<string, any>>({}) // ref const formRef = ref() + const disabled = ref(false) const current = computed(() => { return props.row || null @@ -35,12 +36,13 @@ label: '浠撳簱浠g爜', prop: 'storeCode', el: 'input', + disabled: disabled, placeholder: '璇疯緭鍏ヤ粨搴撲唬鐮�', rules: [{ required: true, message: '浠撳簱浠g爜', trigger: 'blur' }], }, { label: '浠撳簱鍚嶇О', - prop: 'storeCode', + prop: 'storeName', el: 'input', placeholder: '璇疯緭鍏ヤ粨搴撳悕绉�', rules: [{ required: true, message: '浠撳簱鍚嶇О', trigger: 'blur' }], @@ -86,8 +88,8 @@ const onConfirm = async () => { await formRef.value?.validate() const data = { - name: formData.value.name, - code: formData.value.code, + storeName: formData.value.storeName, + storeCode: formData.value.storeCode, remark: formData.value.remark, sort: props.sort, } @@ -116,13 +118,15 @@ const res = await wmsStoreDrawer.getWmsStoreDetail(current.value) formData.value = { - name: res.name, - code: res.code, + storeName: res.storeName, + storeCode: res.storeCode, remark: res.remark, id: res.id, } + disabled.value = true updateCheckData() } else { + disabled.value = false formData.value = {} updateCheckData() } -- Gitblit v1.9.3