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