From a152d2dc9e4ae6fa1fdd0dcfe5db8bb455e15c4f Mon Sep 17 00:00:00 2001
From: zs <zhousong@weben-smart.com>
Date: 周二, 06 5月 2025 14:21:15 +0800
Subject: [PATCH] 111

---
 Weben_CMS专用代码生成器/Code/MainForm.cs |  172 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 169 insertions(+), 3 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/MainForm.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/MainForm.cs"
index 6ba8aff..5fd6b7f 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/MainForm.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/MainForm.cs"
@@ -31,8 +31,14 @@
             this.tb_WCF_NameSpacePath.Text = "HIAWms";//WCF椤圭洰鍛藉悕绌洪棿 
             this.tb_FileName.Text = "Xiangzi";//鏂囦欢鍓嶇紑鍚�
             this.tb_ChinaComment.Text = "鐗╂枡鍩虹淇℃伅琛�";//涓枃娉ㄩ噴
+            this.tb_MenuName.Text = "鐗╂枡淇℃伅";//涓枃娉ㄩ噴
+            this.tb_PageMenuInstanceName.Text = "wmsMaterial";
             this.tb_CreatePerson.Text = "shaocx";//鍒涘缓浜�
             this.tb_EntityName.Text = "WmsMaterial";//瀹炰綋绫诲悕
+
+            this.tb_LikeQueryAttrs.Text = "'MaterialCode', 'MaterialName', 'Remark'";
+            this.tb_LikeQueryAttrsName.Text = "璇疯緭鍏ョ墿鏂欑紪鐮�/鐗╂枡鍚嶇О/澶囨敞";
+
             //this.tb_EntityProName.Text = "wmsMaterial";//瀹炰綋绫诲璞″悕
             this.tb_EnumList.Text = "PurchaseType|PurchaseTypeEnum|PurchaseTypeDesc,MaterialType|MaterialTypeEnum|MaterialTypeDesc,IsMainBranch|YesNoEnum|IsMainBranchDesc";
 
@@ -97,7 +103,44 @@
                 string wcf_NameSpacePath = this.tb_WCF_NameSpacePath.Text.Trim();//WCF椤圭洰鍛藉悕绌洪棿 
                 string filePrefixName = this.tb_FileName.Text.Trim();//鏂囦欢鍓嶇紑鍚�
                 string modulelogo = this.tb_Modulelogo.Text.Trim();//妯″潡绠�鍐�
+
+                string _tb_LikeQueryAttrsName = this.tb_LikeQueryAttrsName.Text.Trim();//涓枃娉ㄩ噴
+                if (_tb_LikeQueryAttrsName == "")
+                {
+                    MessageBox.Show("璇疯緭鍏� 妯$硦鏌ヨ瀛楁鍚嶏紒");
+                    this.tb_LikeQueryAttrsName.Focus();
+                    return;
+                }
+
+                string _tb_LikeQueryAttrs = this.tb_LikeQueryAttrs.Text.Trim();//涓枃娉ㄩ噴
+                if (_tb_LikeQueryAttrs == "")
+                {
+                    MessageBox.Show("璇疯緭鍏� 妯$硦鏌ヨ瀛楁锛�");
+                    this.tb_LikeQueryAttrs.Focus();
+                    return;
+                }
+
                 string chinaComment = this.tb_ChinaComment.Text.Trim();//涓枃娉ㄩ噴
+                if (chinaComment == "")
+                {
+                    MessageBox.Show("璇疯緭鍏� 琛ㄧ殑涓枃娉ㄨВ锛�");
+                    this.tb_ChinaComment.Focus();
+                    return;
+                }
+                string menuName = this.tb_MenuName.Text.Trim();//涓枃娉ㄩ噴
+                if (menuName == "")
+                {
+                    MessageBox.Show("璇疯緭鍏� 椤甸潰鑿滃崟鍚嶏紒");
+                    this.tb_MenuName.Focus();
+                    return;
+                }
+                string _tb_PageMenuInstanceName = this.tb_PageMenuInstanceName.Text.Trim();//涓枃娉ㄩ噴
+                if (_tb_PageMenuInstanceName == "")
+                {
+                    MessageBox.Show("璇疯緭鍏� 椤甸潰鑿滃崟瀵硅薄缂╁啓锛�");
+                    this.tb_PageMenuInstanceName.Focus();
+                    return;
+                }
                 string createPerson = this.tb_CreatePerson.Text.Trim();//鍒涘缓浜�
                 string entityName = this.tb_EntityName.Text.Trim();//瀹炰綋绫诲悕
                 string tableAlias = this.tb_EntityProName.Text.Trim();//瀹炰綋绫诲璞″悕/琛ㄥ埆鍚�
@@ -160,10 +203,14 @@
                 {
                     Modulelogo = modulelogo,
                     ChinaComment = chinaComment,
+                    PageMenuName = menuName,
+                    PageMenuInstanceName = _tb_PageMenuInstanceName,
                     NameSpacePath = wcf_NameSpacePath,
                     ColumnNameList = columnList,
                     EntityName = entityName,
-                    EntityInstanceName = tableAlias
+                    EntityInstanceName = tableAlias,
+                    LikeQueryAttrs = _tb_LikeQueryAttrs,
+                    LikeQueryAttrsName = _tb_LikeQueryAttrsName
                 };
                 //澶勭悊鏋氫妇绫诲瀷
                 List<EnumModel> enumList = new List<EnumModel>();
@@ -174,6 +221,19 @@
                     foreach (var item in arr_enumList)
                     {
                         var arr_single = item.Split('|');
+                        enumList.Add(new EnumModel()
+                        {
+                            EnumAttrName = arr_single[0],
+                            EnumType = arr_single[1],
+                            EnumTypeDesc = arr_single[2]
+                        });
+                    }
+                }
+                else
+                {
+                    if (!string.IsNullOrEmpty(str_enumList))
+                    {
+                        var arr_single = str_enumList.Split('|');
                         enumList.Add(new EnumModel()
                         {
                             EnumAttrName = arr_single[0],
@@ -261,6 +321,112 @@
                 var efCoreRepositoryPath = tbPath.Text + @"\server\src\CMS.Plugin." + tb_WCF_NameSpacePath.Text.Trim() + @".EntityFrameworkCore\Repositories";
                 str_generate = EfCoreRepository_Generate.CreateText(param);
                 tf = TextHelper.Export2File_V2(efCoreRepositoryPath, $"EfCore{param.EntityName}Repository.cs", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
+
+
+                #endregion
+
+                #region Web
+                var webRootPath = tbPath.Text + @"\web\src\widgets\" + tb_EntityName.Text.Trim();
+
+                //13銆佺敓鎴� Index 鏂囦欢
+                str_generate = Index_Generate.CreateText(param);
+                tf = TextHelper.Export2File_V2(webRootPath, $"index.ts", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
+
+                //14銆佺敓鎴� enum 鏂囦欢
+                str_generate = enum_Generate.CreateText(param);
+                tf = TextHelper.Export2File_V2(webRootPath, $"enum.ts", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
+
+
+                //15銆佺敓鎴� Controllers\File 鏂囦欢
+                str_generate = File_Generate.CreateText(param);
+                tf = TextHelper.Export2File_V2(webRootPath + @"\Controllers", $"File.ts", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
+
+                //16銆佺敓鎴� Controllers\EntityMode 鏂囦欢
+                str_generate = EntityMode_Generate.CreateText(param);
+                tf = TextHelper.Export2File_V2(webRootPath + @"\Controllers", $"{tb_EntityName.Text.Trim()}.ts", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
+
+
+                //17銆佺敓鎴� Controllers\EntityModeDrawer 鏂囦欢
+                str_generate = EntityModeDrawer_Generate.CreateText(param);
+                tf = TextHelper.Export2File_V2(webRootPath + @"\Controllers", $"{tb_EntityName.Text.Trim()}Drawer.tsx", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
+
+                //18銆佺敓鎴� Controllers\EntityModeQueryDrawer 鏂囦欢
+                str_generate = EntityModeQueryDrawer_Generate.CreateText(param);
+                tf = TextHelper.Export2File_V2(webRootPath + @"\Controllers", $"{tb_EntityName.Text.Trim()}QueryDrawer.tsx", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
+
+
+                //19銆佺敓鎴� type\type 鏂囦欢
+                str_generate = type_Generate.CreateText(param);
+                tf = TextHelper.Export2File_V2(webRootPath + @"\type", $"type.d.ts", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
+
+
+                //20銆佺敓鎴� Views\NameSpacePath 鏂囦欢
+                str_generate = NameSpacePath_Generate.CreateText(param);
+                tf = TextHelper.Export2File_V2(webRootPath + @"\Views", $"{param.EntityName}.tsx", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
+
+                //21銆佺敓鎴� Views\NameSpacePath_module 鏂囦欢
+                str_generate = NameSpacePath_module_Generate.CreateText(param);
+                tf = TextHelper.Export2File_V2(webRootPath + @"\Views", $"{param.EntityName}.module.scss", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
+
+                //22銆佺敓鎴� Views\NameSpacePath_Config 鏂囦欢
+                str_generate = NameSpacePath_Config_Generate.CreateText(param);
+                tf = TextHelper.Export2File_V2(webRootPath + @"\Views\config", $"{param.EntityName}.module.scss", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
+
+
+                //23銆佺敓鎴� Views\NameSpacePath_Config 鏂囦欢
+                str_generate = EntityNameClass_module_Generate.CreateText(param);
+                tf = TextHelper.Export2File_V2(webRootPath + @"\Views\Pages\" + param.EntityName, $"{param.EntityName}.module.scss", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
+
+                //24銆佺敓鎴� Views\EntityNameClass妯℃澘 鏂囦欢
+                str_generate = EntityNameClass_Generate.CreateText(param);
+                tf = TextHelper.Export2File_V2(webRootPath + @"\Views\Pages\" + param.EntityName, $"{param.EntityName}.tsx", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
+
+                //25銆佺敓鎴� Views\EntityNameClass_Config妯℃澘 鏂囦欢
+                str_generate = EntityNameClass_Config_Generate.CreateText(param);
+                tf = TextHelper.Export2File_V2(webRootPath + @"\Views\Pages\" + param.EntityName, $"Config.ts", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
+
+
+                //26銆佺敓鎴� Views\EntityNameClassDrawer_module_Generate 鏂囦欢
+                str_generate = EntityNameClassDrawer_module_Generate.CreateText(param);
+                tf = TextHelper.Export2File_V2(webRootPath + @"\Views\Pages\Dialog\" + param.EntityName + "Drawer", param.EntityName + "Drawer" + $".module.scss", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
+
+                //27銆佺敓鎴� Views\EntityNameClassDrawer_Generate 鏂囦欢
+                str_generate = EntityNameClassDrawer_Generate.CreateText(param);
+                tf = TextHelper.Export2File_V2(webRootPath + @"\Views\Pages\Dialog\" + param.EntityName + "Drawer", param.EntityName + "Drawer" + $".tsx", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
+
+                //28銆佺敓鎴� Views\EntityNameClassDrawer_module_Generate 鏂囦欢
+                str_generate = EntityNameClassQueryDrawer_module_Generate.CreateText(param);
+                tf = TextHelper.Export2File_V2(webRootPath + @"\Views\Pages\Dialog\" + param.EntityName + "QueryDrawer", param.EntityName + "QueryDrawer" + $".module.scss", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
+
+                //29銆佺敓鎴� Views\EntityNameClassDrawer_Generate 鏂囦欢
+                str_generate = EntityNameClassQueryDrawer_Generate.CreateText(param);
+                tf = TextHelper.Export2File_V2(webRootPath + @"\Views\Pages\Dialog\" + param.EntityName + "QueryDrawer", param.EntityName + "QueryDrawer" + $".tsx", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
+
+
+                //30銆佺敓鎴� Views\EntityNameClassDrawer_Generate 鏂囦欢
+                str_generate = Models_EntityNameClassQueryDrawer_Generate.CreateText(param);
+                tf = TextHelper.Export2File_V2(webRootPath + @"\Models", param.EntityName + "QueryDrawer" + $".ts", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
+
+                //31銆佺敓鎴� Views\EntityNameClassDrawer_Generate 鏂囦欢
+                str_generate = Models_EntityNameClassDrawer_Generate.CreateText(param);
+                tf = TextHelper.Export2File_V2(webRootPath + @"\Models", param.EntityName + "Drawer" + $".ts", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
+
+                //32銆佺敓鎴� Views\EntityNameClassDrawer_Generate 鏂囦欢
+                str_generate = Models_EntityNameClass_Generate.CreateText(param);
+                tf = TextHelper.Export2File_V2(webRootPath + @"\Models", param.EntityName + $".ts", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
+
+
+                //33銆佺敓鎴� Views\EntityNameClassDrawer_Generate 鏂囦欢
+                str_generate = Models_Service_EntityNameClassQueryDrawer_Generate.CreateText(param);
+                tf = TextHelper.Export2File_V2(webRootPath + @"\Models\Service", param.EntityName + "QueryDrawer" + $".ts", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
+
+                //34銆佺敓鎴� Views\EntityNameClassDrawer_Generate 鏂囦欢
+                str_generate = Models_Service_EntityNameClassDrawer_Generate.CreateText(param);
+                tf = TextHelper.Export2File_V2(webRootPath + @"\Models\Service", param.EntityName + "Drawer" + $".ts", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
+
+                //35銆佺敓鎴� Views\EntityNameClassDrawer_Generate 鏂囦欢
+                str_generate = Models_Service_EntityNameClass_Generate.CreateText(param);
+                tf = TextHelper.Export2File_V2(webRootPath + @"\Models\Service", param.EntityName + $".ts", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
 
 
                 #endregion
@@ -381,12 +547,12 @@
                 {
                     var moule_str = tableName.Substring(index + 1, tableName.Length - index - 1);
                     this.tb_Modulelogo.Text = moule_str;
-                    this.tb_EntityProName.Text = CommonHelper.TitleToLower(moule_str);
+                    tb_PageMenuInstanceName.Text = this.tb_EntityProName.Text = CommonHelper.TitleToLower(moule_str);
                 }
                 else
                 {
                     this.tb_Modulelogo.Text = tableName;
-                    this.tb_EntityProName.Text = CommonHelper.TitleToLower(tableName);
+                    tb_PageMenuInstanceName.Text = this.tb_EntityProName.Text = CommonHelper.TitleToLower(tableName);
                 }
             }
         }

--
Gitblit v1.9.3