From e8f85cd9f369f8290d55b0e041be35c9c0b50fb6 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周二, 06 5月 2025 11:40:26 +0800
Subject: [PATCH] 222

---
 Weben_CMS专用代码生成器/Code/Templete/Web/Views/Pages/EntityNameClass/EntityNameClass_Config模板.txt                              |    8 
 Weben_CMS专用代码生成器/Code/Generate/Web/Views/config/NameSpacePath_Config_Generate.cs                                         |   27 
 Weben_CMS专用代码生成器/Code/Templete/Web/Views/NameSpacePath模板.txt                                                             |   80 ++
 Weben_CMS专用代码生成器/Code/Utility/ListHelper.cs                                                                              |   31 
 Weben_CMS专用代码生成器/Code/Templete/Web/Views/Pages/Dialog/EntityNameClassDrawer/EntityNameClassDrawer模板.txt                  |   61 +
 Weben_CMS专用代码生成器/Code/Generate/Web/Views/Pages/EntityNameClass/EntityNameClass_Generate.cs                               |   36 +
 Weben_CMS专用代码生成器/Code/GenerateCode_WeiBen_CMS.csproj                                                                     |   32 +
 Weben_CMS专用代码生成器/Code/Templete/Web/Views/Pages/Dialog/EntityNameClassQueryDrawer/EntityNameClassQueryDrawer_module模板.txt |    3 
 Weben_CMS专用代码生成器/Code/Generate/Web/Views/NameSpacePath_Generate.cs                                                       |   27 
 Weben_CMS专用代码生成器/Code/Templete/Web/type/type模板.txt                                                                       |   45 +
 Weben_CMS专用代码生成器/Code/Generate/Web/Views/Pages/EntityNameClass/EntityNameClass_module_Generate.cs                        |   27 
 Weben_CMS专用代码生成器/Code/Generate/Web/Views/Pages/EntityNameClass/EntityNameClass_Config_Generate.cs                        |   33 +
 Weben_CMS专用代码生成器/Code/Utility/StructStrHelper.cs                                                                         |  290 +++++++++
 Weben_CMS专用代码生成器/Code/Generate/Web/Views/Pages/Dialog/EntityNameClassDrawer/EntityNameClassDrawer_module_Generate.cs     |   30 
 Weben_CMS专用代码生成器/Code/Templete/Web/Views/config/NameSpacePath_Config模板.txt                                               |    3 
 Weben_CMS专用代码生成器/Code/Generate/Web/Views/NameSpacePath_module_Generate.cs                                                |   27 
 Weben_CMS专用代码生成器/Code/Templete/Web/Views/Pages/EntityNameClass/EntityNameClass_module模板.txt                              |  113 +++
 Weben_CMS专用代码生成器/Code/Templete/Web/Views/NameSpacePath_module模板.txt                                                      |    7 
 Weben_CMS专用代码生成器/Code/Templete/Web/Controllers/EntityModeQueryDrawer模板.txt                                               |  171 +++++
 Weben_CMS专用代码生成器/Code/Utility/CommonHelper.cs                                                                            |    3 
 Weben_CMS专用代码生成器/Code/MainForm.cs                                                                                        |   65 +
 Weben_CMS专用代码生成器/Code/Templete/Web/Views/Pages/EntityNameClass/EntityNameClass模板.txt                                     |  318 +++++++++
 Weben_CMS专用代码生成器/Code/Model/GenerateCodeParam.cs                                                                         |   10 
 Weben_CMS专用代码生成器/Code/Generate/Web/Controllers/EntityModeQueryDrawer_Generate.cs                                         |   46 +
 Weben_CMS专用代码生成器/Code/MainForm.Designer.cs                                                                               |  372 +++++-----
 Weben_CMS专用代码生成器/Code/Generate/Web/type/File_Generate.cs                                                                 |   27 
 Weben_CMS专用代码生成器/Code/Templete/Web/Views/Pages/Dialog/EntityNameClassDrawer/EntityNameClassDrawer_module模板.txt           |    3 
 27 files changed, 1,702 insertions(+), 193 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/Generate/Web/Controllers/EntityModeQueryDrawer_Generate.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/Generate/Web/Controllers/EntityModeQueryDrawer_Generate.cs"
new file mode 100644
index 0000000..bfc6ccb
--- /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/Code/Generate/Web/Controllers/EntityModeQueryDrawer_Generate.cs"
@@ -0,0 +1,46 @@
+锘�
+
+using GenerateCode_WeiBen_WMS.Model;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace GenerateCode_GEBrilliantFactory
+{
+    /// <summary>
+    /// 鐢熸垚鏌ヨ瀹炰綋绫�
+    /// </summary>
+    public class EntityModeQueryDrawer_Generate : BaseGenerate
+    {
+        public static string CreateText(GenerateCodeParam param)
+        {
+            var str = TextHelper.ReadText(@"Templete\Web\Controllers\EntityModeQueryDrawer妯℃澘.txt");
+            CommonReplace(ref str);
+
+            CommonHelper.CommonReplaceStr(param, ref str);
+
+            //鏇挎崲鏂板form鍒楄〃灞炴��
+            string attrString = "";
+            List<ColumnModel> newColumnNameList = ListHelper.RemoveAttrForUpdateMode(param.ColumnNameList);
+            attrString += StructStrHelper.GetVueFormOptionsStrForPageAddFormAttributes_Query(param.ColumnNameList, param);
+            str = str.Replace("$PageAddFormAttributes_Query$", attrString);
+
+            attrString = "";
+            attrString += StructStrHelper.GetVueFormOptionsStrForSave_PageAddFormAttributes_Query(param.ColumnNameList,param);
+            str = str.Replace("$Save_PageAddFormAttributes_Query$", attrString);
+
+            attrString = "";
+            attrString += StructStrHelper.GetVueFormOptionsStrForCommonQueryEnumForFrom(param.ColumnNameList, param);
+            str = str.Replace("$CommonQueryEnumForFrom$", attrString);
+
+            attrString = "";
+            attrString += StructStrHelper.GetVueFormOptionsStrForPageAddFormAttributes_Query_Clear(param.ColumnNameList, param);
+            str = str.Replace("$Save_PageAddFormAttributes_Query_Clear$", attrString);
+
+
+
+            return str;
+        }
+    }
+}
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/Generate/Web/Views/NameSpacePath_Generate.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/Generate/Web/Views/NameSpacePath_Generate.cs"
new file mode 100644
index 0000000..eccfee4
--- /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/Code/Generate/Web/Views/NameSpacePath_Generate.cs"
@@ -0,0 +1,27 @@
+锘�
+
+using GenerateCode_WeiBen_WMS.Model;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace GenerateCode_GEBrilliantFactory
+{
+    /// <summary>
+    /// 鐢熸垚鏌ヨ瀹炰綋绫�
+    /// </summary>
+    public class NameSpacePath_Generate : BaseGenerate
+    {
+        public static string CreateText(GenerateCodeParam param)
+        {
+            var str = TextHelper.ReadText(@"Templete\Web\Views\NameSpacePath妯℃澘.txt");
+            CommonReplace(ref str);
+
+            CommonHelper.CommonReplaceStr(param, ref str);
+
+
+            return str;
+        }
+    }
+}
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/Generate/Web/Views/NameSpacePath_module_Generate.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/Generate/Web/Views/NameSpacePath_module_Generate.cs"
new file mode 100644
index 0000000..cb393ee
--- /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/Code/Generate/Web/Views/NameSpacePath_module_Generate.cs"
@@ -0,0 +1,27 @@
+锘�
+
+using GenerateCode_WeiBen_WMS.Model;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace GenerateCode_GEBrilliantFactory
+{
+    /// <summary>
+    /// 鐢熸垚鏌ヨ瀹炰綋绫�
+    /// </summary>
+    public class NameSpacePath_module_Generate : BaseGenerate
+    {
+        public static string CreateText(GenerateCodeParam param)
+        {
+            var str = TextHelper.ReadText(@"Templete\Web\Views\NameSpacePath_module妯℃澘.txt");
+            CommonReplace(ref str);
+
+            CommonHelper.CommonReplaceStr(param, ref str);
+
+
+            return str;
+        }
+    }
+}
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/Generate/Web/Views/Pages/Dialog/EntityNameClassDrawer/EntityNameClassDrawer_module_Generate.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/Generate/Web/Views/Pages/Dialog/EntityNameClassDrawer/EntityNameClassDrawer_module_Generate.cs"
new file mode 100644
index 0000000..81f88d3
--- /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/Code/Generate/Web/Views/Pages/Dialog/EntityNameClassDrawer/EntityNameClassDrawer_module_Generate.cs"
@@ -0,0 +1,30 @@
+锘�
+
+using GenerateCode_WeiBen_WMS.Model;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace GenerateCode_GEBrilliantFactory
+{
+    /// <summary>
+    /// 鐢熸垚鏌ヨ瀹炰綋绫�
+    /// </summary>
+    public class EntityNameClassDrawer_module_Generate : BaseGenerate
+    {
+        public static string CreateText(GenerateCodeParam param)
+        {
+            var str = TextHelper.ReadText(@"Templete\Web\Views\Pages\Dialog\EntityNameClassDrawer\EntityNameClassDrawer_module妯℃澘.txt");
+            CommonReplace(ref str);
+
+            CommonHelper.CommonReplaceStr(param, ref str);
+
+
+
+
+
+            return str;
+        }
+    }
+}
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/Generate/Web/Views/Pages/EntityNameClass/EntityNameClass_Config_Generate.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/Generate/Web/Views/Pages/EntityNameClass/EntityNameClass_Config_Generate.cs"
new file mode 100644
index 0000000..ca1e946
--- /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/Code/Generate/Web/Views/Pages/EntityNameClass/EntityNameClass_Config_Generate.cs"
@@ -0,0 +1,33 @@
+锘�
+
+using GenerateCode_WeiBen_WMS.Model;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace GenerateCode_GEBrilliantFactory
+{
+    /// <summary>
+    /// 鐢熸垚鏌ヨ瀹炰綋绫�
+    /// </summary>
+    public class EntityNameClass_Config_Generate : BaseGenerate
+    {
+        public static string CreateText(GenerateCodeParam param)
+        {
+            var str = TextHelper.ReadText(@"Templete\Web\Views\Pages\EntityNameClass\EntityNameClass妯℃澘.txt");
+            CommonReplace(ref str);
+
+            CommonHelper.CommonReplaceStr(param, ref str);
+
+
+            string attrString = "";
+            attrString += StructStrHelper.GetVueFormOptionsStr_EntityNameClass_Config_Attrs(param.ColumnNameList, param);
+            str = str.Replace("$EntityNameClass_Config_Attrs$", attrString);
+
+
+
+            return str;
+        }
+    }
+}
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/Generate/Web/Views/Pages/EntityNameClass/EntityNameClass_Generate.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/Generate/Web/Views/Pages/EntityNameClass/EntityNameClass_Generate.cs"
new file mode 100644
index 0000000..0e8dabf
--- /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/Code/Generate/Web/Views/Pages/EntityNameClass/EntityNameClass_Generate.cs"
@@ -0,0 +1,36 @@
+锘�
+
+using GenerateCode_WeiBen_WMS.Model;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace GenerateCode_GEBrilliantFactory
+{
+    /// <summary>
+    /// 鐢熸垚鏌ヨ瀹炰綋绫�
+    /// </summary>
+    public class EntityNameClass_Generate : BaseGenerate
+    {
+        public static string CreateText(GenerateCodeParam param)
+        {
+            var str = TextHelper.ReadText(@"Templete\Web\Views\Pages\EntityNameClass\EntityNameClass妯℃澘.txt");
+            CommonReplace(ref str);
+
+            CommonHelper.CommonReplaceStr(param, ref str);
+
+
+            string attrString = "";
+            attrString += StructStrHelper.GetVueFormOptionsStrForPageAdd_EntityNameClass_enumOptions(param.ColumnNameList, param);
+            str = str.Replace("$EntityNameClass_enumOptions$", attrString);
+
+
+            attrString = "";
+            attrString += StructStrHelper.GetVueFormOptionsStr_EntityNameClass_fetchEnumData(param.ColumnNameList, param);
+            str = str.Replace("$EntityNameClass_fetchEnumData$", attrString);
+
+            return str;
+        }
+    }
+}
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/Generate/Web/Views/Pages/EntityNameClass/EntityNameClass_module_Generate.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/Generate/Web/Views/Pages/EntityNameClass/EntityNameClass_module_Generate.cs"
new file mode 100644
index 0000000..abfea44
--- /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/Code/Generate/Web/Views/Pages/EntityNameClass/EntityNameClass_module_Generate.cs"
@@ -0,0 +1,27 @@
+锘�
+
+using GenerateCode_WeiBen_WMS.Model;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace GenerateCode_GEBrilliantFactory
+{
+    /// <summary>
+    /// 鐢熸垚鏌ヨ瀹炰綋绫�
+    /// </summary>
+    public class EntityNameClass_module_Generate : BaseGenerate
+    {
+        public static string CreateText(GenerateCodeParam param)
+        {
+            var str = TextHelper.ReadText(@"Templete\Web\Views\Pages\EntityNameClass\EntityNameClass_module妯℃澘.txt");
+            CommonReplace(ref str);
+
+            CommonHelper.CommonReplaceStr(param, ref str);
+
+
+            return str;
+        }
+    }
+}
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/Generate/Web/Views/config/NameSpacePath_Config_Generate.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/Generate/Web/Views/config/NameSpacePath_Config_Generate.cs"
new file mode 100644
index 0000000..2718852
--- /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/Code/Generate/Web/Views/config/NameSpacePath_Config_Generate.cs"
@@ -0,0 +1,27 @@
+锘�
+
+using GenerateCode_WeiBen_WMS.Model;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace GenerateCode_GEBrilliantFactory
+{
+    /// <summary>
+    /// 鐢熸垚鏌ヨ瀹炰綋绫�
+    /// </summary>
+    public class NameSpacePath_Config_Generate : BaseGenerate
+    {
+        public static string CreateText(GenerateCodeParam param)
+        {
+            var str = TextHelper.ReadText(@"Templete\Web\Views\config\NameSpacePath_Config妯℃澘.txt");
+            CommonReplace(ref str);
+
+            CommonHelper.CommonReplaceStr(param, ref str);
+
+
+            return str;
+        }
+    }
+}
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/Generate/Web/type/File_Generate.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/Generate/Web/type/File_Generate.cs"
new file mode 100644
index 0000000..f8f1603
--- /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/Code/Generate/Web/type/File_Generate.cs"
@@ -0,0 +1,27 @@
+锘�
+
+using GenerateCode_WeiBen_WMS.Model;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace GenerateCode_GEBrilliantFactory
+{
+    /// <summary>
+    /// 鐢熸垚鏌ヨ瀹炰綋绫�
+    /// </summary>
+    public class type_Generate : BaseGenerate
+    {
+        public static string CreateText(GenerateCodeParam param)
+        {
+            var str = TextHelper.ReadText(@"Templete\Web\type\type妯℃澘.txt");
+            CommonReplace(ref str);
+
+            CommonHelper.CommonReplaceStr(param, ref str);
+
+
+            return str;
+        }
+    }
+}
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/GenerateCode_WeiBen_CMS.csproj" "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/GenerateCode_WeiBen_CMS.csproj"
index 3a1049a..05b187b 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/GenerateCode_WeiBen_CMS.csproj"
+++ "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/GenerateCode_WeiBen_CMS.csproj"
@@ -128,11 +128,19 @@
     <Compile Include="Generate\BLL_Generate.cs" />
     <Compile Include="Generate\DAL_Generate.cs" />
     <Compile Include="Generate\Procedure_Generate.cs" />
+    <Compile Include="Generate\Web\Controllers\EntityModeQueryDrawer_Generate.cs" />
     <Compile Include="Generate\Web\Controllers\EntityModeDrawer_Generate.cs" />
     <Compile Include="Generate\Web\Controllers\EntityMode_Generate.cs" />
     <Compile Include="Generate\Web\Controllers\File_Generate.cs" />
     <Compile Include="Generate\Web\enum_Generate.cs" />
     <Compile Include="Generate\Web\Index_Generate.cs" />
+    <Compile Include="Generate\Web\type\File_Generate.cs" />
+    <Compile Include="Generate\Web\Views\config\NameSpacePath_Config_Generate.cs" />
+    <Compile Include="Generate\Web\Views\NameSpacePath_module_Generate.cs" />
+    <Compile Include="Generate\Web\Views\NameSpacePath_Generate.cs" />
+    <Compile Include="Generate\Web\Views\Pages\EntityNameClass\EntityNameClass_Config_Generate.cs" />
+    <Compile Include="Generate\Web\Views\Pages\EntityNameClass\EntityNameClass_Generate.cs" />
+    <Compile Include="Generate\Web\Views\Pages\EntityNameClass\EntityNameClass_module_Generate.cs" />
     <Compile Include="Model\GenerateCodeParam.cs" />
     <Compile Include="Model\Enum\DataBaseEnum.cs" />
     <Compile Include="Model\Enum\DataTypeEnum.cs" />
@@ -283,6 +291,9 @@
     <Content Include="Templete\InitSQL妯℃澘.txt">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </Content>
+    <Content Include="Templete\Web\Controllers\EntityModeQueryDrawer妯℃澘.txt">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </Content>
     <Content Include="Templete\Web\Controllers\EntityModeDrawer妯℃澘.txt">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </Content>
@@ -298,6 +309,27 @@
     <Content Include="Templete\Web\index妯℃澘.txt">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </Content>
+    <Content Include="Templete\Web\type\type妯℃澘.txt">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </Content>
+    <Content Include="Templete\Web\Views\config\NameSpacePath_Config妯℃澘.txt">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </Content>
+    <Content Include="Templete\Web\Views\NameSpacePath_module妯℃澘.txt">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </Content>
+    <Content Include="Templete\Web\Views\NameSpacePath妯℃澘.txt">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </Content>
+    <Content Include="Templete\Web\Views\Pages\EntityNameClass\EntityNameClass_module妯℃澘.txt">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </Content>
+    <Content Include="Templete\Web\Views\Pages\EntityNameClass\EntityNameClass_Config妯℃澘.txt">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </Content>
+    <Content Include="Templete\Web\Views\Pages\EntityNameClass\EntityNameClass妯℃澘.txt">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </Content>
     <Content Include="甯哥敤.txt" />
   </ItemGroup>
   <ItemGroup />
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.Designer.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.Designer.cs"
index c1124b5..a20870e 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.Designer.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.Designer.cs"
@@ -64,6 +64,13 @@
             this.lbl_DataSource = new System.Windows.Forms.Label();
             this.cmb_DataSource = new System.Windows.Forms.ComboBox();
             this.groupBox2 = new System.Windows.Forms.GroupBox();
+            this.label23 = new System.Windows.Forms.Label();
+            this.tb_LikeQueryAttrs = new System.Windows.Forms.TextBox();
+            this.label22 = new System.Windows.Forms.Label();
+            this.tb_PageMenuInstanceName = new System.Windows.Forms.TextBox();
+            this.label21 = new System.Windows.Forms.Label();
+            this.tb_MenuName = new System.Windows.Forms.TextBox();
+            this.label20 = new System.Windows.Forms.Label();
             this.label19 = new System.Windows.Forms.Label();
             this.label18 = new System.Windows.Forms.Label();
             this.tb_EnumList = new System.Windows.Forms.TextBox();
@@ -77,10 +84,7 @@
             this.label12 = new System.Windows.Forms.Label();
             this.tb_templeteFileDownName = new System.Windows.Forms.TextBox();
             this.label14 = new System.Windows.Forms.Label();
-            this.label20 = new System.Windows.Forms.Label();
-            this.tb_MenuName = new System.Windows.Forms.TextBox();
-            this.label21 = new System.Windows.Forms.Label();
-            this.tb_PageMenuInstanceName = new System.Windows.Forms.TextBox();
+            this.tb_LikeQueryAttrsName = new System.Windows.Forms.TextBox();
             this.groupBox1.SuspendLayout();
             this.groupBox2.SuspendLayout();
             this.groupBox3.SuspendLayout();
@@ -88,10 +92,9 @@
             // 
             // btnPath
             // 
-            this.btnPath.Location = new System.Drawing.Point(567, 712);
-            this.btnPath.Margin = new System.Windows.Forms.Padding(4);
+            this.btnPath.Location = new System.Drawing.Point(425, 570);
             this.btnPath.Name = "btnPath";
-            this.btnPath.Size = new System.Drawing.Size(129, 29);
+            this.btnPath.Size = new System.Drawing.Size(97, 23);
             this.btnPath.TabIndex = 1;
             this.btnPath.Text = "閫夋嫨鐢熸垚璺緞";
             this.btnPath.UseVisualStyleBackColor = true;
@@ -100,28 +103,25 @@
             // lblds
             // 
             this.lblds.AutoSize = true;
-            this.lblds.Location = new System.Drawing.Point(29, 90);
-            this.lblds.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.lblds.Location = new System.Drawing.Point(22, 72);
             this.lblds.Name = "lblds";
-            this.lblds.Size = new System.Drawing.Size(45, 15);
+            this.lblds.Size = new System.Drawing.Size(35, 12);
             this.lblds.TabIndex = 2;
             this.lblds.Text = "琛ㄥ悕:";
             // 
             // tbPath
             // 
-            this.tbPath.Location = new System.Drawing.Point(141, 708);
-            this.tbPath.Margin = new System.Windows.Forms.Padding(4);
+            this.tbPath.Location = new System.Drawing.Point(106, 566);
             this.tbPath.Name = "tbPath";
             this.tbPath.ReadOnly = true;
-            this.tbPath.Size = new System.Drawing.Size(336, 25);
+            this.tbPath.Size = new System.Drawing.Size(253, 21);
             this.tbPath.TabIndex = 7;
             // 
             // btnExit
             // 
-            this.btnExit.Location = new System.Drawing.Point(865, 750);
-            this.btnExit.Margin = new System.Windows.Forms.Padding(4);
+            this.btnExit.Location = new System.Drawing.Point(649, 600);
             this.btnExit.Name = "btnExit";
-            this.btnExit.Size = new System.Drawing.Size(228, 84);
+            this.btnExit.Size = new System.Drawing.Size(171, 67);
             this.btnExit.TabIndex = 8;
             this.btnExit.Text = "閫�鍑�";
             this.btnExit.UseVisualStyleBackColor = true;
@@ -129,10 +129,9 @@
             // 
             // btn_CreateFile
             // 
-            this.btn_CreateFile.Location = new System.Drawing.Point(141, 750);
-            this.btn_CreateFile.Margin = new System.Windows.Forms.Padding(4);
+            this.btn_CreateFile.Location = new System.Drawing.Point(106, 600);
             this.btn_CreateFile.Name = "btn_CreateFile";
-            this.btn_CreateFile.Size = new System.Drawing.Size(209, 84);
+            this.btn_CreateFile.Size = new System.Drawing.Size(157, 67);
             this.btn_CreateFile.TabIndex = 14;
             this.btn_CreateFile.Text = "鐢熸垚鏂囦欢";
             this.btn_CreateFile.UseVisualStyleBackColor = true;
@@ -140,210 +139,187 @@
             // 
             // tb_TableName
             // 
-            this.tb_TableName.Location = new System.Drawing.Point(123, 86);
-            this.tb_TableName.Margin = new System.Windows.Forms.Padding(4);
+            this.tb_TableName.Location = new System.Drawing.Point(92, 69);
             this.tb_TableName.Name = "tb_TableName";
-            this.tb_TableName.Size = new System.Drawing.Size(243, 25);
+            this.tb_TableName.Size = new System.Drawing.Size(183, 21);
             this.tb_TableName.TabIndex = 15;
             this.tb_TableName.TextChanged += new System.EventHandler(this.tb_TableName_TextChanged);
             // 
             // tb_FileName
             // 
-            this.tb_FileName.Location = new System.Drawing.Point(295, 190);
-            this.tb_FileName.Margin = new System.Windows.Forms.Padding(4);
+            this.tb_FileName.Location = new System.Drawing.Point(221, 152);
             this.tb_FileName.Name = "tb_FileName";
-            this.tb_FileName.Size = new System.Drawing.Size(264, 25);
+            this.tb_FileName.Size = new System.Drawing.Size(199, 21);
             this.tb_FileName.TabIndex = 17;
             // 
             // label1
             // 
             this.label1.AutoSize = true;
-            this.label1.Location = new System.Drawing.Point(33, 192);
-            this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.label1.Location = new System.Drawing.Point(25, 154);
             this.label1.Name = "label1";
-            this.label1.Size = new System.Drawing.Size(241, 15);
+            this.label1.Size = new System.Drawing.Size(191, 12);
             this.label1.TabIndex = 16;
             this.label1.Text = "鏂囦欢鍚嶇О(鐢ㄤ簬缁欏悇涓被鍚嶇殑鍓嶇紑):";
             // 
             // tb_WCF_NameSpacePath
             // 
-            this.tb_WCF_NameSpacePath.Location = new System.Drawing.Point(983, 358);
-            this.tb_WCF_NameSpacePath.Margin = new System.Windows.Forms.Padding(4);
+            this.tb_WCF_NameSpacePath.Location = new System.Drawing.Point(737, 286);
             this.tb_WCF_NameSpacePath.Name = "tb_WCF_NameSpacePath";
-            this.tb_WCF_NameSpacePath.Size = new System.Drawing.Size(261, 25);
+            this.tb_WCF_NameSpacePath.Size = new System.Drawing.Size(197, 21);
             this.tb_WCF_NameSpacePath.TabIndex = 19;
             // 
             // label2
             // 
             this.label2.AutoSize = true;
-            this.label2.Location = new System.Drawing.Point(862, 368);
-            this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.label2.Location = new System.Drawing.Point(646, 294);
             this.label2.Name = "label2";
-            this.label2.Size = new System.Drawing.Size(105, 15);
+            this.label2.Size = new System.Drawing.Size(83, 12);
             this.label2.TabIndex = 18;
             this.label2.Text = "椤圭洰鍛藉悕绌洪棿:";
             // 
             // tb_ChinaComment
             // 
-            this.tb_ChinaComment.Location = new System.Drawing.Point(295, 292);
-            this.tb_ChinaComment.Margin = new System.Windows.Forms.Padding(4);
+            this.tb_ChinaComment.Location = new System.Drawing.Point(221, 234);
             this.tb_ChinaComment.Name = "tb_ChinaComment";
-            this.tb_ChinaComment.Size = new System.Drawing.Size(261, 25);
+            this.tb_ChinaComment.Size = new System.Drawing.Size(197, 21);
             this.tb_ChinaComment.TabIndex = 23;
             // 
             // label4
             // 
             this.label4.AutoSize = true;
-            this.label4.Location = new System.Drawing.Point(35, 292);
-            this.label4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.label4.Location = new System.Drawing.Point(26, 234);
             this.label4.Name = "label4";
-            this.label4.Size = new System.Drawing.Size(105, 15);
+            this.label4.Size = new System.Drawing.Size(83, 12);
             this.label4.TabIndex = 22;
             this.label4.Text = "琛ㄧ殑涓枃娉ㄨВ:";
             // 
             // tb_CreatePerson
             // 
-            this.tb_CreatePerson.Location = new System.Drawing.Point(295, 349);
-            this.tb_CreatePerson.Margin = new System.Windows.Forms.Padding(4);
+            this.tb_CreatePerson.Location = new System.Drawing.Point(221, 279);
             this.tb_CreatePerson.Name = "tb_CreatePerson";
-            this.tb_CreatePerson.Size = new System.Drawing.Size(264, 25);
+            this.tb_CreatePerson.Size = new System.Drawing.Size(199, 21);
             this.tb_CreatePerson.TabIndex = 25;
             // 
             // label5
             // 
             this.label5.AutoSize = true;
-            this.label5.Location = new System.Drawing.Point(35, 361);
-            this.label5.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.label5.Location = new System.Drawing.Point(26, 289);
             this.label5.Name = "label5";
-            this.label5.Size = new System.Drawing.Size(135, 15);
+            this.label5.Size = new System.Drawing.Size(107, 12);
             this.label5.TabIndex = 24;
             this.label5.Text = "浣犵殑鍚嶅瓧鎷奸煶缂╁啓:";
             // 
             // tb_Primary
             // 
-            this.tb_Primary.Location = new System.Drawing.Point(451, 86);
-            this.tb_Primary.Margin = new System.Windows.Forms.Padding(4);
+            this.tb_Primary.Location = new System.Drawing.Point(338, 69);
             this.tb_Primary.Name = "tb_Primary";
-            this.tb_Primary.Size = new System.Drawing.Size(192, 25);
+            this.tb_Primary.Size = new System.Drawing.Size(145, 21);
             this.tb_Primary.TabIndex = 27;
             // 
             // label6
             // 
             this.label6.AutoSize = true;
-            this.label6.Location = new System.Drawing.Point(397, 90);
-            this.label6.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.label6.Location = new System.Drawing.Point(298, 72);
             this.label6.Name = "label6";
-            this.label6.Size = new System.Drawing.Size(45, 15);
+            this.label6.Size = new System.Drawing.Size(35, 12);
             this.label6.TabIndex = 26;
             this.label6.Text = "涓婚敭:";
             // 
             // tb_EntityProName
             // 
-            this.tb_EntityProName.Location = new System.Drawing.Point(747, 176);
-            this.tb_EntityProName.Margin = new System.Windows.Forms.Padding(4);
+            this.tb_EntityProName.Location = new System.Drawing.Point(560, 141);
             this.tb_EntityProName.Name = "tb_EntityProName";
-            this.tb_EntityProName.Size = new System.Drawing.Size(243, 25);
+            this.tb_EntityProName.Size = new System.Drawing.Size(183, 21);
             this.tb_EntityProName.TabIndex = 31;
             this.tb_EntityProName.TextChanged += new System.EventHandler(this.tb_EntityProName_TextChanged);
             // 
             // label7
             // 
             this.label7.AutoSize = true;
-            this.label7.Location = new System.Drawing.Point(581, 186);
-            this.label7.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.label7.Location = new System.Drawing.Point(436, 149);
             this.label7.Name = "label7";
-            this.label7.Size = new System.Drawing.Size(158, 15);
+            this.label7.Size = new System.Drawing.Size(125, 12);
             this.label7.TabIndex = 30;
             this.label7.Text = "瀹炰綋绫诲璞″悕/琛ㄥ埆鍚�:";
             // 
             // tb_EntityName
             // 
-            this.tb_EntityName.Location = new System.Drawing.Point(123, 135);
-            this.tb_EntityName.Margin = new System.Windows.Forms.Padding(4);
+            this.tb_EntityName.Location = new System.Drawing.Point(92, 108);
             this.tb_EntityName.Name = "tb_EntityName";
-            this.tb_EntityName.Size = new System.Drawing.Size(243, 25);
+            this.tb_EntityName.Size = new System.Drawing.Size(183, 21);
             this.tb_EntityName.TabIndex = 29;
             // 
             // label8
             // 
             this.label8.AutoSize = true;
-            this.label8.Location = new System.Drawing.Point(29, 139);
-            this.label8.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.label8.Location = new System.Drawing.Point(22, 111);
             this.label8.Name = "label8";
-            this.label8.Size = new System.Drawing.Size(75, 15);
+            this.label8.Size = new System.Drawing.Size(59, 12);
             this.label8.TabIndex = 28;
             this.label8.Text = "瀹炰綋绫诲悕:";
             // 
             // label9
             // 
             this.label9.AutoSize = true;
-            this.label9.Location = new System.Drawing.Point(682, 47);
-            this.label9.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.label9.Location = new System.Drawing.Point(512, 38);
             this.label9.Name = "label9";
-            this.label9.Size = new System.Drawing.Size(45, 15);
+            this.label9.Size = new System.Drawing.Size(35, 12);
             this.label9.TabIndex = 34;
             this.label9.Text = "鎺掑簭:";
             // 
             // tb_OrderBy
             // 
-            this.tb_OrderBy.Location = new System.Drawing.Point(736, 44);
-            this.tb_OrderBy.Margin = new System.Windows.Forms.Padding(4);
+            this.tb_OrderBy.Location = new System.Drawing.Point(552, 35);
             this.tb_OrderBy.Name = "tb_OrderBy";
-            this.tb_OrderBy.Size = new System.Drawing.Size(192, 25);
+            this.tb_OrderBy.Size = new System.Drawing.Size(145, 21);
             this.tb_OrderBy.TabIndex = 35;
             // 
             // label10
             // 
             this.label10.AutoSize = true;
-            this.label10.Location = new System.Drawing.Point(956, 47);
-            this.label10.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.label10.Location = new System.Drawing.Point(717, 38);
             this.label10.Name = "label10";
-            this.label10.Size = new System.Drawing.Size(83, 15);
+            this.label10.Size = new System.Drawing.Size(65, 12);
             this.label10.TabIndex = 36;
             this.label10.Text = "(榛樿闄嶅簭)";
             // 
             // tb_PrimaryDesc
             // 
-            this.tb_PrimaryDesc.Location = new System.Drawing.Point(759, 86);
-            this.tb_PrimaryDesc.Margin = new System.Windows.Forms.Padding(4);
+            this.tb_PrimaryDesc.Location = new System.Drawing.Point(569, 69);
             this.tb_PrimaryDesc.Name = "tb_PrimaryDesc";
-            this.tb_PrimaryDesc.Size = new System.Drawing.Size(192, 25);
+            this.tb_PrimaryDesc.Size = new System.Drawing.Size(145, 21);
             this.tb_PrimaryDesc.TabIndex = 38;
             // 
             // label11
             // 
             this.label11.AutoSize = true;
-            this.label11.Location = new System.Drawing.Point(677, 90);
-            this.label11.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.label11.Location = new System.Drawing.Point(508, 72);
             this.label11.Name = "label11";
-            this.label11.Size = new System.Drawing.Size(75, 15);
+            this.label11.Size = new System.Drawing.Size(59, 12);
             this.label11.TabIndex = 37;
             this.label11.Text = "涓婚敭鎻忚堪:";
             // 
             // tb_Modulelogo
             // 
-            this.tb_Modulelogo.Location = new System.Drawing.Point(295, 252);
-            this.tb_Modulelogo.Margin = new System.Windows.Forms.Padding(4);
+            this.tb_Modulelogo.Location = new System.Drawing.Point(221, 202);
             this.tb_Modulelogo.Name = "tb_Modulelogo";
-            this.tb_Modulelogo.Size = new System.Drawing.Size(264, 25);
+            this.tb_Modulelogo.Size = new System.Drawing.Size(199, 21);
             this.tb_Modulelogo.TabIndex = 41;
             // 
             // label3
             // 
             this.label3.AutoSize = true;
-            this.label3.Location = new System.Drawing.Point(33, 258);
-            this.label3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.label3.Location = new System.Drawing.Point(25, 206);
             this.label3.Name = "label3";
-            this.label3.Size = new System.Drawing.Size(211, 15);
+            this.label3.Size = new System.Drawing.Size(167, 12);
             this.label3.TabIndex = 40;
             this.label3.Text = "妯″潡绠�鍐�(鐢ㄤ簬缁欏悇涓柟娉曞悕):";
             // 
             // btn_InsertSql
             // 
-            this.btn_InsertSql.Location = new System.Drawing.Point(513, 750);
-            this.btn_InsertSql.Margin = new System.Windows.Forms.Padding(4);
+            this.btn_InsertSql.Location = new System.Drawing.Point(385, 600);
             this.btn_InsertSql.Name = "btn_InsertSql";
-            this.btn_InsertSql.Size = new System.Drawing.Size(209, 84);
+            this.btn_InsertSql.Size = new System.Drawing.Size(157, 67);
             this.btn_InsertSql.TabIndex = 42;
             this.btn_InsertSql.Text = "鐢熸垚InitSQL";
             this.btn_InsertSql.UseVisualStyleBackColor = true;
@@ -352,20 +328,18 @@
             // 
             // tb_RoutePrefix
             // 
-            this.tb_RoutePrefix.Location = new System.Drawing.Point(983, 395);
-            this.tb_RoutePrefix.Margin = new System.Windows.Forms.Padding(4);
+            this.tb_RoutePrefix.Location = new System.Drawing.Point(737, 316);
             this.tb_RoutePrefix.Name = "tb_RoutePrefix";
-            this.tb_RoutePrefix.Size = new System.Drawing.Size(192, 25);
+            this.tb_RoutePrefix.Size = new System.Drawing.Size(145, 21);
             this.tb_RoutePrefix.TabIndex = 44;
             this.tb_RoutePrefix.Text = "1111";
             // 
             // label13
             // 
             this.label13.AutoSize = true;
-            this.label13.Location = new System.Drawing.Point(862, 398);
-            this.label13.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.label13.Location = new System.Drawing.Point(646, 318);
             this.label13.Name = "label13";
-            this.label13.Size = new System.Drawing.Size(99, 15);
+            this.label13.Size = new System.Drawing.Size(77, 12);
             this.label13.TabIndex = 43;
             this.label13.Text = "WCF璺敱鍓嶇紑:";
             this.label13.Click += new System.EventHandler(this.label13_Click);
@@ -376,11 +350,9 @@
             this.groupBox1.Controls.Add(this.cmb_DataBase);
             this.groupBox1.Controls.Add(this.lbl_DataSource);
             this.groupBox1.Controls.Add(this.cmb_DataSource);
-            this.groupBox1.Location = new System.Drawing.Point(68, 15);
-            this.groupBox1.Margin = new System.Windows.Forms.Padding(4);
+            this.groupBox1.Location = new System.Drawing.Point(51, 12);
             this.groupBox1.Name = "groupBox1";
-            this.groupBox1.Padding = new System.Windows.Forms.Padding(4);
-            this.groupBox1.Size = new System.Drawing.Size(1092, 90);
+            this.groupBox1.Size = new System.Drawing.Size(819, 72);
             this.groupBox1.TabIndex = 45;
             this.groupBox1.TabStop = false;
             this.groupBox1.Text = "鏁版嵁搴撻厤缃�";
@@ -388,45 +360,45 @@
             // label17
             // 
             this.label17.AutoSize = true;
-            this.label17.Location = new System.Drawing.Point(637, 29);
-            this.label17.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.label17.Location = new System.Drawing.Point(478, 23);
             this.label17.Name = "label17";
-            this.label17.Size = new System.Drawing.Size(82, 15);
+            this.label17.Size = new System.Drawing.Size(65, 12);
             this.label17.TabIndex = 3;
             this.label17.Text = "鏁版嵁搴撶被鍨�";
             // 
             // cmb_DataBase
             // 
             this.cmb_DataBase.FormattingEnabled = true;
-            this.cmb_DataBase.Location = new System.Drawing.Point(775, 25);
-            this.cmb_DataBase.Margin = new System.Windows.Forms.Padding(4);
+            this.cmb_DataBase.Location = new System.Drawing.Point(581, 20);
             this.cmb_DataBase.Name = "cmb_DataBase";
-            this.cmb_DataBase.Size = new System.Drawing.Size(273, 23);
+            this.cmb_DataBase.Size = new System.Drawing.Size(206, 20);
             this.cmb_DataBase.TabIndex = 2;
             this.cmb_DataBase.SelectedIndexChanged += new System.EventHandler(this.cmb_DataBase_SelectedIndexChanged);
             // 
             // lbl_DataSource
             // 
             this.lbl_DataSource.AutoSize = true;
-            this.lbl_DataSource.Location = new System.Drawing.Point(13, 60);
-            this.lbl_DataSource.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.lbl_DataSource.Location = new System.Drawing.Point(10, 48);
             this.lbl_DataSource.Name = "lbl_DataSource";
-            this.lbl_DataSource.Size = new System.Drawing.Size(112, 15);
+            this.lbl_DataSource.Size = new System.Drawing.Size(89, 12);
             this.lbl_DataSource.TabIndex = 1;
             this.lbl_DataSource.Text = "鎴戞槸閾炬帴瀛楃涓�";
             // 
             // cmb_DataSource
             // 
             this.cmb_DataSource.FormattingEnabled = true;
-            this.cmb_DataSource.Location = new System.Drawing.Point(8, 25);
-            this.cmb_DataSource.Margin = new System.Windows.Forms.Padding(4);
+            this.cmb_DataSource.Location = new System.Drawing.Point(6, 20);
             this.cmb_DataSource.Name = "cmb_DataSource";
-            this.cmb_DataSource.Size = new System.Drawing.Size(273, 23);
+            this.cmb_DataSource.Size = new System.Drawing.Size(206, 20);
             this.cmb_DataSource.TabIndex = 0;
             this.cmb_DataSource.SelectedIndexChanged += new System.EventHandler(this.cmb_DataSource_SelectedIndexChanged);
             // 
             // groupBox2
             // 
+            this.groupBox2.Controls.Add(this.tb_LikeQueryAttrsName);
+            this.groupBox2.Controls.Add(this.label23);
+            this.groupBox2.Controls.Add(this.tb_LikeQueryAttrs);
+            this.groupBox2.Controls.Add(this.label22);
             this.groupBox2.Controls.Add(this.tb_PageMenuInstanceName);
             this.groupBox2.Controls.Add(this.label21);
             this.groupBox2.Controls.Add(this.tb_MenuName);
@@ -464,22 +436,76 @@
             this.groupBox2.Controls.Add(this.tb_EntityProName);
             this.groupBox2.Controls.Add(this.tb_EntityName);
             this.groupBox2.Controls.Add(this.label7);
-            this.groupBox2.Location = new System.Drawing.Point(68, 112);
-            this.groupBox2.Margin = new System.Windows.Forms.Padding(4);
+            this.groupBox2.Location = new System.Drawing.Point(51, 90);
             this.groupBox2.Name = "groupBox2";
-            this.groupBox2.Padding = new System.Windows.Forms.Padding(4);
-            this.groupBox2.Size = new System.Drawing.Size(1293, 588);
+            this.groupBox2.Size = new System.Drawing.Size(1187, 470);
             this.groupBox2.TabIndex = 46;
             this.groupBox2.TabStop = false;
             this.groupBox2.Text = "鑷畾涔夐厤缃�";
             // 
+            // label23
+            // 
+            this.label23.AutoSize = true;
+            this.label23.Location = new System.Drawing.Point(771, 215);
+            this.label23.Name = "label23";
+            this.label23.Size = new System.Drawing.Size(299, 12);
+            this.label23.TabIndex = 60;
+            this.label23.Text = "妯$硦鏌ヨ瀛楁鍚�(绀轰緥):璇疯緭鍏ョ墿鏂欑紪鐮�/鐗╂枡鍚嶇О/澶囨敞";
+            // 
+            // tb_LikeQueryAttrs
+            // 
+            this.tb_LikeQueryAttrs.Location = new System.Drawing.Point(773, 182);
+            this.tb_LikeQueryAttrs.Name = "tb_LikeQueryAttrs";
+            this.tb_LikeQueryAttrs.Size = new System.Drawing.Size(197, 21);
+            this.tb_LikeQueryAttrs.TabIndex = 59;
+            // 
+            // label22
+            // 
+            this.label22.AutoSize = true;
+            this.label22.Location = new System.Drawing.Point(771, 156);
+            this.label22.Name = "label22";
+            this.label22.Size = new System.Drawing.Size(371, 12);
+            this.label22.TabIndex = 58;
+            this.label22.Text = "妯$硦鏌ヨ瀛楁锛堢ず渚嬶級:\'MaterialCode\', \'MaterialName\', \'Remark\'";
+            // 
+            // tb_PageMenuInstanceName
+            // 
+            this.tb_PageMenuInstanceName.Location = new System.Drawing.Point(552, 212);
+            this.tb_PageMenuInstanceName.Name = "tb_PageMenuInstanceName";
+            this.tb_PageMenuInstanceName.Size = new System.Drawing.Size(197, 21);
+            this.tb_PageMenuInstanceName.TabIndex = 57;
+            // 
+            // label21
+            // 
+            this.label21.AutoSize = true;
+            this.label21.Location = new System.Drawing.Point(450, 220);
+            this.label21.Name = "label21";
+            this.label21.Size = new System.Drawing.Size(107, 12);
+            this.label21.TabIndex = 56;
+            this.label21.Text = "椤甸潰鑿滃崟瀵硅薄缂╁啓:";
+            // 
+            // tb_MenuName
+            // 
+            this.tb_MenuName.Location = new System.Drawing.Point(525, 183);
+            this.tb_MenuName.Name = "tb_MenuName";
+            this.tb_MenuName.Size = new System.Drawing.Size(197, 21);
+            this.tb_MenuName.TabIndex = 55;
+            // 
+            // label20
+            // 
+            this.label20.AutoSize = true;
+            this.label20.Location = new System.Drawing.Point(450, 191);
+            this.label20.Name = "label20";
+            this.label20.Size = new System.Drawing.Size(71, 12);
+            this.label20.TabIndex = 54;
+            this.label20.Text = "椤甸潰鑿滃崟鍚�:";
+            // 
             // label19
             // 
             this.label19.AutoSize = true;
-            this.label19.Location = new System.Drawing.Point(424, 432);
-            this.label19.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.label19.Location = new System.Drawing.Point(318, 346);
             this.label19.Name = "label19";
-            this.label19.Size = new System.Drawing.Size(751, 15);
+            this.label19.Size = new System.Drawing.Size(563, 12);
             this.label19.TabIndex = 53;
             this.label19.Text = "PurchaseType|PurchaseTypeEnum|PurchaseTypeDesc,MaterialType|MaterialTypeEnum|Mate" +
     "rialTypeDesc";
@@ -487,56 +513,50 @@
             // label18
             // 
             this.label18.AutoSize = true;
-            this.label18.Location = new System.Drawing.Point(424, 488);
-            this.label18.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.label18.Location = new System.Drawing.Point(318, 390);
             this.label18.Name = "label18";
-            this.label18.Size = new System.Drawing.Size(135, 15);
+            this.label18.Size = new System.Drawing.Size(107, 12);
             this.label18.TabIndex = 52;
             this.label18.Text = "鏋氫妇绫诲瀷瀛楁闆嗗悎:";
             // 
             // tb_EnumList
             // 
-            this.tb_EnumList.Location = new System.Drawing.Point(557, 451);
-            this.tb_EnumList.Margin = new System.Windows.Forms.Padding(4);
+            this.tb_EnumList.Location = new System.Drawing.Point(418, 361);
             this.tb_EnumList.Multiline = true;
             this.tb_EnumList.Name = "tb_EnumList";
-            this.tb_EnumList.Size = new System.Drawing.Size(491, 129);
+            this.tb_EnumList.Size = new System.Drawing.Size(369, 104);
             this.tb_EnumList.TabIndex = 51;
             // 
             // tb_GroupName
             // 
-            this.tb_GroupName.Location = new System.Drawing.Point(467, 135);
-            this.tb_GroupName.Margin = new System.Windows.Forms.Padding(4);
+            this.tb_GroupName.Location = new System.Drawing.Point(350, 108);
             this.tb_GroupName.Name = "tb_GroupName";
-            this.tb_GroupName.Size = new System.Drawing.Size(243, 25);
+            this.tb_GroupName.Size = new System.Drawing.Size(183, 21);
             this.tb_GroupName.TabIndex = 50;
             // 
             // label16
             // 
             this.label16.AutoSize = true;
-            this.label16.Location = new System.Drawing.Point(397, 139);
-            this.label16.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.label16.Location = new System.Drawing.Point(298, 111);
             this.label16.Name = "label16";
-            this.label16.Size = new System.Drawing.Size(60, 15);
+            this.label16.Size = new System.Drawing.Size(47, 12);
             this.label16.TabIndex = 49;
             this.label16.Text = "鍒嗙粍鍚�:";
             // 
             // label15
             // 
             this.label15.AutoSize = true;
-            this.label15.Location = new System.Drawing.Point(35, 30);
-            this.label15.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.label15.Location = new System.Drawing.Point(26, 24);
             this.label15.Name = "label15";
-            this.label15.Size = new System.Drawing.Size(90, 15);
+            this.label15.Size = new System.Drawing.Size(71, 12);
             this.label15.TabIndex = 47;
             this.label15.Text = "椤圭洰鍚嶅墠缂�:";
             // 
             // tb_ProjectNamePrefix
             // 
-            this.tb_ProjectNamePrefix.Location = new System.Drawing.Point(139, 26);
-            this.tb_ProjectNamePrefix.Margin = new System.Windows.Forms.Padding(4);
+            this.tb_ProjectNamePrefix.Location = new System.Drawing.Point(104, 21);
             this.tb_ProjectNamePrefix.Name = "tb_ProjectNamePrefix";
-            this.tb_ProjectNamePrefix.Size = new System.Drawing.Size(243, 25);
+            this.tb_ProjectNamePrefix.Size = new System.Drawing.Size(183, 21);
             this.tb_ProjectNamePrefix.TabIndex = 48;
             // 
             // groupBox3
@@ -546,30 +566,29 @@
             this.groupBox3.Controls.Add(this.label12);
             this.groupBox3.Controls.Add(this.tb_templeteFileDownName);
             this.groupBox3.Controls.Add(this.label14);
-            this.groupBox3.Location = new System.Drawing.Point(37, 395);
-            this.groupBox3.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+            this.groupBox3.Location = new System.Drawing.Point(28, 316);
+            this.groupBox3.Margin = new System.Windows.Forms.Padding(2);
             this.groupBox3.Name = "groupBox3";
-            this.groupBox3.Padding = new System.Windows.Forms.Padding(3, 2, 3, 2);
-            this.groupBox3.Size = new System.Drawing.Size(363, 148);
+            this.groupBox3.Padding = new System.Windows.Forms.Padding(2);
+            this.groupBox3.Size = new System.Drawing.Size(272, 118);
             this.groupBox3.TabIndex = 46;
             this.groupBox3.TabStop = false;
             this.groupBox3.Text = "瀵煎叆鍔熻兘";
             // 
             // tb_importExcelCategroy
             // 
-            this.tb_importExcelCategroy.Location = new System.Drawing.Point(191, 108);
-            this.tb_importExcelCategroy.Margin = new System.Windows.Forms.Padding(4);
+            this.tb_importExcelCategroy.Location = new System.Drawing.Point(143, 86);
             this.tb_importExcelCategroy.Name = "tb_importExcelCategroy";
-            this.tb_importExcelCategroy.Size = new System.Drawing.Size(149, 25);
+            this.tb_importExcelCategroy.Size = new System.Drawing.Size(113, 21);
             this.tb_importExcelCategroy.TabIndex = 50;
             // 
             // ck_IsShowImport
             // 
             this.ck_IsShowImport.AutoSize = true;
-            this.ck_IsShowImport.Location = new System.Drawing.Point(28, 38);
-            this.ck_IsShowImport.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+            this.ck_IsShowImport.Location = new System.Drawing.Point(21, 30);
+            this.ck_IsShowImport.Margin = new System.Windows.Forms.Padding(2);
             this.ck_IsShowImport.Name = "ck_IsShowImport";
-            this.ck_IsShowImport.Size = new System.Drawing.Size(134, 19);
+            this.ck_IsShowImport.Size = new System.Drawing.Size(108, 16);
             this.ck_IsShowImport.TabIndex = 45;
             this.ck_IsShowImport.Text = "鏄惁鏈夊鍏ュ姛鑳�";
             this.ck_IsShowImport.UseVisualStyleBackColor = true;
@@ -579,72 +598,40 @@
             // label12
             // 
             this.label12.AutoSize = true;
-            this.label12.Location = new System.Drawing.Point(12, 118);
-            this.label12.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.label12.Location = new System.Drawing.Point(9, 94);
             this.label12.Name = "label12";
-            this.label12.Size = new System.Drawing.Size(150, 15);
+            this.label12.Size = new System.Drawing.Size(119, 12);
             this.label12.TabIndex = 49;
             this.label12.Text = "涓婁紶鏂囦欢鐨勮姹傚垎绫�:";
             // 
             // tb_templeteFileDownName
             // 
-            this.tb_templeteFileDownName.Location = new System.Drawing.Point(191, 72);
-            this.tb_templeteFileDownName.Margin = new System.Windows.Forms.Padding(4);
+            this.tb_templeteFileDownName.Location = new System.Drawing.Point(143, 58);
             this.tb_templeteFileDownName.Name = "tb_templeteFileDownName";
-            this.tb_templeteFileDownName.Size = new System.Drawing.Size(149, 25);
+            this.tb_templeteFileDownName.Size = new System.Drawing.Size(113, 21);
             this.tb_templeteFileDownName.TabIndex = 48;
             // 
             // label14
             // 
             this.label14.AutoSize = true;
-            this.label14.Location = new System.Drawing.Point(13, 75);
-            this.label14.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.label14.Location = new System.Drawing.Point(10, 60);
             this.label14.Name = "label14";
-            this.label14.Size = new System.Drawing.Size(105, 15);
+            this.label14.Size = new System.Drawing.Size(83, 12);
             this.label14.TabIndex = 47;
             this.label14.Text = "鏂囦欢涓嬭浇鍚嶅瓧:";
             // 
-            // label20
+            // tb_LikeQueryAttrsName
             // 
-            this.label20.AutoSize = true;
-            this.label20.Location = new System.Drawing.Point(600, 239);
-            this.label20.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
-            this.label20.Name = "label20";
-            this.label20.Size = new System.Drawing.Size(90, 15);
-            this.label20.TabIndex = 54;
-            this.label20.Text = "椤甸潰鑿滃崟鍚�:";
-            // 
-            // tb_MenuName
-            // 
-            this.tb_MenuName.Location = new System.Drawing.Point(700, 229);
-            this.tb_MenuName.Margin = new System.Windows.Forms.Padding(4);
-            this.tb_MenuName.Name = "tb_MenuName";
-            this.tb_MenuName.Size = new System.Drawing.Size(261, 25);
-            this.tb_MenuName.TabIndex = 55;
-            // 
-            // label21
-            // 
-            this.label21.AutoSize = true;
-            this.label21.Location = new System.Drawing.Point(600, 275);
-            this.label21.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
-            this.label21.Name = "label21";
-            this.label21.Size = new System.Drawing.Size(135, 15);
-            this.label21.TabIndex = 56;
-            this.label21.Text = "椤甸潰鑿滃崟瀵硅薄缂╁啓:";
-            // 
-            // tb_PageMenuInstanceName
-            // 
-            this.tb_PageMenuInstanceName.Location = new System.Drawing.Point(736, 265);
-            this.tb_PageMenuInstanceName.Margin = new System.Windows.Forms.Padding(4);
-            this.tb_PageMenuInstanceName.Name = "tb_PageMenuInstanceName";
-            this.tb_PageMenuInstanceName.Size = new System.Drawing.Size(261, 25);
-            this.tb_PageMenuInstanceName.TabIndex = 57;
+            this.tb_LikeQueryAttrsName.Location = new System.Drawing.Point(773, 234);
+            this.tb_LikeQueryAttrsName.Name = "tb_LikeQueryAttrsName";
+            this.tb_LikeQueryAttrsName.Size = new System.Drawing.Size(197, 21);
+            this.tb_LikeQueryAttrsName.TabIndex = 61;
             // 
             // MainForm
             // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(1374, 840);
+            this.ClientSize = new System.Drawing.Size(1250, 672);
             this.Controls.Add(this.groupBox2);
             this.Controls.Add(this.groupBox1);
             this.Controls.Add(this.btn_InsertSql);
@@ -652,7 +639,6 @@
             this.Controls.Add(this.btnExit);
             this.Controls.Add(this.tbPath);
             this.Controls.Add(this.btnPath);
-            this.Margin = new System.Windows.Forms.Padding(4);
             this.Name = "MainForm";
             this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
             this.Text = "浼熸湰-CMS-浠g爜鐢熸垚鍣�(浼熸湰涓撶敤)V1.0";
@@ -723,6 +709,10 @@
         private System.Windows.Forms.TextBox tb_MenuName;
         private System.Windows.Forms.TextBox tb_PageMenuInstanceName;
         private System.Windows.Forms.Label label21;
+        private System.Windows.Forms.Label label22;
+        private System.Windows.Forms.TextBox tb_LikeQueryAttrs;
+        private System.Windows.Forms.Label label23;
+        private System.Windows.Forms.TextBox tb_LikeQueryAttrsName;
     }
 }
 
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 e9f5e78..4e429c8 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"
@@ -99,6 +99,23 @@
                 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 == "")
                 {
@@ -187,7 +204,9 @@
                     NameSpacePath = wcf_NameSpacePath,
                     ColumnNameList = columnList,
                     EntityName = entityName,
-                    EntityInstanceName = tableAlias
+                    EntityInstanceName = tableAlias,
+                    LikeQueryAttrs = _tb_LikeQueryAttrs,
+                    LikeQueryAttrsName = _tb_LikeQueryAttrsName
                 };
                 //澶勭悊鏋氫妇绫诲瀷
                 List<EnumModel> enumList = new List<EnumModel>();
@@ -303,7 +322,7 @@
 
                 //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);
+                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);
@@ -314,6 +333,48 @@
                 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.NameSpacePath}.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.NameSpacePath}.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.NameSpacePath}.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);
+
+
+
                 #endregion
 
 
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/Model/GenerateCodeParam.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/Model/GenerateCodeParam.cs"
index 9052539..8443b6e 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/Model/GenerateCodeParam.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/Model/GenerateCodeParam.cs"
@@ -53,6 +53,16 @@
         public string NameSpacePath { get; set; }
 
         /// <summary>
+        /// 妯$硦鏌ヨ灞炴�� 
+        /// </summary>
+        public string LikeQueryAttrs { get; set; }
+
+        /// <summary>
+        /// 妯$硦鏌ヨ灞炴�у悕绉� 
+        /// </summary>
+        public string LikeQueryAttrsName { get; set; }
+
+        /// <summary>
         /// 浣跨敤鐨勬灇涓惧垪琛�
         /// </summary>
         public List<EnumModel> EnumList { get; set; } = new List<EnumModel>();
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/Templete/Web/Controllers/EntityModeQueryDrawer\346\250\241\346\235\277.txt" "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/Templete/Web/Controllers/EntityModeQueryDrawer\346\250\241\346\235\277.txt"
new file mode 100644
index 0000000..39b9732
--- /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/Code/Templete/Web/Controllers/EntityModeQueryDrawer\346\250\241\346\235\277.txt"
@@ -0,0 +1,171 @@
+import {
+  ref,
+  onMounted,
+  reactive,
+  computed,
+  Ref,
+  watch,
+  SetupContext,
+  h,
+} from 'vue'
+import { injectModel } from '@/libs/Provider/Provider'
+import { $EntityName$Drawer } from '../Models/$EntityName$Drawer'
+import { ElMessage } from 'element-plus'
+import isEqual from 'lodash/isEqual'
+import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox'
+import { cloneDeep } from 'lodash'
+
+export const use$EntityName$QueryDrawer = (props: any, ctx?: any) => {
+  const $PageMenuInstanceName$Drawer = injectModel<$EntityName$Drawer>('$EntityName$Drawer')
+  /**
+   * 用来对比的初始化数据
+   */
+  const initiateData: Ref<Record<string, any>> = ref({})
+  const formData = ref<Record<string, any>>({})
+  // ref
+  const formRef = ref()
+
+  const disabled = ref(false)
+
+  const current = computed(() => {
+    return props.row || null
+  })
+
+  const inputNumber = (attrs) => {
+    return (
+      <el-input-number
+        min="1"
+        step="1"
+        precision="0"
+        {...attrs}
+      ></el-input-number>
+    )
+  }
+
+
+  const visible = computed({
+    get() {
+      return props.modelValue
+    },
+    set(val) {
+      ctx.emit('update:modelValue', val)
+    },
+  })
+  /**
+   * 添加的form字段
+   */
+  const formItems = reactive([
+    $PageAddFormAttributes_Query$
+  ])
+  /**
+   * 校验是否有数据变化
+   */
+  const checkIsEqualObject = () => {
+    const data = {
+      formData: formData.value,
+    }
+    const check = isEqual(initiateData.value, data)
+    return check
+  }
+  const commonGetFormData=()=>{
+    const data = {
+      $Save_PageAddFormAttributes_Query$
+      materialCode: formData.value.materialCode,
+      materialName: formData.value.materialName,
+      purchaseType: formData.value.purchaseType,
+      materialType: formData.value.materialType,
+      primaryUnit: formData.value.primaryUnit,
+      standard: formData.value.standard,
+      outerDiameter: formData.value.outerDiameter,
+      wallThickness: formData.value.wallThickness,
+      materialQuality: formData.value.materialQuality,
+      length: formData.value.length,
+      isMainBranch: formData.value.isMainBranch,
+      factory: formData.value.factory,
+      certification: formData.value.certification,
+      remark: formData.value.remark,
+    }
+    return data;
+  }
+  const onClose = (done: () => void) => {
+    if (visible.value) {
+      visible.value = false
+      const data =commonGetFormData();
+      ctx.emit('close', data)
+    }
+  }
+  /**
+   * 确认查询
+   */
+  const onConfirmQuery = async () => {
+    const data =commonGetFormData();
+    ctx.emit('confirmQuery', data)
+  }
+  /**
+   * 重置查询
+   */
+  const onReset = async () => {
+    formData.value = {}
+    $Save_PageAddFormAttributes_Query_Clear$
+    formData.value.materialCode = ''
+    formData.value.materialName = ''
+    formData.value.purchaseType = ''
+    formData.value.materialType = ''
+    formData.value.primaryUnit = ''
+    formData.value.standard = ''
+    formData.value.outerDiameter = ''
+    formData.value.wallThickness = ''
+    formData.value.materialQuality = ''
+    formData.value.length = ''
+    formData.value.isMainBranch = ''
+    formData.value.factory = ''
+    formData.value.certification = ''
+    formData.value.remark = ''
+    //向父组件发送自定义事件
+    ctx.emit('restQuery');
+  }
+
+  const updateCheckData = () => {
+    initiateData.value = {
+      formData: {
+        ...formData.value,
+      },
+    }
+  }
+  const updateFormItemOptions = (propName: string, enumData: any[]) => {
+    const item = formItems.find((item) => item.prop === propName)
+    if (item && enumData) {
+      item.options = enumData.map((item) => ({
+        label: item.description,
+        value: item.value,
+      }))
+    }
+  }
+  /**
+   * 通用查询枚举
+   */
+  const commonQueryEnumForFrom = async () => {
+    $CommonQueryEnumForFrom$
+  }
+  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/Code/Templete/Web/Views/NameSpacePath_module\346\250\241\346\235\277.txt" "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/Templete/Web/Views/NameSpacePath_module\346\250\241\346\235\277.txt"
new file mode 100644
index 0000000..3ac3897
--- /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/Code/Templete/Web/Views/NameSpacePath_module\346\250\241\346\235\277.txt"
@@ -0,0 +1,7 @@
+.$NameSpacePath$ {
+  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/Code/Templete/Web/Views/NameSpacePath\346\250\241\346\235\277.txt" "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/Templete/Web/Views/NameSpacePath\346\250\241\346\235\277.txt"
new file mode 100644
index 0000000..121761b
--- /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/Code/Templete/Web/Views/NameSpacePath\346\250\241\346\235\277.txt"
@@ -0,0 +1,80 @@
+import {
+  Component,
+  DefineComponent,
+  defineComponent,
+  markRaw,
+  ref,
+  SetupContext,
+  onMounted,
+} from 'vue'
+import styles from './$NameSpacePath$.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: '$EntityName$', label: '$PageMenuName$' }]
+
+export default defineComponent({
+  name: '$NameSpacePath$',
+
+  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 $EntityName$ = markRaw(module.default)
+        const foundLabel =
+          nameToLabelMap.find((item) => item.name === name)?.label || name
+        tabData.value.push({
+          label: foundLabel,
+          name,
+          component: $EntityName$,
+        })
+      }
+    }
+
+    initTableData()
+
+    return () => {
+      return (
+        <div class={styles.$NameSpacePath$}>
+          <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['$EntityName$'] = 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/Code/Templete/Web/Views/Pages/Dialog/EntityNameClassDrawer/EntityNameClassDrawer_module\346\250\241\346\235\277.txt" "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/Templete/Web/Views/Pages/Dialog/EntityNameClassDrawer/EntityNameClassDrawer_module\346\250\241\346\235\277.txt"
new file mode 100644
index 0000000..98607dd
--- /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/Code/Templete/Web/Views/Pages/Dialog/EntityNameClassDrawer/EntityNameClassDrawer_module\346\250\241\346\235\277.txt"
@@ -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/Code/Templete/Web/Views/Pages/Dialog/EntityNameClassDrawer/EntityNameClassDrawer\346\250\241\346\235\277.txt" "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/Templete/Web/Views/Pages/Dialog/EntityNameClassDrawer/EntityNameClassDrawer\346\250\241\346\235\277.txt"
new file mode 100644
index 0000000..1d16df4
--- /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/Code/Templete/Web/Views/Pages/Dialog/EntityNameClassDrawer/EntityNameClassDrawer\346\250\241\346\235\277.txt"
@@ -0,0 +1,61 @@
+import { SetupContext, defineComponent } from 'vue'
+import BaseDrawer from '@/components/BaseDrawer/BaseDrawer'
+import styles from './$EntityName$Drawer.module.scss'
+import { use$EntityName$Drawer } from '../../../../Controllers/$EntityName$Drawer.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,
+    } = use$EntityName$Drawer(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/Code/Templete/Web/Views/Pages/Dialog/EntityNameClassQueryDrawer/EntityNameClassQueryDrawer_module\346\250\241\346\235\277.txt" "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/Templete/Web/Views/Pages/Dialog/EntityNameClassQueryDrawer/EntityNameClassQueryDrawer_module\346\250\241\346\235\277.txt"
new file mode 100644
index 0000000..98607dd
--- /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/Code/Templete/Web/Views/Pages/Dialog/EntityNameClassQueryDrawer/EntityNameClassQueryDrawer_module\346\250\241\346\235\277.txt"
@@ -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/Code/Templete/Web/Views/Pages/EntityNameClass/EntityNameClass_Config\346\250\241\346\235\277.txt" "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/Templete/Web/Views/Pages/EntityNameClass/EntityNameClass_Config\346\250\241\346\235\277.txt"
new file mode 100644
index 0000000..5b71246
--- /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/Code/Templete/Web/Views/Pages/EntityNameClass/EntityNameClass_Config\346\250\241\346\235\277.txt"
@@ -0,0 +1,8 @@
+export const columns = [
+  {
+    type: 'seq',
+    width: 60,
+    title: '序号',
+  },
+  $EntityNameClass_Config_Attrs$
+]
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/Templete/Web/Views/Pages/EntityNameClass/EntityNameClass_module\346\250\241\346\235\277.txt" "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/Templete/Web/Views/Pages/EntityNameClass/EntityNameClass_module\346\250\241\346\235\277.txt"
new file mode 100644
index 0000000..55b8936
--- /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/Code/Templete/Web/Views/Pages/EntityNameClass/EntityNameClass_module\346\250\241\346\235\277.txt"
@@ -0,0 +1,113 @@
+.$PageMenuInstanceName$Content {
+  width: 100%;
+  height: 100%;
+
+  .$PageMenuInstanceName$List {
+    width: 100%;
+    height: calc(100% - 70px);
+  }
+  .headerContent {
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    height: 43px;
+  }
+  .header {
+    margin-bottom: 12px;
+    display: flex;
+    justify-content: flex-start;
+    align-items: center;
+  }
+}
+
+.tagBox {
+  width: auto;
+  min-width: 80px;
+  height: 24px;
+  background: #ffffff;
+  border-radius: 19px 19px 19px 19px;
+  opacity: 1;
+  border: 1px dashed #bcc4cc;
+  width: 50px;
+  height: 20px;
+  font-size: 14px;
+  font-family: PingFang SC, PingFang SC;
+  font-weight: 400;
+  color: #5a84ff;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  // cursor: pointer;
+}
+
+.group {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+}
+
+.groupTable {
+  width: 100%;
+}
+
+.overBox {
+  width: 100%;
+  height: calc(100% - 20px);
+  overflow: auto;
+  :global(.cs-collapse-item__header) {
+    background-color: #f1f1f1;
+    padding: 0 20px;
+    height: 35px;
+    font-size: 16px;
+    font-family: PingFang SC, PingFang SC;
+    font-weight: 500;
+  }
+  :global(.cs-collapse-item__content) {
+    padding-bottom: 0px;
+  }
+}
+.groupHeader {
+  width: 100%;
+  height: 30px;
+  background: #ccc;
+}
+
+.hideBlock {
+  display: none;
+}
+.queryForm {
+  padding: 10px;
+  background: #f5f7fa;
+  margin-bottom: 0px;
+  border-radius: 4px;
+  
+  .el-form-item {
+    margin-right: 20px;
+    margin-bottom: 0;
+    
+    // 统一输入框和选择框的宽度
+    .el-input, .el-select {
+      width: 200px; // 设置统一的宽度
+    }
+    
+    // 选择框内部输入框样式
+    .el-select .el-input__wrapper {
+      height: 32px; // 与输入框高度一致
+      padding: 1px 11px; // 与输入框内边距一致
+    }
+    
+    // 日期选择器宽度
+    .el-date-editor {
+      width: 220px;
+    }
+  }
+}
+
+// 如果需要更精确的控制,可以单独设置
+.formItem {
+  width: 200px;
+  
+  &.el-input, &.el-select {
+    width: 100%;
+  }
+}
\ No newline at end of file
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/Templete/Web/Views/Pages/EntityNameClass/EntityNameClass\346\250\241\346\235\277.txt" "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/Templete/Web/Views/Pages/EntityNameClass/EntityNameClass\346\250\241\346\235\277.txt"
new file mode 100644
index 0000000..0b6abb3
--- /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/Code/Templete/Web/Views/Pages/EntityNameClass/EntityNameClass\346\250\241\346\235\277.txt"
@@ -0,0 +1,318 @@
+import { computed, defineComponent, onMounted, reactive, ref } from 'vue'
+import type { Ref } from 'vue'
+import BaseTable from '@/components/Table/Table'
+import styles from './$EntityName$.module.scss'
+import { use$EntityName$ } from '../../../Controllers/$EntityName$'
+import IconButton from '@/components/IconButton/IconButton'
+import $EntityName$Drawer from '../Dialog/$EntityName$Drawer/$EntityName$Drawer'
+import $EntityName$QueryDrawer from '../Dialog/$EntityName$QueryDrawer/$EntityName$QueryDrawer'
+import Search from '@/components/Search/Search'
+import { columns } from './Config'
+import TdButton from '@/components/TdButton/TdButton'
+import { vPermission } from '@/libs/Permission/Permission'
+import {
+  getWmsEnumData
+} from '@/widgets/$NameSpacePath$/Models/Service/$EntityName$Drawer'
+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: '$EntityName$',
+  directives: {
+    permission: vPermission,
+  },
+  setup(props, ctx) {
+    const {
+      dataSource,
+      contextMenu,
+      dialogConfig,
+      dialogConfigForQuery,
+      tableRef,
+      current,
+      search,
+      sort,
+      headers,
+      onError,
+      onSearch,
+      onRowClick,
+      onConfirm$EntityName$,
+      onCheck,
+      onAdd$EntityName$,
+      onAdvancedQuery,
+      onExport,
+      openDetail,
+      onSuccess,
+      onBeforeUpload,
+    } = use$EntityName$(props, ctx)
+
+    //定义高级查询引用
+   const $PageMenuInstanceName$QueryDrawerRef=ref(null);
+    // 新增的查询条件
+    const queryForm = ref({
+      searchVal: '',
+      str_searchFormInputAttrs:[]
+    })
+    //定义整体模糊查询的列数组(注意:必须大小写跟后端的实体类属性名一致,否则会导致匹配不对的问题)
+    const _searchFormInputAttrs = ref([
+     $LikeQueryAttrs$
+    ]);
+    const searchFormInputAttrs_Placeholder = ref('$LikeQueryAttrsName$');
+    
+
+    // 动态枚举选项
+    const enumOptions = reactive({
+      $EntityNameClass_enumOptions$
+    })
+
+    // 获取枚举数据
+    const fetchEnumData = async () => {
+      try {
+        $EntityNameClass_fetchEnumData$
+        // 获取物料类型枚举
+        const materialTypeData = await getWmsEnumData({
+          EnumName: 'MaterialTypeEnum',
+        })
+        enumOptions.materialType = materialTypeData.map((item) => ({
+          label: item.description,
+          value: item.value,
+        }))
+
+        // 获取采购类型枚举
+        const purchaseTypeData = await getWmsEnumData({
+          EnumName: 'PurchaseTypeEnum',
+        })
+        enumOptions.purchaseType = purchaseTypeData.map((item) => ({
+          label: item.description,
+          value: item.value,
+        }))
+      } catch (error) {
+        console.error('获取枚举数据失败:', error)
+      }
+    }
+
+    // 组件挂载时获取枚举数据
+    onMounted(() => {
+      fetchEnumData()
+    })
+
+    // 定义响应式查询数据
+    const _curHighQueryData = ref({ searchVal: '',str_searchFormInputAttrs:[] });
+    // 新版的查询方法(主页面中的按钮【查询】)
+    const handleQueryForMain = async () => {
+      _curHighQueryData.value.searchVal = queryForm.value.searchVal;
+      _curHighQueryData.value.str_searchFormInputAttrs = _searchFormInputAttrs.value;
+      tableRef.value.getList(_curHighQueryData.value)
+    }
+    // 新版的查询方法(高级查询中的按钮【查询】)
+    const handleQuery = async (extraParams = {}) => {
+      let filteredData = commonGetHighQueryForm(extraParams);
+      commonSaveCurHighQueryData(filteredData);
+      tableRef.value.getList(filteredData)
+    }
+    // 新版的查询重置
+    const resetQuery = () => {
+      queryForm.value.searchVal = ''
+      queryForm.value.str_searchFormInputAttrs=_searchFormInputAttrs.value;
+    }
+     //新版的导出方法
+     const handleExport=()=>{
+      onExport(_curHighQueryData.value);
+    }
+    // 新版的查询弹出框关闭方法
+    const closeQuery = (extraParams={}) => {
+      let filteredData = commonGetHighQueryForm(extraParams);
+      console.log("closeQuery方法");
+      console.log(filteredData);
+      commonSaveCurHighQueryData(filteredData);
+    }
+    //保存查询值
+    const commonSaveCurHighQueryData=(filteredData={})=>{
+      _curHighQueryData.value = { ..._curHighQueryData.value, ...filteredData };
+      _curHighQueryData.value.searchVal = queryForm.value.searchVal
+      _curHighQueryData.value.str_searchFormInputAttrs =_searchFormInputAttrs.value;
+    }
+     //获取高级查询弹出框的查询值
+     const commonGetHighQueryForm=(extraParams={})=>{
+      // 过滤掉 undefined 的值
+      let filteredData = Object.assign(
+        {},
+        ...Object.entries(extraParams).map(([key, value]) =>
+          value !== undefined ? { [key]: value } : {}
+        )
+      )
+      //组合模糊查询
+      filteredData.searchVal = queryForm.value.searchVal
+      filteredData.str_searchFormInputAttrs =_searchFormInputAttrs.value;
+      return filteredData;
+    }
+   
+
+    /**
+     * @returns 表格
+     */
+    const RenderBaseTable = (props: RenderTableType) => {
+      const {
+        url,
+        dataSource,
+        isDrag,
+        isChecked,
+        isHidePagination,
+        params,
+        autoHeight,
+      } = props
+
+      return (
+        <div
+          class={{
+            [styles.$PageMenuInstanceName$List]: true,
+          }}
+        >
+          <BaseTable
+            ref={tableRef}
+            url={url}
+            sortUrlTpl="/api/v1/$NameSpacePath$/$PageMenuInstanceName$/{id}/adjustsort/{sort}"
+            v-model:dataSource={dataSource.value}
+            columns={columns}
+            contextMenu={contextMenu}
+            params={params}
+            isDrag={isDrag}
+            isChecked={isChecked}
+            autoHeight={autoHeight}
+            onCheck={onCheck}
+            onRowClick={onRowClick}
+            isHidePagination={isHidePagination}
+            pageSize={20}
+            v-slots={{
+              name: ({ row }: any) => {
+                return row?.name ? (
+                  <TdButton
+                    onClick={() => openDetail(row)}
+                    text={<span style="color:#5a84ff">详情</span>}
+                    icon="scale"
+                    tip={row?.name}
+                    hover
+                  >
+                    {row?.name}
+                  </TdButton>
+                ) : (
+                  '-'
+                )
+              },
+            }}
+          ></BaseTable>
+        </div>
+      )
+    }
+
+    return () => {
+      return (
+        <div class={styles.$PageMenuInstanceName$Content}>
+          {/* 添加/编辑 */}
+          <$EntityName$Drawer
+            v-model={dialogConfig.visible}
+            title={dialogConfig.title}
+            row={current.value}
+            sort={sort.value}
+            onConfirm={onConfirm$EntityName$}
+          />
+          {/* 高级查询 */}
+          <$EntityName$QueryDrawer
+            ref="$PageMenuInstanceName$QueryDrawerRef"
+            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="$PageMenuInstanceName$-add"
+                icon="add-p"
+                onClick={onAdd$EntityName$}
+                type="primary"
+              >
+                添加
+              </IconButton>
+              <el-divider direction="vertical" />
+
+              <el-divider direction="vertical" />
+              <el-upload
+                v-permission="$PageMenuInstanceName$-import"
+                name="file"
+                accept=".xlsx,.xls,.csv"
+                show-file-list={false}
+                onError={onError}
+                onSuccess={onSuccess}
+                before-upload={onBeforeUpload}
+                headers={headers.value}
+                action="/api/v1/$NameSpacePath$/$PageMenuInstanceName$/import"
+              >
+                <IconButton icon="in">导入</IconButton>
+              </el-upload>
+
+              <IconButton
+                v-permission="$PageMenuInstanceName$-output"
+                icon="out"
+                onClick={handleExport}
+              >
+                导出
+              </IconButton>
+            </div>
+            <ElFormItem style={{ marginTop: '15px' }}>
+              <ElFormItem label="关键字">
+                <ElInput
+                  v-model={queryForm.value.searchVal}
+                  placeholder={searchFormInputAttrs_Placeholder.value}
+                  clearable
+                  class={styles.formItem}
+                />
+              </ElFormItem>
+              <IconButton type="primary" icon="search" onClick={handleQueryForMain}>
+                查询
+              </IconButton>
+              {/* <IconButton style="" icon="refresh" onClick={resetQuery}>
+                重置
+              </IconButton> */}
+              <IconButton
+                v-permission="$PageMenuInstanceName$-add"
+                icon="search"
+                onClick={onAdvancedQuery}
+                type="primary"
+              >
+                高级查询
+              </IconButton>
+            </ElFormItem>
+          </div>
+
+          <RenderBaseTable
+            url="/api/v1/$NameSpacePath$/$PageMenuInstanceName$/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/Code/Templete/Web/Views/config/NameSpacePath_Config\346\250\241\346\235\277.txt" "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/Templete/Web/Views/config/NameSpacePath_Config\346\250\241\346\235\277.txt"
new file mode 100644
index 0000000..5e8fb40
--- /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/Code/Templete/Web/Views/config/NameSpacePath_Config\346\250\241\346\235\277.txt"
@@ -0,0 +1,3 @@
+{
+  "name": "$EntityName$"
+}
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/Templete/Web/type/type\346\250\241\346\235\277.txt" "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/Templete/Web/type/type\346\250\241\346\235\277.txt"
new file mode 100644
index 0000000..adf3cf2
--- /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/Code/Templete/Web/type/type\346\250\241\346\235\277.txt"
@@ -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 $EntityName$BaseType {
+  id?: string
+  name?: string
+  code?: string
+  value?: number
+  description?: string
+  options?: Array<DataItemType>
+  abilityValue?: number | string
+  data?: DataItemType
+  defaultValue?: string | number
+  flow: string
+}
+
+export interface FlowDefinitionType {
+  id?: string
+  name?: string
+  code?: string
+  description?: string
+}
+
+export type ModuleType = Record<
+  string,
+  {
+    default: Record<string, string>
+    name: string
+  }
+>
+
+export interface TabItem {
+  name: string
+  label: string
+  component: Component
+  hidden?: boolean
+}
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Utility/CommonHelper.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/CommonHelper.cs"
index a6d8380..fa59322 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/CommonHelper.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/CommonHelper.cs"
@@ -47,6 +47,9 @@
             str = str.Replace("$Modulelogo$", param.Modulelogo);//妯″潡绠�鍐�
             str = str.Replace("$EntityInstanceName$", param.EntityInstanceName);//瀹炰緥鍚�
 
+            str = str.Replace("$EntityInstanceName$", param.EntityInstanceName);
+            str = str.Replace("$EntityInstanceName$", param.EntityInstanceName);
+
         }
 
         /// <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/Code/Utility/ListHelper.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/ListHelper.cs"
index 0e29f42..254cd17 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/ListHelper.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/ListHelper.cs"
@@ -179,6 +179,37 @@
             return newList;
         }
 
+        public static List<ColumnModel> RemoveForPageTableListQueryAttributes(List<ColumnModel> columnNameList)
+        {
+            List<ColumnModel> newList = new List<ColumnModel>();
+            ColumnModel columnModel = null;
+            for (int i = 0; i < columnNameList.Count; i++)
+            {
+                columnModel = columnNameList[i];
+                if (
+                    columnModel.ColumnName.ToUpper() == SystemCommonVar.c_creator.ToUpper()
+                    // || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_createTime.ToUpper()
+                    || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_lastModifier.ToUpper()
+                    //|| columnModel.ColumnName.ToUpper() == SystemCommonVar.c_lastModifyTime.ToUpper()
+                    || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_ModifyTime.ToUpper()
+                    || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_Id.ToUpper()
+                    || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_ExtraProperties.ToUpper()
+                    || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_ConcurrencyStamp.ToUpper()
+                    || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_DeleterId.ToUpper()
+                    || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_delFlag.ToUpper()
+                    || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_CreateId.ToUpper()
+                    || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_ModifyId.ToUpper()
+                    //|| columnModel.ColumnName.ToUpper() == SystemCommonVar.c_Sort.ToUpper()
+
+                    )
+                {
+                    continue;
+                }
+                newList.Add(columnModel);
+            }
+            return newList;
+        }
+
         /// <summary>
         /// 鑾峰彇鏈�鏂扮殑鍒桳ist闆嗗悎(鍘绘帀 Id锛孋reateId锛孧odifyId)
         /// </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/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 4522f16..d03814a 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"
@@ -1921,6 +1921,134 @@
         /// </summary>
         /// <param name="columnModelList"></param>
         /// <returns></returns>
+        public static string GetVueFormOptionsStrForPageAddFormAttributes_Query(List<ColumnModel> columnModelList, GenerateCodeParam param)
+        {
+            StringBuilder sb = new StringBuilder();
+            try
+            {
+                /*
+                   {
+      label: '鐗╂枡缂栫爜',
+      prop: 'materialCode',
+      el: 'input',
+      disabled: disabled,
+      placeholder: '璇疯緭鍏ョ墿鏂欑紪鐮�',
+      rules: [{ required: true, message: '鐗╂枡缂栫爜涓嶈兘涓虹┖', trigger: 'blur' }],
+    },
+                 */
+                List<ColumnModel> newList = ListHelper.RemoveForPageAddFormAttributes(columnModelList);
+                foreach (var columnModel in newList)
+                {
+                    DataTypeEnum enumDT = (DataTypeEnum)Enum.Parse(typeof(DataTypeEnum), "dt_" + columnModel.DataType.ToString());
+                    var elment = "input";
+                    switch (enumDT)
+                    {
+                        case DataTypeEnum.dt_datetime:
+                            elment = "date-picker";
+                            break;
+                        case DataTypeEnum.dt_bit:
+                        case DataTypeEnum.dt_tinyint:
+                            elment = "select";
+                            break;
+                        default:
+                            break;
+                    }
+                    sb.Append("                { \n");
+                    sb.Append("                   label: '" + columnModel.Description + "', \n");
+                    sb.Append("                   prop: '" + columnModel.ColumnName + "', \n");
+
+                    //娣诲姞绫诲瀷
+                    switch (enumDT)
+                    {
+                        case DataTypeEnum.dt_datetime:
+                            sb.Append("                   type: 'datetimerange', \n");
+                            break;
+                        default:
+                            break;
+                    }
+
+                    if (enumDT == DataTypeEnum.dt_decimal)
+                    {
+                        sb.Append("                   el: (props: any, { attrs }: SetupContext) => { \n");
+                        sb.Append("                     return h(inputNumber, { { \n");
+                        sb.Append("                       ...props, { \n");
+                        sb.Append("                       clearable: true, { \n");
+                        sb.Append("                       ...attrs, { \n");
+                        sb.Append("                     })  \n");
+                        sb.Append("                   },\n");
+
+                        //閰嶇疆绮惧害锛熻繖閲岄渶瑕佽幏鍙栨暟鎹簱涓殑绮惧害锛侊紒锛乀ODO锛�
+                        sb.Append("                   step: 0.01,\n");
+                        sb.Append("                   precision: 2, \n");
+                    }
+                    else if (enumDT == DataTypeEnum.dt_int)
+                    {
+                        //鍒ゆ柇鏄惁鏄笅鎷夌被鍨�
+                        //澧炲姞瀵规灇涓剧被鍨嬬殑鏀寔 
+                        if (param.EnumList?.Count > 0)
+                        {
+                            var findEnumObj = param.EnumList.Where(x => x.EnumAttrName == columnModel.ColumnName).FirstOrDefault();
+                            if (findEnumObj != null)
+                            {
+                                elment = "select";
+                                sb.Append("                   el: '" + elment + "', \n");
+                            }
+                        }
+                        else
+                        {
+                            sb.Append("                   el: (props: any, { attrs }: SetupContext) => { \n");
+                            sb.Append("                     return h(inputNumber, { { \n");
+                            sb.Append("                       ...props, { \n");
+                            sb.Append("                       clearable: true, { \n");
+                            sb.Append("                       ...attrs, { \n");
+                            sb.Append("                     })  \n");
+                            sb.Append("                   },\n");
+
+                            //閰嶇疆绮惧害锛�
+                            sb.Append("                   step: 1,\n");
+                            sb.Append("                   precision: 0, \n");
+                        }
+                    }
+                    else
+                    {
+                        sb.Append("                   el: '" + elment + "', \n");
+                    }
+
+                    sb.Append("                   disabled: disabled, \n");
+                    sb.Append("                   placeholder: '璇疯緭鍏�" + columnModel.Description + "', \n");
+                    if (columnModel.IsNullable == false)
+                    {
+                        sb.Append("              rules: [{required: true, message: '" + columnModel.Description + "涓嶈兘涓虹┖', trigger: 'blur' }], \n");
+                    }
+                    //娣诲姞绫诲瀷
+                    //switch (enumDT)
+                    //{
+                    //    case DataTypeEnum.dt_bit:
+                    //    case DataTypeEnum.dt_tinyint:
+                    //        sb.Append("                 options: [{label: '鏄�',value: 'true'}, {label: '鍚�',value: 'false'}] \n");
+                    //        break;
+                    //    default:
+                    //        break;
+                    //}
+                    sb.Append("                }, \n");
+                }
+                //鍘绘帀鏈�鍚庝竴涓�,
+                var res = sb.ToString();
+                res = res.Substring(0, res.Length - 1);
+                return res;
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+        }
+
+
+        /// <summary>
+        /// 鑾峰彇VUE formOptions瀛楃涓�(楂樼骇鏌ヨ涓殑)
+        /// </summary>
+        /// <param name="columnModelList"></param>
+        /// <returns></returns>
         public static string GetVueFormOptionsStrForCommonQueryEnumForFrom(List<ColumnModel> columnModelList, GenerateCodeParam param)
         {
             StringBuilder sb = new StringBuilder();
@@ -1944,6 +2072,49 @@
                         sb.Append(" EnumName: '" + item.EnumType + "', \n");
                         sb.Append("}) \n");
                         sb.Append("updateFormItemOptions('" + _enumAttrName + "', " + instanceName + "Enum) \n");
+                    }
+                }
+                var res = sb.ToString();
+                return res;
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+        }
+
+
+        public static string GetVueFormOptionsStr_EntityNameClass_fetchEnumData(List<ColumnModel> columnModelList, GenerateCodeParam param)
+        {
+            StringBuilder sb = new StringBuilder();
+            try
+            {
+                /*
+               
+                // 鑾峰彇鐗╂枡绫诲瀷鏋氫妇
+        const materialTypeData = await getWmsEnumData({
+          EnumName: 'MaterialTypeEnum',
+        })
+        enumOptions.materialType = materialTypeData.map((item) => ({
+          label: item.description,
+          value: item.value,
+        }))
+
+                 */
+                if (param.EnumList?.Count > 0)
+                {
+                    foreach (var item in param.EnumList)
+                    {
+                        //灞炴�у皬鍐�
+                        var instanceName = CommonHelper.FirstLowercase(item.EnumType);
+                        var _enumAttrName = CommonHelper.FirstLowercase(item.EnumAttrName);
+                        sb.Append("const "+ instanceName + "Data = await getWmsEnumData({ \n");
+                        sb.Append(" EnumName: '" + item.EnumType + "', \n");
+                        sb.Append("}) \n");
+                        sb.Append("enumOptions."+ instanceName + " = "+ instanceName + "Data.map((item) => ({ \n");
+                        sb.Append("  label: item.description, \n");
+                        sb.Append("  value: item.value, \n");
+                        sb.Append("}) \n");
                     }
                 }
                 var res = sb.ToString();
@@ -1984,6 +2155,71 @@
             }
         }
 
+        public static string GetVueFormOptionsStrForSave_PageAddFormAttributes_Query(List<ColumnModel> columnModelList, GenerateCodeParam param)
+        {
+            StringBuilder sb = new StringBuilder();
+            try
+            {
+                /*
+                  materialCode: formData.value.materialCode,
+                 */
+                List<ColumnModel> newList = ListHelper.RemoveForPageAddFormAttributes(columnModelList);
+                foreach (var columnModel in newList)
+                {
+                    sb.Append($"{columnModel.ColumnName}: formData.value.{columnModel.ColumnName}, \n");
+                }
+                //鍘绘帀鏈�鍚庝竴涓�,
+                var res = sb.ToString();
+                res = res.Substring(0, res.Length - 1);
+                return res;
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+        }
+
+
+
+        public static string GetVueFormOptionsStr_EntityNameClass_Config_Attrs(List<ColumnModel> columnModelList, GenerateCodeParam param)
+        {
+            StringBuilder sb = new StringBuilder();
+            try
+            {
+                /*
+                  
+                {
+    field: 'materialCode',
+    title: '鐗╂枡缂栫爜',
+  },
+
+                 */
+                List<ColumnModel> newList = ListHelper.RemoveForPageTableListQueryAttributes(columnModelList);
+                foreach (var columnModel in newList)
+                {
+                    sb.Append("{ \n");
+                    var findEnumObj = param.EnumList.Where(x => x.EnumAttrName == columnModel.ColumnName).FirstOrDefault();
+                    if (findEnumObj != null)
+                    {
+                        sb.Append("  field: '" + columnModel.ColumnName + "Desc', \n");
+                    }
+                    else {
+                        sb.Append("  field: '" + columnModel.ColumnName + "', \n");
+                    }
+                    sb.Append("  field: '" + columnModel.Description + "', \n");
+                    sb.Append("} \n");
+                }
+                //鍘绘帀鏈�鍚庝竴涓�,
+                var res = sb.ToString();
+                res = res.Substring(0, res.Length - 1);
+                return res;
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+        }
+
         public static string GetVueFormOptionsStrForPageAddFormAttributesByOpen(List<ColumnModel> columnModelList, GenerateCodeParam param)
         {
             StringBuilder sb = new StringBuilder();
@@ -2008,6 +2244,60 @@
             }
         }
 
+        public static string GetVueFormOptionsStrForPageAddFormAttributes_Query_Clear(List<ColumnModel> columnModelList, GenerateCodeParam param)
+        {
+            StringBuilder sb = new StringBuilder();
+            try
+            {
+                /*
+                  materialCode: res.materialCode,
+                 */
+                List<ColumnModel> newList = ListHelper.RemoveForPageAddFormAttributes(columnModelList);
+                foreach (var columnModel in newList)
+                {
+                    sb.Append($"formData.value.{columnModel.ColumnName} = '' \n");
+                }
+                //鍘绘帀鏈�鍚庝竴涓�,
+                var res = sb.ToString();
+                res = res.Substring(0, res.Length - 1);
+                return res;
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+        }
+
+        public static string GetVueFormOptionsStrForPageAdd_EntityNameClass_enumOptions(List<ColumnModel> columnModelList, GenerateCodeParam param)
+        {
+            StringBuilder sb = new StringBuilder();
+            try
+            {
+                /*
+                  isMainBranch: [] as Array<{ label: string; value: any }>,
+                 */
+                if (param.EnumList?.Count > 0)
+                {
+                    foreach (var item in param.EnumList)
+                    {
+                        //灞炴�у皬鍐�
+                        var instanceName = CommonHelper.FirstLowercase(item.EnumType);
+                        var _enumAttrName = CommonHelper.FirstLowercase(item.EnumAttrName);
+                        sb.Append(_enumAttrName + ": [] as Array<{label: string; value: any }>, \n");
+                    }
+                }
+              
+                //鍘绘帀鏈�鍚庝竴涓�,
+                var res = sb.ToString();
+                res = res.Substring(0, res.Length - 1);
+                return res;
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+        }
+
         /// <summary>
         /// 鑾峰彇VUE 瀵煎嚭鏁扮粍瀛楃涓�-姹夊瓧+灞炴��
         /// </summary>

--
Gitblit v1.9.3