From 04db66bdb3d1fb89fb3ff2c3c2893c93a3802230 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周四, 08 5月 2025 19:03:05 +0800
Subject: [PATCH] 10、列表中,所有列需要配置width,建议等于160,如果是时间列,建议是200
---
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/templatedemo_web/src/widgets/WmsMaterial/Models/WmsMaterial.ts | 41
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/templatedemo_web/src/widgets/WmsMaterial/Controllers/WmsMaterial.ts | 275 +++++
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialController.cs | 34
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/templatedemo_web/src/widgets/WmsMaterial/type/type.d.ts | 45
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/templatedemo_web/src/widgets/WmsMaterial/Models/Service/WmsMaterial.ts | 30
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/templatedemo_web/src/widgets/WmsMaterial/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.module.scss | 3
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialRepository.cs | 10
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/templatedemo_web/src/widgets/WmsMaterial/Views/WmsMaterial.tsx | 80 +
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/templatedemo_web/src/widgets/WmsMaterial/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.tsx | 71 +
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/templatedemo_web/src/widgets/WmsMaterial/Views/config/WmsMaterial.json | 3
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/templatedemo_web/components.d.ts | 1
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialAppService.cs | 172 ++-
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/templatedemo_web/src/widgets/WmsMaterial/Views/Pages/WmsMaterial/WmsMaterial.module.scss | 113 ++
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms/Resources/Templates/WmsMaterial导出模板.xlsx | 0
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/templatedemo_web/src/widgets/WmsMaterial/index.ts | 14
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateOrUpdateDtoBase.cs | 30
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/templatedemo_web/src/widgets/WmsMaterial/Models/Service/WmsMaterialDrawer.ts | 34
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/GetWmsMaterialInput.cs | 72 +
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/templatedemo_web/src/config/menu.ts | 14
Weben_CMS专用代码生成器/Code/Utility/StructStrHelper.cs | 16
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsMaterialAutoMapperProfile.cs | 52
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/templatedemo_web/src/widgets/WmsMaterial/Models/WmsMaterialDrawer.ts | 44
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/templatedemo_web/src/widgets/WmsMaterial/Views/Pages/Dialog/WmsMaterialDrawer/WmsMaterialDrawer.module.scss | 3
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialDto.cs | 60
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/templatedemo_web/src/widgets/WmsMaterial/Views/Pages/WmsMaterial/WmsMaterial.tsx | 373 +++++++
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/templatedemo_web/src/widgets/WmsMaterial/Controllers/File.ts | 31
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/templatedemo_web/src/widgets/WmsMaterial/Views/WmsMaterial.module.scss | 7
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialExportModel.cs | 31
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/templatedemo_web/src/widgets/WmsMaterial/Controllers/WmsMaterialDrawer.tsx | 427 +++++++++
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/templatedemo_web/src/widgets/WmsMaterial/Models/Service/WmsMaterialQueryDrawer.ts | 35
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/templatedemo_web/src/widgets/WmsMaterial/Models/WmsMaterialQueryDrawer.ts | 44
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/templatedemo_web/src/widgets/WmsMaterial/Views/Pages/WmsMaterial/Config.ts | 132 ++
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/templatedemo_web/src/widgets/WmsMaterial/Views/Pages/Dialog/WmsMaterialDrawer/WmsMaterialDrawer.tsx | 61 +
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/templatedemo_web/src/widgets/WmsMaterial/Controllers/WmsMaterialQueryDrawer.tsx | 427 +++++++++
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/templatedemo_web/src/widgets/WmsMaterial/enum.ts | 15
35 files changed, 2,647 insertions(+), 153 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/Code/Utility/StructStrHelper.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Utility/StructStrHelper.cs"
index 086c554..1eef254 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Utility/StructStrHelper.cs"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Utility/StructStrHelper.cs"
@@ -2292,6 +2292,22 @@
sb.Append(" field: '" + lowerCaseColumnName + "', \n");
}
sb.Append(" title: '" + columnModel.Description + "', \n");
+ //鑾峰彇鏁版嵁绫诲瀷
+ //璁剧疆瀹藉害
+ DataTypeEnum enumDT = (DataTypeEnum)Enum.Parse(typeof(DataTypeEnum), "dt_" + columnModel.DataType.ToString());
+ switch (enumDT)
+ {
+ case DataTypeEnum.dt_datetime:
+ sb.Append(" width:180, \n");
+ break;
+ case DataTypeEnum.dt_bit:
+ case DataTypeEnum.dt_tinyint:
+ sb.Append(" width:80, \n");
+ break;
+ default:
+ sb.Append(" width:160, \n");
+ break;
+ }
sb.Append("}, \n");
}
//鍘绘帀鏈�鍚庝竴涓�,
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/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 b097042..8319228 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"
@@ -234,7 +234,7 @@
public SearchFilterModeEnum IsDisabled_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;
/// <summary>
- ///
+ /// 鍒涘缓鏃堕棿
/// </summary>
//琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规��
[HighSearchRangeAttribute]
@@ -242,17 +242,17 @@
/// <summary>
- ///
+ /// 鍒涘缓浜篒D
/// </summary>
public string CreatorId { get; set; }
/// <summary>
- /// -鏌ヨ鍏崇郴杩愮畻绗�
+ /// 鍒涘缓浜篒D-鏌ヨ鍏崇郴杩愮畻绗�
/// </summary>
public SearchFilterModeEnum CreatorId_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
/// <summary>
- ///
+ /// 淇敼鏃堕棿
/// </summary>
//琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规��
[HighSearchRangeAttribute]
@@ -260,42 +260,92 @@
/// <summary>
- ///
+ /// 淇敼浜篒D
/// </summary>
public string LastModifierId { get; set; }
/// <summary>
- /// -鏌ヨ鍏崇郴杩愮畻绗�
+ /// 淇敼浜篒D-鏌ヨ鍏崇郴杩愮畻绗�
/// </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>
- ///
+ /// 鍒犻櫎浜篒D
/// </summary>
public string DeleterId { get; set; }
/// <summary>
- /// -鏌ヨ鍏崇郴杩愮畻绗�
+ /// 鍒犻櫎浜篒D-鏌ヨ鍏崇郴杩愮畻绗�
/// </summary>
public SearchFilterModeEnum DeleterId_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
/// <summary>
- ///
+ /// 鍒犻櫎鏃堕棿
/// </summary>
//琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规��
[HighSearchRangeAttribute]
public List<string> DeletionTime { get; set; }
+ /// <summary>
+ /// 鍒涘缓浜�
+ /// </summary>
+ public string CreatorName { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓浜�-鏌ヨ鍏崇郴杩愮畻绗�
+ /// </summary>
+ public SearchFilterModeEnum CreatorName_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+
+ /// <summary>
+ /// 淇敼浜�
+ /// </summary>
+ public string LastModifierName { get; set; }
+
+ /// <summary>
+ /// 淇敼浜�-鏌ヨ鍏崇郴杩愮畻绗�
+ /// </summary>
+ public SearchFilterModeEnum LastModifierName_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+
+ /// <summary>
+ /// 鎵╁睍瀛楁1
+ /// </summary>
+ public string ExtraField1 { get; set; }
+
+ /// <summary>
+ /// 鎵╁睍瀛楁1-鏌ヨ鍏崇郴杩愮畻绗�
+ /// </summary>
+ public SearchFilterModeEnum ExtraField1_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+
+ /// <summary>
+ /// 鎵╁睍瀛楁2
+ /// </summary>
+ public string ExtraField2 { get; set; }
+
+ /// <summary>
+ /// 鎵╁睍瀛楁2-鏌ヨ鍏崇郴杩愮畻绗�
+ /// </summary>
+ public SearchFilterModeEnum ExtraField2_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+
+ /// <summary>
+ /// 鎵╁睍瀛楁3
+ /// </summary>
+ public string ExtraField3 { get; set; }
+
+ /// <summary>
+ /// 鎵╁睍瀛楁3-鏌ヨ鍏崇郴杩愮畻绗�
+ /// </summary>
+ public SearchFilterModeEnum ExtraField3_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/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 136291a..9dfd47c 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,5 @@
using CMS.Plugin.HIAWms.Domain.Shared.Enums;
+using System;
using Volo.Abp.Application.Dtos;
namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial;
@@ -104,15 +105,40 @@
public bool? IsDisabled { get; set; }
/// <summary>
- ///
+ /// 鍒涘缓浜篒D
/// </summary>
public string? CreatorId { get; set; }
/// <summary>
- ///
+ /// 淇敼浜篒D
/// </summary>
public string? LastModifierId { get; set; }
+ /// <summary>
+ /// 鍒涘缓浜�
+ /// </summary>
+ public string? CreatorName { get; set; }
+
+ /// <summary>
+ /// 淇敼浜�
+ /// </summary>
+ public string? LastModifierName { get; set; }
+
+ /// <summary>
+ /// 鎵╁睍瀛楁1
+ /// </summary>
+ public string? ExtraField1 { get; set; }
+
+ /// <summary>
+ /// 鎵╁睍瀛楁2
+ /// </summary>
+ public string? ExtraField2 { get; set; }
+
+ /// <summary>
+ /// 鎵╁睍瀛楁3
+ /// </summary>
+ public string? ExtraField3 { get; set; }
+
/// <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/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 f67f983..51e0ed7 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,5 @@
using CMS.Plugin.HIAWms.Domain.Shared.Enums;
+using CmsQueryExtensions;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Data;
using Volo.Abp.Domain.Entities;
@@ -127,9 +128,19 @@
public int Sort { get; set; }
/// <summary>
+ /// 鎵╁睍灞炴��
+ /// </summary>
+ public ExtraPropertyDictionary? ExtraProperties { get; set; }
+
+ /// <summary>
/// 澶囨敞
/// </summary>
public string? Remark { get; set; }
+
+ /// <summary>
+ /// 骞跺彂鎴�
+ /// </summary>
+ public string? ConcurrencyStamp { get; set; }
/// <summary>
/// 鏄惁绂佺敤
@@ -137,50 +148,65 @@
public bool? IsDisabled { get; set; }
/// <summary>
- ///
- /// </summary>
- public ExtraPropertyDictionary? ExtraProperties { get; set; }
-
- /// <summary>
- ///
- /// </summary>
- public string? ConcurrencyStamp { get; set; }
-
- /// <summary>
- ///
+ /// 鍒涘缓鏃堕棿
/// </summary>
public DateTime CreationTime { get; set; }
/// <summary>
- ///
+ /// 鍒涘缓浜篒D
/// </summary>
public string? CreatorId { get; set; }
/// <summary>
- ///
+ /// 淇敼鏃堕棿
/// </summary>
public DateTime? LastModificationTime { get; set; }
/// <summary>
- ///
+ /// 淇敼浜篒D
/// </summary>
public string? LastModifierId { get; set; }
/// <summary>
- ///
+ /// 鏄惁鍒犻櫎
/// </summary>
public bool IsDeleted { get; set; }
/// <summary>
- ///
+ /// 鍒犻櫎浜篒D
/// </summary>
public string? DeleterId { get; set; }
/// <summary>
- ///
+ /// 鍒犻櫎鏃堕棿
/// </summary>
public DateTime? DeletionTime { get; set; }
+ /// <summary>
+ /// 鍒涘缓浜�
+ /// </summary>
+ public string? CreatorName { get; set; }
+
+ /// <summary>
+ /// 淇敼浜�
+ /// </summary>
+ public string? LastModifierName { get; set; }
+
+ /// <summary>
+ /// 鎵╁睍瀛楁1
+ /// </summary>
+ public string? ExtraField1 { get; set; }
+
+ /// <summary>
+ /// 鎵╁睍瀛楁2
+ /// </summary>
+ public string? ExtraField2 { get; set; }
+
+ /// <summary>
+ /// 鎵╁睍瀛楁3
+ /// </summary>
+ public string? ExtraField3 { get; set; }
+
/// <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/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 c75b208..0b08f4d 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,5 +1,6 @@
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.WmsMaterial;
@@ -123,6 +124,36 @@
[ExcelColumn(Name = "鏄惁绂佺敤", Width = 25)]
public bool? IsDisabled { get; set; }
+ /// <summary>
+ /// 鍒涘缓浜�
+ /// </summary>
+ [ExcelColumn(Name = "鍒涘缓浜�", Width = 25)]
+ public string CreatorName { get; set; }
+
+ /// <summary>
+ /// 淇敼浜�
+ /// </summary>
+ [ExcelColumn(Name = "淇敼浜�", Width = 25)]
+ public string LastModifierName { get; set; }
+
+ /// <summary>
+ /// 鎵╁睍瀛楁1
+ /// </summary>
+ [ExcelColumn(Name = "鎵╁睍瀛楁1", Width = 25)]
+ public string ExtraField1 { get; set; }
+
+ /// <summary>
+ /// 鎵╁睍瀛楁2
+ /// </summary>
+ [ExcelColumn(Name = "鎵╁睍瀛楁2", Width = 25)]
+ public string ExtraField2 { get; set; }
+
+ /// <summary>
+ /// 鎵╁睍瀛楁3
+ /// </summary>
+ [ExcelColumn(Name = "鎵╁睍瀛楁3", Width = 25)]
+ public string ExtraField3 { get; set; }
+
public Dictionary<string, object> GetExportData()
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 c51a507..51058cb 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,8 +1,7 @@
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;
-using CMS.Plugin.HIAWms.Domain.Shared.WmsMaterial;
+using CmsQueryExtensions;
using CMS.Plugin.HIAWms.Domain.WmsMaterial;
using CmsQueryExtensions.Extension;
using System.Linq.Expressions;
@@ -19,15 +18,15 @@
/// </summary>
public class WmsMaterialAppService : CMSPluginAppService, IWmsMaterialAppService
{
- private readonly IWmsMaterialRepository wmsmaterialsRepository;
+ private readonly IWmsMaterialRepository wmsMaterialRepository;
/// <summary>
/// Initializes a new instance of the <see cref="WmsMaterialAppService"/> class.
/// </summary>
/// <param name="WmsMaterialRepository">The task job repository.</param>
- public WmsMaterialAppService(IWmsMaterialRepository WmsMaterialRepository)
+ public WmsMaterialAppService(IWmsMaterialRepository _WmsMaterialRepository)
{
- wmsmaterialsRepository = WmsMaterialRepository;
+ wmsMaterialRepository = _WmsMaterialRepository;
}
/// <summary>
@@ -37,7 +36,7 @@
/// <returns></returns>
public virtual async Task<WmsMaterialDto> GetAsync(Guid id)
{
- return ObjectMapper.Map<WmsMaterial, WmsMaterialDto>(await wmsmaterialsRepository.GetAsync(id));
+ return ObjectMapper.Map<WmsMaterial, WmsMaterialDto>(await wmsMaterialRepository.GetAsync(id));
}
/// <summary>
@@ -61,8 +60,8 @@
#endregion
- var count = await wmsmaterialsRepository.GetCountAsync(whereConditions);
- var list = await wmsmaterialsRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount);
+ var count = await wmsMaterialRepository.GetCountAsync(whereConditions);
+ var list = await wmsMaterialRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount);
return new PagedResultDto<WmsMaterialDto>(count, ObjectMapper.Map<List<WmsMaterial>, List<WmsMaterialDto>>(list));
}
@@ -100,27 +99,25 @@
{
await CheckCreateOrUpdateDtoAsync(input);
- var exist = await wmsmaterialsRepository.NameExistAsync(input.MaterialCode);
+ var exist = await wmsMaterialRepository.NameExistAsync(input.MaterialCode);
if (exist)
{
throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.MaterialCode]);
}
- var maxSort = await wmsmaterialsRepository.GetMaxSortAsync();
+ var maxSort = await wmsMaterialRepository.GetMaxSortAsync();
var sort = input.Sort ?? maxSort;
var insertObj = ObjectMapper.Map<WmsMaterialCreateDto, WmsMaterial>(input);
insertObj.Sort = sort;
input.MapExtraPropertiesTo(insertObj, MappingPropertyDefinitionChecks.None);
-
-
- await wmsmaterialsRepository.InsertAsync(insertObj);
+ await wmsMaterialRepository.InsertAsync(insertObj);
- if (input.Sort.HasValue && insertObj.Sort != maxSort)
- {
- await AdjustSortAsync(insertObj.Id, insertObj.Sort);
- }
+ //if (input.Sort.HasValue && insertObj.Sort != maxSort)
+ //{
+ // await AdjustSortAsync(insertObj.Id, insertObj.Sort);
+ //}
return ObjectMapper.Map<WmsMaterial, WmsMaterialDto>(insertObj);
}
@@ -136,8 +133,8 @@
{
await CheckCreateOrUpdateDtoAsync(input);
- var updateObj = await wmsmaterialsRepository.GetAsync(id);
- var exist = await wmsmaterialsRepository.NameExistAsync(input.MaterialCode, updateObj.Id);
+ var updateObj = await wmsMaterialRepository.GetAsync(id);
+ var exist = await wmsMaterialRepository.NameExistAsync(input.MaterialCode, updateObj.Id);
if (exist)
{
throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.MaterialCode]);
@@ -164,9 +161,14 @@
updateObj.RedundantField3 = input.RedundantField3;
updateObj.Remark = input.Remark;
updateObj.IsDisabled = input.IsDisabled;
+ updateObj.CreatorName = input.CreatorName;
+ updateObj.LastModifierName = input.LastModifierName;
+ updateObj.ExtraField1 = input.ExtraField1;
+ updateObj.ExtraField2 = input.ExtraField2;
+ updateObj.ExtraField3 = input.ExtraField3;
- await wmsmaterialsRepository.UpdateAsync(updateObj);
+ await wmsMaterialRepository.UpdateAsync(updateObj);
return ObjectMapper.Map<WmsMaterial, WmsMaterialDto>(updateObj);
}
@@ -178,21 +180,21 @@
/// <returns></returns>
public async Task<List<WmsMaterialDto>> CloneAsync(IEnumerable<Guid> ids)
{
- //var wmsmaterialss = new List<WmsMaterial>();
+ //var wmsMaterials = new List<WmsMaterial>();
//if (ids != null)
//{
- // var sort = await wmsmaterialsRepository.GetMaxSortAsync();
+ // var sort = await wmsMaterialRepository.GetMaxSortAsync();
// foreach (var id in ids)
// {
- // var WmsMaterial = await wmsmaterialsRepository.FindAsync(id);
+ // var WmsMaterial = await wmsMaterialRepository.FindAsync(id);
// if (WmsMaterial != null)
// {
// var name = WmsMaterial.Name + WmsMaterialConsts.CloneTag;
// var notExist = false;
// while (!notExist)
// {
- // var exist = await wmsmaterialsRepository.NameExistAsync(name);
- // if (exist || wmsmaterialss.Any(x => x.Name == name))
+ // var exist = await wmsMaterialRepository.NameExistAsync(name);
+ // if (exist || wmsMaterials.Any(x => x.Name == name))
// {
// name += WmsMaterialConsts.CloneTag;
// continue;
@@ -201,13 +203,13 @@
// notExist = true;
// }
- // //WmsMaterial = await wmsmaterialsRepository.InsertAsync(WmsMaterial.Clone(GuidGenerator.Create(), name, sort++));
- // wmsmaterialss.Add(WmsMaterial);
+ // //WmsMaterial = await wmsMaterialRepository.InsertAsync(WmsMaterial.Clone(GuidGenerator.Create(), name, sort++));
+ // wmsMaterials.Add(WmsMaterial);
// }
// }
//}
- //return ObjectMapper.Map<List<WmsMaterial>, List<WmsMaterialDto>>(wmsmaterialss);
+ //return ObjectMapper.Map<List<WmsMaterial>, List<WmsMaterialDto>>(wmsMaterials);
return new List<WmsMaterialDto>();
}
@@ -218,7 +220,7 @@
/// <returns></returns>
public virtual Task DeleteAsync(Guid id)
{
- return wmsmaterialsRepository.DeleteAsync(id);
+ return wmsMaterialRepository.DeleteAsync(id);
}
/// <summary>
@@ -242,7 +244,7 @@
/// <returns></returns>
public virtual async Task AdjustSortAsync(Guid id, int sort)
{
- var list = await wmsmaterialsRepository.GetListAsync(null, nameof(WmsMaterial.Sort));
+ var list = await wmsMaterialRepository.GetListAsync(null, nameof(WmsMaterial.Sort));
if (list != null && list.Any())
{
var initSort = 1;
@@ -269,7 +271,7 @@
}
}
- await wmsmaterialsRepository.UpdateManyAsync(list);
+ await wmsMaterialRepository.UpdateManyAsync(list);
}
/// <summary>
@@ -282,8 +284,8 @@
{
Check.NotNull(input, nameof(input));
- var wmsmaterialsCreateDtos = new List<(int RowIndex, WmsMaterialCreateDto Item)>();
- var wmsmaterialsUpdateDtos = new List<(int RowIndex, Guid Id, WmsMaterialUpdateDto Item)>();
+ var wmsMaterialCreateDtos = new List<(int RowIndex, WmsMaterialCreateDto Item)>();
+ var wmsMaterialUpdateDtos = new List<(int RowIndex, Guid Id, WmsMaterialUpdateDto Item)>();
var importItems = input.WmsMaterials;
if (importItems != null && importItems.Any())
@@ -303,7 +305,7 @@
foreach (var impItem in importItems)
{
- if (impItem.MaterialCode.IsNullOrWhiteSpace() && impItem.MaterialName.IsNullOrWhiteSpace())
+ if (impItem.MaterialCode.IsNullOrWhiteSpace())
{
continue;
}
@@ -314,78 +316,98 @@
throw new UserFriendlyException(errorMsg);
}
- var oldWmsMaterial = await wmsmaterialsRepository.FindByNameAsync(impItem.MaterialCode);
+ var oldWmsMaterial = await wmsMaterialRepository.FindByNameAsync(impItem.MaterialCode);
if (oldWmsMaterial != null)
{
- var wmsmaterialsUpdateDto = new WmsMaterialUpdateDto
+ var wmsMaterialUpdateDto = new WmsMaterialUpdateDto
{
- MaterialCode = impItem.MaterialCode,
- MaterialName = impItem.MaterialName,
- PurchaseType = impItem.PurchaseType,
- MaterialType = impItem.MaterialType,
- PrimaryUnit = impItem.PrimaryUnit,
- Standard = impItem.Standard,
- OuterDiameter = impItem.OuterDiameter,
- WallThickness = impItem.WallThickness,
- MaterialQuality = impItem.MaterialQuality,
- Length = impItem.Length,
- IsMainBranch = impItem.IsMainBranch,
- Factory = impItem.Factory,
- Certification = impItem.Certification,
- Remark = impItem.Remark,
+ MaterialCode = impItem.MaterialCode,
+MaterialName = impItem.MaterialName,
+PurchaseType = impItem.PurchaseType,
+MaterialType = impItem.MaterialType,
+PrimaryUnit = impItem.PrimaryUnit,
+Standard = impItem.Standard,
+OuterDiameter = impItem.OuterDiameter,
+WallThickness = impItem.WallThickness,
+MaterialQuality = impItem.MaterialQuality,
+Length = impItem.Length,
+IsMainBranch = impItem.IsMainBranch,
+Factory = impItem.Factory,
+Certification = impItem.Certification,
+RedundantField1 = impItem.RedundantField1,
+RedundantField2 = impItem.RedundantField2,
+RedundantField3 = impItem.RedundantField3,
+Remark = impItem.Remark,
+IsDisabled = impItem.IsDisabled,
+CreatorName = impItem.CreatorName,
+LastModifierName = impItem.LastModifierName,
+ExtraField1 = impItem.ExtraField1,
+ExtraField2 = impItem.ExtraField2,
+ExtraField3 = impItem.ExtraField3,
+
};
- wmsmaterialsUpdateDtos.Add((impItem.RowIndex, oldWmsMaterial.Id, wmsmaterialsUpdateDto));
+ wmsMaterialUpdateDtos.Add((impItem.RowIndex, oldWmsMaterial.Id, wmsMaterialUpdateDto));
}
else
{
- var wmsmaterialsCreateDto = new WmsMaterialCreateDto
+ var wmsMaterialCreateDto = new WmsMaterialCreateDto
{
- MaterialCode = impItem.MaterialCode,
- MaterialName = impItem.MaterialName,
- PurchaseType = impItem.PurchaseType,
- MaterialType = impItem.MaterialType,
- PrimaryUnit = impItem.PrimaryUnit,
- Standard = impItem.Standard,
- OuterDiameter = impItem.OuterDiameter,
- WallThickness = impItem.WallThickness,
- MaterialQuality = impItem.MaterialQuality,
- Length = impItem.Length,
- IsMainBranch = impItem.IsMainBranch,
- Factory = impItem.Factory,
- Certification = impItem.Certification,
- Remark = impItem.Remark,
+ MaterialCode = impItem.MaterialCode,
+MaterialName = impItem.MaterialName,
+PurchaseType = impItem.PurchaseType,
+MaterialType = impItem.MaterialType,
+PrimaryUnit = impItem.PrimaryUnit,
+Standard = impItem.Standard,
+OuterDiameter = impItem.OuterDiameter,
+WallThickness = impItem.WallThickness,
+MaterialQuality = impItem.MaterialQuality,
+Length = impItem.Length,
+IsMainBranch = impItem.IsMainBranch,
+Factory = impItem.Factory,
+Certification = impItem.Certification,
+RedundantField1 = impItem.RedundantField1,
+RedundantField2 = impItem.RedundantField2,
+RedundantField3 = impItem.RedundantField3,
+Remark = impItem.Remark,
+IsDisabled = impItem.IsDisabled,
+CreatorName = impItem.CreatorName,
+LastModifierName = impItem.LastModifierName,
+ExtraField1 = impItem.ExtraField1,
+ExtraField2 = impItem.ExtraField2,
+ExtraField3 = impItem.ExtraField3,
+
};
- wmsmaterialsCreateDtos.Add((impItem.RowIndex, wmsmaterialsCreateDto));
+ wmsMaterialCreateDtos.Add((impItem.RowIndex, wmsMaterialCreateDto));
}
}
}
// 鏂板
- foreach (var wmsmaterialsDto in wmsmaterialsCreateDtos)
+ foreach (var wmsMaterialDto in wmsMaterialCreateDtos)
{
try
{
- await CreateAsync(wmsmaterialsDto.Item);
+ await CreateAsync(wmsMaterialDto.Item);
}
catch (Exception e)
{
- var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊wmsmaterialsDto.RowIndex}琛岋細{e.Message}锛岀粓姝㈠鍏�";
+ var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊wmsMaterialDto.RowIndex}琛岋細{e.Message}锛岀粓姝㈠鍏�";
throw new UserFriendlyException(errorMsg);
}
}
// 鏇存柊
- foreach (var wmsmaterialsDto in wmsmaterialsUpdateDtos)
+ foreach (var wmsMaterialDto in wmsMaterialUpdateDtos)
{
try
{
- await UpdateAsync(wmsmaterialsDto.Id, wmsmaterialsDto.Item);
+ await UpdateAsync(wmsMaterialDto.Id, wmsMaterialDto.Item);
}
catch (Exception e)
{
- var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊wmsmaterialsDto.RowIndex}琛岋細{e.Message}锛岀粓姝㈠鍏�";
+ var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊wmsMaterialDto.RowIndex}琛岋細{e.Message}锛岀粓姝㈠鍏�";
throw new UserFriendlyException(errorMsg);
}
}
@@ -413,7 +435,7 @@
#endregion
- var list = await wmsmaterialsRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount, includeDetails: true);
+ var list = await wmsMaterialRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount, includeDetails: true);
var result = ObjectMapper.Map<List<WmsMaterial>, List<WmsMaterialDto>>(list);
var sheets = new Dictionary<string, object>
@@ -421,7 +443,7 @@
["閰嶇疆"] = ExportHelper.ConvertListToExportData(result),
};
- var fileName = result.Count > 1 ? "WmsMaterial鍒楄〃" : result.Count == 1 ? result[0]?.MaterialCode : "WmsMaterial妯$増";
+ var fileName = result.Count > 1 ? "鐗╂枡鍩虹淇℃伅琛ㄥ垪琛�" : result.Count == 1 ? result[0]?.MaterialCode : "WmsMaterial妯$増";
return (sheets, fileName);
}
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/WmsMaterialAutoMapperProfile.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/WmsMaterialAutoMapperProfile.cs"
index a74d8b0..07c29b7 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/MapperProfiles/WmsMaterialAutoMapperProfile.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/WmsMaterialAutoMapperProfile.cs"
@@ -1,26 +1,26 @@
-using AutoMapper;
-using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial;
-using CMS.Plugin.HIAWms.Domain.WmsMaterial;
-using Volo.Abp.ObjectExtending;
-
-namespace CMS.Plugin.HIAWms.Application.MapperProfiles;
-
-/// <summary>
-/// AutoMapper閰嶇疆
-/// </summary>
-/// <seealso cref="AutoMapper.Profile" />
-public class WmsMaterialAutoMapperProfile : Profile
-{
- /// <summary>
- /// Initializes a new instance of the <see cref="WmsMaterialAutoMapperProfile"/> class.
- /// </summary>
- public WmsMaterialAutoMapperProfile()
- {
- /* You can configure your AutoMapper mapping configuration here.
- * Alternatively, you can split your mapping configurations
- * into multiple profile classes for a better organization. */
- CreateMap<WmsMaterial, WmsMaterialDto>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None);
- CreateMap<WmsMaterialCreateDto, WmsMaterial>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None);
- CreateMap<GetWmsMaterialInput, WmsMaterial>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None);
- }
-}
+using AutoMapper;
+using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial;
+using CMS.Plugin.HIAWms.Domain.WmsMaterial;
+using Volo.Abp.ObjectExtending;
+
+namespace CMS.Plugin.HIAWms.Application.MapperProfiles;
+
+/// <summary>
+/// 鐗╂枡鍩虹淇℃伅琛ˋutoMapper閰嶇疆
+/// </summary>
+/// <seealso cref="AutoMapper.Profile" />
+public class WmsMaterialAutoMapperProfile : Profile
+{
+ /// <summary>
+ /// Initializes a new instance of the <see cref="WmsMaterialAutoMapperProfile"/> class.
+ /// </summary>
+ public WmsMaterialAutoMapperProfile()
+ {
+ /* You can configure your AutoMapper mapping configuration here.
+ * Alternatively, you can split your mapping configurations
+ * into multiple profile classes for a better organization. */
+ CreateMap<WmsMaterial, WmsMaterialDto>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None);
+ CreateMap<WmsMaterialCreateDto, WmsMaterial>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None);
+ CreateMap<GetWmsMaterialInput, WmsMaterial>(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.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 73cd64c..5ea2588 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"
@@ -35,19 +35,19 @@
return await (await GetDbSetAsync())
.IncludeDetails()
.Where(x => !x.IsDeleted)
- .OrderBy(t => t.Sort)
+ .OrderByDescending(x=>x.CreationTime)
.FirstOrDefaultAsync(t => t.MaterialCode == name, GetCancellationToken(cancellationToken));
}
/// <summary>
/// 楠岃瘉鍚嶇О鏄惁瀛樺湪鐗╂枡鍩虹淇℃伅琛�
/// </summary>
- /// <param name="materialCode"></param>
+ /// <param name="name">鏍¢獙鍊�</param>
/// <param name="id"></param>
/// <returns></returns>
- public async Task<bool> NameExistAsync(string materialCode, Guid? id = null)
+ 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.MaterialCode == materialCode);
+ return await (await GetDbSetAsync()).WhereIf(id.HasValue, p => p.Id != id).Where(x => !x.IsDeleted).AnyAsync(x => x.MaterialCode == name);
}
/// <summary>
@@ -84,7 +84,7 @@
.IncludeDetails(includeDetails)
.WhereIf(whereConditions != null, whereConditions.data)
.Where(x => !x.IsDeleted)
- //.OrderBy(sorting.IsNullOrEmpty() ? nameof(WmsMaterial.Sort) : sorting)
+ .OrderByDescending(x=>x.CreationTime)
.PageBy(skipCount, maxResultCount)
.ToListAsync(GetCancellationToken(cancellationToken));
}
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 9060e10..8872c9b 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"
@@ -23,15 +23,15 @@
[Route("api/v{version:apiVersion}/HIAWms/[controller]")]
public class WmsMaterialController : ControllerBase
{
- private readonly IWmsMaterialAppService _wmsmaterialsAppService;
+ private readonly IWmsMaterialAppService _wmsMaterialAppService;
/// <summary>
/// Initializes a new instance of the <see cref="WmsMaterialController"/> class.
/// </summary>
- /// <param name="wmsmaterialsAppService">The wmsmaterials application service.</param>
- public WmsMaterialController(IWmsMaterialAppService wmsmaterialsAppService)
+ /// <param name="wmsMaterialAppService">The wmsMaterial application service.</param>
+ public WmsMaterialController(IWmsMaterialAppService wmsMaterialAppService)
{
- _wmsmaterialsAppService = wmsmaterialsAppService;
+ _wmsMaterialAppService = wmsMaterialAppService;
}
/// <summary>
@@ -43,7 +43,7 @@
[Route("{id}")]
public virtual Task<WmsMaterialDto> GetAsync(Guid id)
{
- return _wmsmaterialsAppService.GetAsync(id);
+ return _wmsMaterialAppService.GetAsync(id);
}
/// <summary>
@@ -55,7 +55,7 @@
[Route("Page")]
public virtual Task<PagedResultDto<WmsMaterialDto>> GetListAsync([FromQuery] GetWmsMaterialInput input)
{
- return _wmsmaterialsAppService.GetListAsync(input);
+ return _wmsMaterialAppService.GetListAsync(input);
}
/// <summary>
@@ -67,7 +67,7 @@
[HttpPost]
public virtual Task<WmsMaterialDto> CreateAsync(WmsMaterialCreateDto input)
{
- return _wmsmaterialsAppService.CreateAsync(input);
+ return _wmsMaterialAppService.CreateAsync(input);
}
/// <summary>
@@ -81,7 +81,7 @@
[Route("{id}")]
public virtual Task<WmsMaterialDto> UpdateAsync(Guid id, WmsMaterialUpdateDto input)
{
- return _wmsmaterialsAppService.UpdateAsync(id, input);
+ return _wmsMaterialAppService.UpdateAsync(id, input);
}
/// <summary>
@@ -94,7 +94,7 @@
[Route("Clone")]
public virtual Task<List<WmsMaterialDto>> CloneAsync([FromBody] IEnumerable<Guid> ids)
{
- return _wmsmaterialsAppService.CloneAsync(ids);
+ return _wmsMaterialAppService.CloneAsync(ids);
}
/// <summary>
@@ -107,7 +107,7 @@
[Route("{id}")]
public virtual Task DeleteAsync(Guid id)
{
- return _wmsmaterialsAppService.DeleteAsync(id);
+ return _wmsMaterialAppService.DeleteAsync(id);
}
/// <summary>
@@ -119,7 +119,7 @@
[HttpDelete]
public virtual Task DeleteAsync([FromBody] IEnumerable<Guid> ids)
{
- return _wmsmaterialsAppService.DeleteManyAsync(ids);
+ return _wmsMaterialAppService.DeleteManyAsync(ids);
}
/// <summary>
@@ -131,7 +131,7 @@
[Route("{id}/AdjustSort/{sort}")]
public virtual Task AdjustSortAsync(Guid id, int sort)
{
- return _wmsmaterialsAppService.AdjustSortAsync(id, sort);
+ return _wmsMaterialAppService.AdjustSortAsync(id, sort);
}
/// <summary>
@@ -148,16 +148,16 @@
stream.Seek(0L, SeekOrigin.Begin);
var sheetNames = stream.GetSheetNames();
- var wmsmaterialsRows = sheetNames.Contains("閰嶇疆") ? MiniExcel.Query<WmsMaterialsImportModel.WmsMaterialImportModel>(stream, sheetName: "閰嶇疆").ToList() : new();
+ var wmsMaterialRows = sheetNames.Contains("閰嶇疆") ? MiniExcel.Query<WmsMaterialsImportModel.WmsMaterialImportModel>(stream, sheetName: "閰嶇疆").ToList() : new();
- if (!wmsmaterialsRows.Any())
+ if (!wmsMaterialRows.Any())
{
throw new UserFriendlyException("璇锋鏌ュ鍏ョ殑琛ㄦ牸");
}
- await _wmsmaterialsAppService.ImportAsync(new WmsMaterialsImportModel
+ await _wmsMaterialAppService.ImportAsync(new WmsMaterialsImportModel
{
- WmsMaterials = wmsmaterialsRows,
+ WmsMaterials = wmsMaterialRows,
});
return Ok();
@@ -172,7 +172,7 @@
public virtual async Task<IActionResult> ExportAsync([FromQuery] GetWmsMaterialInput input)
{
input.MaxResultCount = int.MaxValue;
- var exportData = await _wmsmaterialsAppService.ExportAsync(input);
+ var exportData = await _wmsMaterialAppService.ExportAsync(input);
var templatePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $"Resources/Templates/WmsMaterial瀵煎嚭妯℃澘.xlsx");
if (!System.IO.File.Exists(templatePath))
{
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/Resources/Templates/WmsMaterial\345\257\274\345\207\272\346\250\241\346\235\277.xlsx" "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/Resources/Templates/WmsMaterial\345\257\274\345\207\272\346\250\241\346\235\277.xlsx"
index 16a561b..d0f2d3d 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/Resources/Templates/WmsMaterial\345\257\274\345\207\272\346\250\241\346\235\277.xlsx"
+++ "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/Resources/Templates/WmsMaterial\345\257\274\345\207\272\346\250\241\346\235\277.xlsx"
Binary files differ
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/templatedemo_web/components.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/templatedemo_web/components.d.ts"
index d7ad7c9..988c7da 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/templatedemo_web/components.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/templatedemo_web/components.d.ts"
@@ -24,6 +24,7 @@
ElCollapse: typeof import('element-plus/es')['ElCollapse']
ElCollapseItem: typeof import('element-plus/es')['ElCollapseItem']
ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider']
+ ElDatePicker: typeof import('element-plus/es')['ElDatePicker']
ElDialog: typeof import('element-plus/es')['ElDialog']
ElDivider: typeof import('element-plus/es')['ElDivider']
ElDrawer: typeof import('element-plus/es')['ElDrawer']
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/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/templatedemo_web/src/config/menu.ts"
index bb14372..ed2626a 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/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/templatedemo_web/src/config/menu.ts"
@@ -7,6 +7,13 @@
"notPage": false
},
{
+ "name": "鐗╂枡淇℃伅",
+ "path": "/information-base/WmsMaterial",
+ "patchName": "WmsMaterial",
+ "icon": "p",
+ "notPage": false
+ },
+ {
"name": "鍑哄叆搴撹褰�",
"path": "/information-base/WmsInOutStockRecord",
"patchName": "WmsInOutStockRecord",
@@ -43,6 +50,13 @@
"icon": "p",
"notPage": false
},
+ "WmsMaterial": {
+ "name": "鐗╂枡淇℃伅",
+ "path": "/information-base/WmsMaterial",
+ "patchName": "WmsMaterial",
+ "icon": "p",
+ "notPage": false
+ },
"WmsInOutStockRecord": {
"name": "鍑哄叆搴撹褰�",
"path": "/information-base/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/templatedemo_web/src/widgets/WmsMaterial/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/templatedemo_web/src/widgets/WmsMaterial/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/templatedemo_web/src/widgets/WmsMaterial/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/templatedemo_web/src/widgets/WmsMaterial/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/templatedemo_web/src/widgets/WmsMaterial/Controllers/WmsMaterial.ts"
new file mode 100644
index 0000000..77bd910
--- /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/templatedemo_web/src/widgets/WmsMaterial/Controllers/WmsMaterial.ts"
@@ -0,0 +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: { materialCode: string }) => item.materialCode)
+ ConfirmBox(
+ `鏄惁鍒犻櫎${names.length ? names.join(',') : c.row.materialCode}`
+ ).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, 'wmsMaterial')
+ }
+
+ /**
+ * 鍏抽敭瀛楁悳绱�
+ */
+ 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/templatedemo_web/src/widgets/WmsMaterial/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/templatedemo_web/src/widgets/WmsMaterial/Controllers/WmsMaterialDrawer.tsx"
new file mode 100644
index 0000000..9c2a023
--- /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/templatedemo_web/src/widgets/WmsMaterial/Controllers/WmsMaterialDrawer.tsx"
@@ -0,0 +1,427 @@
+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 datePicker = (attrs) => {
+ return (
+ <el-date-picker
+ type="date"
+ format="YYYY-MM-DD HH:mm:ss"
+ formatValue="YYYY-MM-DD HH:mm:ss"
+ {...attrs}
+ ></el-date-picker>
+ )
+ }
+ const inputNumber = (attrs) => {
+ return (
+ <el-input-number
+ min="1"
+ step="1"
+ precision="0"
+ {...attrs}
+ ></el-input-number>
+ )
+ }
+
+ const dateTimePicker = (attrs) => {
+ return (
+ <el-date-picker
+ type="datetime"
+ format="YYYY-MM-DD HH:mm:ss"
+ formatValue="YYYY-MM-DD HH:mm:ss"
+ {...attrs}
+ ></el-date-picker>
+ )
+ }
+
+ 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',
+ options: [],
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ラ噰璐被鍨嬶紙鏋氫妇鍊硷級',
+ rules: [{required: true, message: '閲囪喘绫诲瀷锛堟灇涓惧�硷級涓嶈兘涓虹┖', trigger: 'blur' }],
+ },
+ {
+ label: '鐗╂枡绫诲瀷锛堟灇涓惧�硷級',
+ prop: 'materialType',
+ el: 'select',
+ options: [],
+ //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,
+ })
+ },
+ width: '100%',
+ 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,
+ })
+ },
+ width: '100%',
+ 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,
+ })
+ },
+ width: '100%',
+ step: 0.01,
+ precision: 2,
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ラ暱搴︼紙鍗曚綅锛歮锛�',
+ rules: [{required: true, message: '闀垮害锛堝崟浣嶏細m锛変笉鑳戒负绌�', trigger: 'blur' }],
+ },
+ {
+ label: '鏄惁涓轰富鏀',
+ prop: 'isMainBranch',
+ el: 'select',
+ options: [],
+ //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: 'creatorName',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ垱寤轰汉',
+ },
+ {
+ label: '淇敼浜�',
+ prop: 'lastModifierName',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ヤ慨鏀逛汉',
+ },
+ {
+ label: '澶囨敞',
+ prop: 'remark',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ娉�',
+ },
+ {
+ label: '鎵╁睍瀛楁1',
+ prop: 'extraField1',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ユ墿灞曞瓧娈�1',
+ },
+ {
+ label: '鎵╁睍瀛楁2',
+ prop: 'extraField2',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ユ墿灞曞瓧娈�2',
+ },
+ {
+ label: '鎵╁睍瀛楁3',
+ prop: 'extraField3',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ユ墿灞曞瓧娈�3',
+ },
+ ])
+ /**
+ * 鏍¢獙鏄惁鏈夋暟鎹彉鍖�
+ */
+ const checkIsEqualObject = () => {
+ const data = {
+ formData: formData.value,
+ }
+ const check = isEqual(initiateData.value, data)
+ return check
+ }
+
+ const onClose = (done: () => void) => {
+ if (visible.value) {
+ if (checkIsEqualObject()) {
+ visible.value = false
+ done && done()
+ } else {
+ ConfirmBox('鏄惁淇濆瓨璁剧疆锛�')
+ .then(() => {
+ onConfirm()
+ })
+ .catch(() => {
+ visible.value = false
+ done && done()
+ })
+ }
+ }
+ }
+ /**
+ * 淇濆瓨
+ */
+ const onConfirm = async () => {
+ await formRef.value?.validate()
+ const data = {
+ 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,
+creatorName: formData.value.creatorName,
+lastModifierName: formData.value.lastModifierName,
+remark: formData.value.remark,
+extraField1: formData.value.extraField1,
+extraField2: formData.value.extraField2,
+extraField3: formData.value.extraField3,
+ }
+ 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,
+creatorName: res.creatorName,
+lastModifierName: res.lastModifierName,
+remark: res.remark,
+extraField1: res.extraField1,
+extraField2: res.extraField2,
+extraField3: res.extraField3,
+ 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/templatedemo_web/src/widgets/WmsMaterial/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/templatedemo_web/src/widgets/WmsMaterial/Controllers/WmsMaterialQueryDrawer.tsx"
new file mode 100644
index 0000000..e629cb1
--- /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/templatedemo_web/src/widgets/WmsMaterial/Controllers/WmsMaterialQueryDrawer.tsx"
@@ -0,0 +1,427 @@
+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 datePickerRange = (attrs) => {
+ return (
+ <el-date-picker
+ type="daterange"
+ value-format="YYYY-MM-DD HH:mm:ss"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡"
+ {...attrs}
+ ></el-date-picker>
+ )
+ }
+
+ const dateTimePickerRange = (attrs) => {
+ return (
+ <el-date-picker
+ type="datetimerange"
+ value-format="YYYY-MM-DD HH:mm:ss"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡"
+ {...attrs}
+ ></el-date-picker>
+ )
+ }
+
+ const visible = computed({
+ get() {
+ return props.modelValue
+ },
+ set(val) {
+ ctx.emit('update:modelValue', val)
+ },
+ })
+ /**
+ * 娣诲姞鐨刦orm瀛楁
+ */
+ const formItems = reactive([
+ {
+ label: '鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�',
+ prop: 'materialCode',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ョ墿鏂欑紪鐮侊紙鍞竴鏍囪瘑锛�',
+ },
+ {
+ label: '鐗╂枡鍚嶇О',
+ prop: 'materialName',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ョ墿鏂欏悕绉�',
+ },
+ {
+ label: '閲囪喘绫诲瀷锛堟灇涓惧�硷級',
+ prop: 'purchaseType',
+ el: 'select',
+ option: [],
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ラ噰璐被鍨嬶紙鏋氫妇鍊硷級',
+ },
+ {
+ label: '鐗╂枡绫诲瀷锛堟灇涓惧�硷級',
+ prop: 'materialType',
+ el: 'select',
+ option: [],
+ //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,
+ })
+ },
+ width: '100%',
+ 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,
+ })
+ },
+ width: '100%',
+ 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,
+ })
+ },
+ width: '100%',
+ step: 0.01,
+ precision: 2,
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ラ暱搴︼紙鍗曚綅锛歮锛�',
+ },
+ {
+ label: '鏄惁涓轰富鏀',
+ prop: 'isMainBranch',
+ el: 'select',
+ option: [],
+ //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: 'creationTime',
+ el: (props: any, { attrs }: SetupContext) => {
+ return h(dateTimePickerRange, {
+ ...props,
+ clearable: true,
+ ...attrs,
+ })
+ },
+ width: '100%',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ垱寤烘椂闂�',
+ },
+ {
+ label: '鍒涘缓浜�',
+ prop: 'creatorName',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ垱寤轰汉',
+ },
+ {
+ label: '淇敼浜�',
+ prop: 'lastModifierName',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ヤ慨鏀逛汉',
+ },
+ {
+ label: '澶囨敞',
+ prop: 'remark',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ娉�',
+ },
+ {
+ label: '鏄惁绂佺敤',
+ prop: 'isDisabled',
+ el: 'select',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ユ槸鍚︾鐢�',
+ options: [{label: '鏄�',value: true}, {label: '鍚�',value: false}]
+ },
+ {
+ label: '鎵╁睍瀛楁1',
+ prop: 'extraField1',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ユ墿灞曞瓧娈�1',
+ },
+ {
+ label: '鎵╁睍瀛楁2',
+ prop: 'extraField2',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ユ墿灞曞瓧娈�2',
+ },
+ {
+ label: '鎵╁睍瀛楁3',
+ prop: 'extraField3',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ユ墿灞曞瓧娈�3',
+ },
+ ])
+ /**
+ * 鏍¢獙鏄惁鏈夋暟鎹彉鍖�
+ */
+ 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 || '',
+creationTime: formData.value.creationTime || '',
+creatorName: formData.value.creatorName || '',
+lastModifierName: formData.value.lastModifierName || '',
+remark: formData.value.remark || '',
+isDisabled: formData.value.isDisabled || '',
+extraField1: formData.value.extraField1 || '',
+extraField2: formData.value.extraField2 || '',
+extraField3: formData.value.extraField3 || '',
+ }
+ 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.CreatorName = ''
+formData.value.LastModifierName = ''
+formData.value.Remark = ''
+formData.value.ExtraField1 = ''
+formData.value.ExtraField2 = ''
+formData.value.ExtraField3 = ''
+ //鍚戠埗缁勪欢鍙戦�佽嚜瀹氫箟浜嬩欢
+ 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/templatedemo_web/src/widgets/WmsMaterial/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/templatedemo_web/src/widgets/WmsMaterial/Models/Service/WmsMaterial.ts"
new file mode 100644
index 0000000..ee101f4
--- /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/templatedemo_web/src/widgets/WmsMaterial/Models/Service/WmsMaterial.ts"
@@ -0,0 +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)
+}
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/templatedemo_web/src/widgets/WmsMaterial/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/templatedemo_web/src/widgets/WmsMaterial/Models/Service/WmsMaterialDrawer.ts"
new file mode 100644
index 0000000..2f46cae
--- /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/templatedemo_web/src/widgets/WmsMaterial/Models/Service/WmsMaterialDrawer.ts"
@@ -0,0 +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/WareCmsUtilityApi/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/templatedemo_web/src/widgets/WmsMaterial/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/templatedemo_web/src/widgets/WmsMaterial/Models/Service/WmsMaterialQueryDrawer.ts"
new file mode 100644
index 0000000..8302c94
--- /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/templatedemo_web/src/widgets/WmsMaterial/Models/Service/WmsMaterialQueryDrawer.ts"
@@ -0,0 +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/WareCmsUtilityApi/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/templatedemo_web/src/widgets/WmsMaterial/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/templatedemo_web/src/widgets/WmsMaterial/Models/WmsMaterial.ts"
new file mode 100644
index 0000000..faa9d62
--- /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/templatedemo_web/src/widgets/WmsMaterial/Models/WmsMaterial.ts"
@@ -0,0 +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)
+ }
+}
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/templatedemo_web/src/widgets/WmsMaterial/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/templatedemo_web/src/widgets/WmsMaterial/Models/WmsMaterialDrawer.ts"
new file mode 100644
index 0000000..2129a69
--- /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/templatedemo_web/src/widgets/WmsMaterial/Models/WmsMaterialDrawer.ts"
@@ -0,0 +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)
+ }
+}
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/templatedemo_web/src/widgets/WmsMaterial/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/templatedemo_web/src/widgets/WmsMaterial/Models/WmsMaterialQueryDrawer.ts"
new file mode 100644
index 0000000..ca0ed17
--- /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/templatedemo_web/src/widgets/WmsMaterial/Models/WmsMaterialQueryDrawer.ts"
@@ -0,0 +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)
+ }
+}
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/templatedemo_web/src/widgets/WmsMaterial/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/templatedemo_web/src/widgets/WmsMaterial/Views/Pages/Dialog/WmsMaterialDrawer/WmsMaterialDrawer.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/templatedemo_web/src/widgets/WmsMaterial/Views/Pages/Dialog/WmsMaterialDrawer/WmsMaterialDrawer.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/templatedemo_web/src/widgets/WmsMaterial/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/templatedemo_web/src/widgets/WmsMaterial/Views/Pages/Dialog/WmsMaterialDrawer/WmsMaterialDrawer.tsx"
new file mode 100644
index 0000000..e24b256
--- /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/templatedemo_web/src/widgets/WmsMaterial/Views/Pages/Dialog/WmsMaterialDrawer/WmsMaterialDrawer.tsx"
@@ -0,0 +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>
+ )
+ },
+})
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/templatedemo_web/src/widgets/WmsMaterial/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/templatedemo_web/src/widgets/WmsMaterial/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.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/templatedemo_web/src/widgets/WmsMaterial/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.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/templatedemo_web/src/widgets/WmsMaterial/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/templatedemo_web/src/widgets/WmsMaterial/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.tsx"
new file mode 100644
index 0000000..df1e463
--- /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/templatedemo_web/src/widgets/WmsMaterial/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.tsx"
@@ -0,0 +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>
+ )
+ },
+})
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/templatedemo_web/src/widgets/WmsMaterial/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/templatedemo_web/src/widgets/WmsMaterial/Views/Pages/WmsMaterial/Config.ts"
new file mode 100644
index 0000000..fc2084a
--- /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/templatedemo_web/src/widgets/WmsMaterial/Views/Pages/WmsMaterial/Config.ts"
@@ -0,0 +1,132 @@
+export const columns = [
+ {
+ type: 'seq',
+ width: 60,
+ title: '搴忓彿',
+ },
+ {
+ field: 'materialCode',
+ title: '鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�',
+ width:160,
+},
+{
+ field: 'materialName',
+ title: '鐗╂枡鍚嶇О',
+ width:160,
+},
+{
+ field: 'purchaseTypeDesc',
+ title: '閲囪喘绫诲瀷锛堟灇涓惧�硷級',
+ width:160,
+},
+{
+ field: 'materialTypeDesc',
+ title: '鐗╂枡绫诲瀷锛堟灇涓惧�硷級',
+ width:160,
+},
+{
+ field: 'primaryUnit',
+ title: '涓诲崟浣嶏紙濡傦細kg銆乵銆佷釜锛�',
+ width:160,
+},
+{
+ field: 'standard',
+ title: '瑙勬牸/鏍囧噯锛堝锛欸B/T 8163-2018锛�',
+ width:160,
+},
+{
+ field: 'outerDiameter',
+ title: '澶栧緞锛堝崟浣嶏細mm锛�',
+ width:160,
+},
+{
+ field: 'wallThickness',
+ title: '澹佸帤锛堝崟浣嶏細mm锛�',
+ width:160,
+},
+{
+ field: 'materialQuality',
+ title: '鏉愯川锛堝锛�304涓嶉攬閽級',
+ width:160,
+},
+{
+ field: 'length',
+ title: '闀垮害锛堝崟浣嶏細m锛�',
+ width:160,
+},
+{
+ field: 'isMainBranchDesc',
+ title: '鏄惁涓轰富鏀',
+ width:160,
+},
+{
+ field: 'factory',
+ title: '鐢熶骇宸ュ巶',
+ width:160,
+},
+{
+ field: 'certification',
+ title: '璇佷功缂栧彿',
+ width:160,
+},
+{
+ field: 'redundantField1',
+ title: '鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��',
+ width:160,
+},
+{
+ field: 'redundantField2',
+ title: '鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��',
+ width:160,
+},
+{
+ field: 'redundantField3',
+ title: '鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��',
+ width:160,
+},
+{
+ field: 'creationTime',
+ title: '鍒涘缓鏃堕棿',
+ width:180,
+},
+{
+ field: 'deletionTime',
+ title: '鍒犻櫎鏃堕棿',
+ width:180,
+},
+{
+ field: 'creatorName',
+ title: '鍒涘缓浜�',
+ width:160,
+},
+{
+ field: 'lastModifierName',
+ title: '淇敼浜�',
+ width:160,
+},
+{
+ field: 'sort',
+ title: '鎺掑簭',
+ width:160,
+},
+{
+ field: 'remark',
+ title: '澶囨敞',
+ width:160,
+},
+{
+ field: 'extraField1',
+ title: '鎵╁睍瀛楁1',
+ width:160,
+},
+{
+ field: 'extraField2',
+ title: '鎵╁睍瀛楁2',
+ width:160,
+},
+{
+ field: 'extraField3',
+ title: '鎵╁睍瀛楁3',
+ width:160,
+},
+]
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/templatedemo_web/src/widgets/WmsMaterial/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/templatedemo_web/src/widgets/WmsMaterial/Views/Pages/WmsMaterial/WmsMaterial.module.scss"
new file mode 100644
index 0000000..019a625
--- /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/templatedemo_web/src/widgets/WmsMaterial/Views/Pages/WmsMaterial/WmsMaterial.module.scss"
@@ -0,0 +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-end;
+ 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/templatedemo_web/src/widgets/WmsMaterial/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/templatedemo_web/src/widgets/WmsMaterial/Views/Pages/WmsMaterial/WmsMaterial.tsx"
new file mode 100644
index 0000000..b424c28
--- /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/templatedemo_web/src/widgets/WmsMaterial/Views/Pages/WmsMaterial/WmsMaterial.tsx"
@@ -0,0 +1,373 @@
+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 dayjs from 'dayjs'
+import {
+ getWmsEnumData
+} from '@/widgets/WmsMaterial/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;
+ }
+
+
+ /**
+ * @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={{
+ creationTime: ({ row }: any) => {
+ return (
+ <div>
+ {row.creationTime != null
+ ? dayjs(row.creationTime).format('YYYY-MM-DD HH:mm:ss')
+ : '-'}
+ </div>
+ )
+},
+lastModificationTime: ({ row }: any) => {
+ return (
+ <div>
+ {row.lastModificationTime != null
+ ? dayjs(row.lastModificationTime).format('YYYY-MM-DD HH:mm:ss')
+ : '-'}
+ </div>
+ )
+},
+isDeleted: ({ row }: any) => {
+ return (
+ <div>
+ {row.isDeleted != null ? (row.isDeleted ? '鏄�' : '鍚�') : '-'}
+ </div>
+ )
+},
+deletionTime: ({ row }: any) => {
+ return (
+ <div>
+ {row.deletionTime != null
+ ? dayjs(row.deletionTime).format('YYYY-MM-DD HH:mm:ss')
+ : '-'}
+ </div>
+ )
+},
+isDisabled: ({ row }: any) => {
+ return (
+ <div>
+ {row.isDisabled != null ? (row.isDisabled ? '鏄�' : '鍚�') : '-'}
+ </div>
+ )
+},
+ 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="鍏抽敭瀛�">
+ <el-tooltip
+ class="box-item"
+ effect="dark"
+ content={searchFormInputAttrs_Placeholder.value}
+ placement="top-start"
+ >
+ <ElInput
+ v-model={queryForm.value.searchVal}
+ placeholder={searchFormInputAttrs_Placeholder.value}
+ clearable
+ class={styles.formItem}
+ />
+ </el-tooltip>
+ </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/templatedemo_web/src/widgets/WmsMaterial/Views/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/templatedemo_web/src/widgets/WmsMaterial/Views/WmsMaterial.module.scss"
new file mode 100644
index 0000000..030c79c
--- /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/templatedemo_web/src/widgets/WmsMaterial/Views/WmsMaterial.module.scss"
@@ -0,0 +1,7 @@
+.WmsMaterial {
+ 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/templatedemo_web/src/widgets/WmsMaterial/Views/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/templatedemo_web/src/widgets/WmsMaterial/Views/WmsMaterial.tsx"
new file mode 100644
index 0000000..23a203d
--- /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/templatedemo_web/src/widgets/WmsMaterial/Views/WmsMaterial.tsx"
@@ -0,0 +1,80 @@
+import {
+ Component,
+ DefineComponent,
+ defineComponent,
+ markRaw,
+ ref,
+ SetupContext,
+ onMounted,
+} from 'vue'
+import styles from './WmsMaterial.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: 'WmsMaterial',
+
+ 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.WmsMaterial}>
+ <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/templatedemo_web/src/widgets/WmsMaterial/Views/config/WmsMaterial.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/templatedemo_web/src/widgets/WmsMaterial/Views/config/WmsMaterial.json"
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/templatedemo_web/src/widgets/WmsMaterial/Views/config/WmsMaterial.json"
@@ -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/templatedemo_web/src/widgets/WmsMaterial/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/templatedemo_web/src/widgets/WmsMaterial/enum.ts"
new file mode 100644
index 0000000..063ce43
--- /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/templatedemo_web/src/widgets/WmsMaterial/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 = {
+ '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/templatedemo_web/src/widgets/WmsMaterial/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/templatedemo_web/src/widgets/WmsMaterial/index.ts"
new file mode 100644
index 0000000..02be14a
--- /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/templatedemo_web/src/widgets/WmsMaterial/index.ts"
@@ -0,0 +1,14 @@
+import WmsMaterial from './Views/WmsMaterial'
+import Setting from '@/components/Setting/Setting'
+import { provider } from '@/provider/index'
+import p from '../../assets/svg/p.svg'
+
+export default {
+ is: 'WmsMaterial',
+ name: '鐗╂枡淇℃伅',
+ category: 'run',
+ icon: p,
+ authorizationRequired: false,
+ canvasView: provider(WmsMaterial),
+ 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/templatedemo_web/src/widgets/WmsMaterial/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/templatedemo_web/src/widgets/WmsMaterial/type/type.d.ts"
new file mode 100644
index 0000000..7bd5c03
--- /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/templatedemo_web/src/widgets/WmsMaterial/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 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
+}
--
Gitblit v1.9.3