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

---
 Weben_CMS专用代码生成器/Code/Utility/StructStrHelper.cs |  573 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 569 insertions(+), 4 deletions(-)

diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Utility/StructStrHelper.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Utility/StructStrHelper.cs"
index 2fafbe8..4522f16 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"
@@ -1,8 +1,11 @@
-锘縰sing System;
+锘縰sing GenerateCode_WeiBen_WMS.Const;
+using GenerateCode_WeiBen_WMS.Model;
+using System;
 using System.Collections.Generic;
 using System.Configuration;
 using System.Data;
 using System.Data.SqlClient;
+using System.Linq;
 using System.Text;
 
 namespace GenerateCode_GEBrilliantFactory
@@ -197,6 +200,7 @@
                         attrStr += "        public float" + str_NullFlag + attr + " { get; set; }\n";
                         break;
                     case DataTypeEnum.dt_bit:
+                    case DataTypeEnum.dt_tinyint:
                         if (columnModel.IsNullable) { str_NullFlag = "? "; }
                         attrStr += "        public bool" + str_NullFlag + attr + " { get; set; }\n";
                         break;
@@ -216,7 +220,7 @@
         /// </summary>
         /// <param name="columnModel"></param>
         /// <returns></returns>
-        public static string GenerateAttributeForAddModel(ColumnModel columnModel)
+        public static string GenerateAttributeForAddModel(ColumnModel columnModel, GenerateCodeParam param)
         {
             try
             {
@@ -226,6 +230,7 @@
                 //    var bb = "";
                 //}
                 string str_NullFlag = " ";
+                if (columnModel.IsNullable) { str_NullFlag = "? "; }
 
                 string attrStr = "";
                 attrStr += "        /// <summary>\n";
@@ -246,16 +251,336 @@
                         attrStr += "        public long" + str_NullFlag + attr + " { get; set; }\n";
                         attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍�
                         break;
+                    case DataTypeEnum.dt_decimal:
+                        if (columnModel.IsNullable) { str_NullFlag = "? "; }
+                        attrStr += "        public decimal" + str_NullFlag + attr + " { get; set; }\n";
+                        attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍�
+                        break;
+                    case DataTypeEnum.dt_tinyint:
+                    case DataTypeEnum.dt_bit:
+                        if (columnModel.IsNullable) { str_NullFlag = "? "; }
+                        attrStr += "        public bool" + str_NullFlag + attr + " { get; set; }\n";
+                        attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍�
+                        break;
                     case DataTypeEnum.dt_int:
                         if (columnModel.IsNullable) { str_NullFlag = "? "; }
-                        attrStr += "        public int" + str_NullFlag + attr + " { get; set; }\n";
-                        attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍�
+                        var findEnumObj = param.EnumList.Where(x => x.EnumAttrName == attr).FirstOrDefault();
+                        if (findEnumObj != null)
+                        {
+                            attrStr += $"        public {findEnumObj.EnumType}" + str_NullFlag + attr + " { get; set; }\n";
+                            attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍�
+                        }
+                        else
+                        {
+                            attrStr += "        public int" + str_NullFlag + attr + " { get; set; }\n";
+                            attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍�
+                        }
                         break;
                     default:
                         attrStr += "        public string" + str_NullFlag + attr + " { get; set; }\n";
                         attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍�
                         break;
                 }
+
+                return attrStr;
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+
+        }
+
+        /// <summary>
+        /// 鐢熸垚灞炴�у瓧绗︿覆ForAddModel-鏇存柊瀹炰綋涓撶敤
+        /// </summary>
+        /// <param name="columnModel"></param>
+        /// <returns></returns>
+        public static string GenerateAttributeForUpdateModel(ColumnModel columnModel, GenerateCodeParam param)
+        {
+            try
+            {
+                string attr = columnModel.ColumnName;
+
+                string attrStr = "";
+                attrStr += $"        updateObj.{attr} = input.{attr};\n";
+
+
+                return attrStr;
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+
+        }
+
+        /// <summary>
+        /// 鐢熸垚灞炴�у瓧绗︿覆ForAddModel-鏇存柊瀹炰綋涓撶敤(瀵煎叆鏃�)
+        /// </summary>
+        /// <param name="columnModel"></param>
+        /// <returns></returns>
+        public static string GenerateAttributeForUpdateModelByImport(ColumnModel columnModel, GenerateCodeParam param)
+        {
+            try
+            {
+                string attr = columnModel.ColumnName;
+
+                string attrStr = "";
+                attrStr += $"        {attr} = {param.EntityInstanceName}.{attr},\n";
+
+
+                return attrStr;
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+
+        }
+
+        /// <summary>
+        /// 鐢熸垚灞炴�у瓧绗︿覆ForAddModel-CheckCreateOrUpdateDtoAsync涓撶敤
+        /// </summary>
+        /// <param name="columnModel"></param>
+        /// <returns></returns>
+        public static string GenerateAttributeForCheckCreateOrUpdateDtoAsync(ColumnModel columnModel, GenerateCodeParam param)
+        {
+            try
+            {
+                string attr = columnModel.ColumnName;
+
+                string attrStr = "";
+                bool isHaveMaxLength = false;
+                if (!string.IsNullOrEmpty(columnModel.DataLength))
+                {
+                    isHaveMaxLength = true;
+                }
+                if (columnModel.IsNullable == false)
+                {//蹇呭~
+                    DataTypeEnum myDataType = (DataTypeEnum)Enum.Parse(typeof(DataTypeEnum), "dt_" + columnModel.DataType);
+                    switch (myDataType)
+                    {
+                        case DataTypeEnum.dt_datetime:
+                        case DataTypeEnum.dt_datetime2:
+                        case DataTypeEnum.dt_datetimeoffset:
+                            if (isHaveMaxLength)
+                            {
+                                attrStr += $"        Check.NotNull(input.{attr}, \"{columnModel.Description}\", {columnModel.DataLength});\n";
+                            }
+                            else
+                            {
+                                attrStr += $"        Check.NotNull(input.{attr}, \"{columnModel.Description}\");\n";
+                            }
+                            break;
+                        case DataTypeEnum.dt_bigint:
+                        case DataTypeEnum.dt_decimal:
+                        case DataTypeEnum.dt_tinyint:
+                        case DataTypeEnum.dt_bit:
+                        case DataTypeEnum.dt_int:
+                            if (isHaveMaxLength)
+                            {
+                                attrStr += $"        Check.NotNull(input.{attr}, \"{columnModel.Description}\", {columnModel.DataLength});\n";
+                            }
+                            else
+                            {
+                                attrStr += $"        Check.NotNull(input.{attr}, \"{columnModel.Description}\");\n";
+                            }
+                            break;
+                        default:
+                            if (isHaveMaxLength)
+                            {
+                                attrStr += $"        Check.NotNullOrWhiteSpace(input.{attr}, \"{columnModel.Description}\", {columnModel.DataLength});\n";
+                            }
+                            else
+                            {
+                                attrStr += $"        Check.NotNullOrWhiteSpace(input.{attr}, \"{columnModel.Description}\");\n";
+                            }
+                            break;
+                    }
+                }
+                return attrStr;
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+
+        }
+
+        /// <summary>
+        /// 鐢熸垚灞炴�у瓧绗︿覆ForAddModel-Dto瀹炰綋涓撶敤
+        /// </summary>
+        /// <param name="columnModel"></param>
+        /// <returns></returns>
+        public static string GenerateAttributeForDto(ColumnModel columnModel, GenerateCodeParam param)
+        {
+            try
+            {
+                string attr = columnModel.ColumnName;
+                //if (attr.ToUpper() == "DBId".ToUpper())
+                //{
+                //    var bb = "";
+                //}
+                string str_NullFlag = " ";
+                if (columnModel.IsNullable) { str_NullFlag = "? "; }
+
+                string attrStr = "";
+                attrStr += "        /// <summary>\n";
+                attrStr += "        /// " + columnModel.Description + "\n";
+                attrStr += "        /// </summary>\n";
+
+                DataTypeEnum myDataType = (DataTypeEnum)Enum.Parse(typeof(DataTypeEnum), "dt_" + columnModel.DataType);
+                switch (myDataType)
+                {
+                    case DataTypeEnum.dt_datetime:
+                    case DataTypeEnum.dt_datetime2:
+                    case DataTypeEnum.dt_datetimeoffset:
+                        attrStr += "        public DateTime" + str_NullFlag + attr + " { get; set; }\n";
+                        attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍�
+                        break;
+                    case DataTypeEnum.dt_bigint:
+                        if (columnModel.IsNullable) { str_NullFlag = "? "; }
+                        attrStr += "        public long" + str_NullFlag + attr + " { get; set; }\n";
+                        attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍�
+                        break;
+                    case DataTypeEnum.dt_decimal:
+                        if (columnModel.IsNullable) { str_NullFlag = "? "; }
+                        attrStr += "        public decimal" + str_NullFlag + attr + " { get; set; }\n";
+                        attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍�
+                        break;
+                    case DataTypeEnum.dt_tinyint:
+                    case DataTypeEnum.dt_bit:
+                        if (columnModel.IsNullable) { str_NullFlag = "? "; }
+                        attrStr += "        public bool" + str_NullFlag + attr + " { get; set; }\n";
+                        attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍�
+                        break;
+                    case DataTypeEnum.dt_int:
+                        if (columnModel.IsNullable) { str_NullFlag = "? "; }
+                        var findEnumObj = param.EnumList.Where(x => x.EnumAttrName == attr).FirstOrDefault();
+                        if (findEnumObj != null)
+                        {
+                            attrStr += $"        public {findEnumObj.EnumType}" + str_NullFlag + attr + " { get; set; }\n";
+                            attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍�
+                        }
+                        else
+                        {
+                            attrStr += "        public int" + str_NullFlag + attr + " { get; set; }\n";
+                            attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍�
+                        }
+
+                        break;
+                    default:
+                        //鐗规畩澶勭悊 瀛楁 ExtraProperties
+                        if (columnModel.ColumnName.ToUpper() == SystemConst.pro_ExtraProperties.ToUpper())
+                        {
+                            attrStr += "        public ExtraPropertyDictionary" + str_NullFlag + attr + " { get; set; }\n";
+                        }
+                        else
+                        {
+                            attrStr += "        public string" + str_NullFlag + attr + " { get; set; }\n";
+                        }
+                        attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍�
+                        break;
+                }
+
+                //澧炲姞瀵规灇涓剧被鍨嬬殑鏀寔 
+                if (param.EnumList?.Count > 0)
+                {
+                    var findEnumObj = param.EnumList.Where(x => x.EnumAttrName == attr).FirstOrDefault();
+                    if (findEnumObj != null)
+                    {
+                        attrStr += "        /// <summary>\n";
+                        attrStr += "        /// " + columnModel.Description + "\n";
+                        attrStr += "        /// </summary>\n";
+                        attrStr += "        public string" + str_NullFlag + findEnumObj.EnumTypeDesc + "\n";
+                        attrStr += "        { \n";
+                        attrStr += "            get \n";
+                        attrStr += "            { \n";
+                        attrStr += $"                return GetEnumDescriptionUtil.GetEnumDescription({findEnumObj.EnumAttrName}); \n";
+                        attrStr += "            } \n";
+                        attrStr += "        } \n";
+                    }
+                }
+
+                return attrStr;
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+
+        }
+
+        /// <summary>
+        /// 鐢熸垚灞炴�у瓧绗︿覆ForAddModel-Export瀹炰綋涓撶敤
+        /// </summary>
+        /// <param name="columnModel"></param>
+        /// <returns></returns>
+        public static string GenerateAttributeForExport(ColumnModel columnModel, GenerateCodeParam param)
+        {
+            try
+            {
+                string attr = columnModel.ColumnName;
+                //if (attr.ToUpper() == "DBId".ToUpper())
+                //{
+                //    var bb = "";
+                //}
+                string str_NullFlag = " ";
+
+                string attrStr = "";
+                attrStr += "        /// <summary>\n";
+                attrStr += "        /// " + columnModel.Description + "\n";
+                attrStr += "        /// </summary>\n";
+                attrStr += $"        [ExcelColumn(Name = \"{columnModel.Description}\", Width = 25)]\n";
+
+                DataTypeEnum myDataType = (DataTypeEnum)Enum.Parse(typeof(DataTypeEnum), "dt_" + columnModel.DataType);
+                switch (myDataType)
+                {
+                    case DataTypeEnum.dt_datetime:
+                    case DataTypeEnum.dt_datetime2:
+                    case DataTypeEnum.dt_datetimeoffset:
+                        attrStr += "        public datetime" + str_NullFlag + attr + " { get; set; }\n";
+                        attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍�
+                        break;
+                    case DataTypeEnum.dt_bigint:
+                        if (columnModel.IsNullable) { str_NullFlag = "? "; }
+                        attrStr += "        public long" + str_NullFlag + attr + " { get; set; }\n";
+                        attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍�
+                        break;
+                    case DataTypeEnum.dt_decimal:
+                        if (columnModel.IsNullable) { str_NullFlag = "? "; }
+                        attrStr += "        public decimal" + str_NullFlag + attr + " { get; set; }\n";
+                        attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍�
+                        break;
+                    case DataTypeEnum.dt_tinyint:
+                    case DataTypeEnum.dt_bit:
+                        if (columnModel.IsNullable) { str_NullFlag = "? "; }
+                        attrStr += "        public bool" + str_NullFlag + attr + " { get; set; }\n";
+                        attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍�
+                        break;
+                    case DataTypeEnum.dt_int:
+                        if (columnModel.IsNullable) { str_NullFlag = "? "; }
+                        var findEnumObj = param.EnumList.Where(x => x.EnumAttrName == attr).FirstOrDefault();
+                        if (findEnumObj != null)
+                        {
+                            attrStr += $"        public {findEnumObj.EnumType}" + str_NullFlag + attr + " { get; set; }\n";
+                            attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍�
+                        }
+                        else
+                        {
+                            attrStr += "        public int" + str_NullFlag + attr + " { get; set; }\n";
+                            attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍�
+                        }
+
+                        break;
+                    default:
+                        attrStr += "        public string" + str_NullFlag + attr + " { get; set; }\n";
+                        attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍�
+                        break;
+                }
+
+
 
                 return attrStr;
             }
@@ -309,10 +634,15 @@
                         attrStr += "        public long" + str_NullFlag + emptyStr + attr + " { get; set; }\n";
                         attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍�
                         break;
+                    case DataTypeEnum.dt_decimal:
+                        attrStr += "        public decimal" + str_NullFlag + emptyStr + attr + " { get; set; }\n";
+                        attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍�
+                        break;
                     case DataTypeEnum.dt_int:
                         attrStr += "        public int" + str_NullFlag + emptyStr + attr + " { get; set; }\n";
                         attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍�
                         break;
+                    case DataTypeEnum.dt_bit:
                     case DataTypeEnum.dt_tinyint:
                         attrStr += "        public bool" + str_NullFlag + emptyStr + attr + " { get; set; }\n";
                         attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍�
@@ -362,6 +692,7 @@
                     case DataTypeEnum.dt_datetimeoffset:
                         return "\n";
                     case DataTypeEnum.dt_bigint:
+                    case DataTypeEnum.dt_decimal:
                     case DataTypeEnum.dt_int:
                     case DataTypeEnum.dt_tinyint:
                         attrStr += "        public SearchFilterModeEnum " + attr + highSearchModeSuffix + " { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;\n";
@@ -467,6 +798,7 @@
                         defaultValue = "getdate()";
                         break;
                     case DataTypeEnum.dt_bit:
+                    case DataTypeEnum.dt_tinyint:
                         defaultValue = "0";
                         break;
                     default:
@@ -525,6 +857,7 @@
                     case DataTypeEnum.dt_datetime2:
                     case DataTypeEnum.dt_datetimeoffset:
                     case DataTypeEnum.dt_bit:
+                    case DataTypeEnum.dt_tinyint:
                         sql.Append("@" + attrColumnName + "  " + columnModel.DataType + " " + fuhao + "\n");
                         break;
                     case DataTypeEnum.dt_decimal:
@@ -586,6 +919,7 @@
                     case DataTypeEnum.dt_datetime2:
                     case DataTypeEnum.dt_datetimeoffset:
                     case DataTypeEnum.dt_bit:
+                    case DataTypeEnum.dt_tinyint:
                         sql.Append("@" + attrColumnName + "  " + columnModel.DataType + " " + fuhao + "\n");
                         break;
                     case DataTypeEnum.dt_decimal:
@@ -646,6 +980,7 @@
                     case DataTypeEnum.dt_datetime2:
                     case DataTypeEnum.dt_datetimeoffset:
                     case DataTypeEnum.dt_bit:
+                    case DataTypeEnum.dt_tinyint:
                         sql.Append("@" + attrColumnName + "  " + columnModel.DataType + " " + fuhao);
                         break;
                     case DataTypeEnum.dt_decimal:
@@ -771,6 +1106,7 @@
                         case DataTypeEnum.dt_datetime2:
                         case DataTypeEnum.dt_datetimeoffset:
                         case DataTypeEnum.dt_bit:
+                        case DataTypeEnum.dt_tinyint:
                             updateSql = "  " + attrColumnName + "= case @" + attrColumnName + " when NULL then " + attrColumnName + " else @" + attrColumnName + " end  ";
                             break;
                         default:
@@ -932,6 +1268,7 @@
                         str += "SqlDbType.Float," + columnModel.DataLength.ToString();
                         break;
                     case DataTypeEnum.dt_bit:
+                    case DataTypeEnum.dt_tinyint:
                         str += "SqlDbType.Bit," + columnModel.DataLength.ToString();
                         break;
                 }
@@ -1002,6 +1339,7 @@
                             sb.Append("} \n");
                             break;
                         case DataTypeEnum.dt_bit:
+                        case DataTypeEnum.dt_tinyint:
                             sb.Append("if (dataRow[\"" + columnModel.ColumnName.ToString() + "\"].ToString() != \"\") \n");
                             sb.Append("{ \n");
 
@@ -1252,6 +1590,7 @@
                             sb.Append("          </el-table-column> \n");
                             break;
                         case DataTypeEnum.dt_bit:
+                        case DataTypeEnum.dt_tinyint:
                             sb.Append("          <el-table-column prop=\"" + columnModel.ColumnName + "\" label=\"" + columnModel.Description + "\" align=\"center\"  > \n");
                             sb.Append("<template slot-scope=\"scope\">");
                             sb.Append("<el-tag :type=\"scope.row." + columnModel.ColumnName + "  ? 'danger' : 'success'\"");
@@ -1299,6 +1638,7 @@
                     switch (enumDT)
                     {
                         case DataTypeEnum.dt_bit:
+                        case DataTypeEnum.dt_tinyint:
                             sb.Append("                  <el-switch v-model=\"addForm." + columnModel.ColumnName + "\"></el-switch> \n");
                             break;
                         case DataTypeEnum.dt_datetime:
@@ -1346,6 +1686,7 @@
                     switch (enumDT)
                     {
                         case DataTypeEnum.dt_bit:
+                        case DataTypeEnum.dt_tinyint:
                             sb.Append("                  <el-switch v-model=\"viewDetailForm." + columnModel.ColumnName + "\"></el-switch> \n");
                             break;
                         case DataTypeEnum.dt_datetime:
@@ -1403,6 +1744,7 @@
                             elment = "el-date-picker";
                             break;
                         case DataTypeEnum.dt_bit:
+                        case DataTypeEnum.dt_tinyint:
                             elment = "el-select";
                             break;
                         default:
@@ -1427,6 +1769,7 @@
                     switch (enumDT)
                     {
                         case DataTypeEnum.dt_bit:
+                        case DataTypeEnum.dt_tinyint:
                             sb.Append("                 options: [{label: '鏄�',value: 'true'}, {label: '鍚�',value: 'false'}] \n");
                             break;
                         default:
@@ -1445,6 +1788,225 @@
             }
         }
 
+
+        /// <summary>
+        /// 鑾峰彇VUE formOptions瀛楃涓�(楂樼骇鏌ヨ涓殑)
+        /// </summary>
+        /// <param name="columnModelList"></param>
+        /// <returns></returns>
+        public static string GetVueFormOptionsStrForPageAddFormAttributes(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();
+            try
+            {
+                /*
+                const yesOrNoTypeEnum = await wmsMaterialDrawer.getWmsEnumData({
+      EnumName: 'YesNoEnum',
+    })
+    updateFormItemOptions('isMainBranch', yesOrNoTypeEnum)
+
+                 */
+                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 + "Enum = await " + param.PageMenuInstanceName + "Drawer.getWmsEnumData({ \n");
+                        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;
+            }
+        }
+
+        /// <summary>
+        /// 鑾峰彇VUE formOptions瀛楃涓�(楂樼骇鏌ヨ涓殑)
+        /// </summary>
+        /// <param name="columnModelList"></param>
+        /// <returns></returns>
+        public static string GetVueFormOptionsStrForSave_PageAddFormAttributes(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 GetVueFormOptionsStrForPageAddFormAttributesByOpen(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($"{columnModel.ColumnName}: res.{columnModel.ColumnName}, \n");
+                }
+                //鍘绘帀鏈�鍚庝竴涓�,
+                var res = sb.ToString();
+                res = res.Substring(0, res.Length - 1);
+                return res;
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+        }
 
         /// <summary>
         /// 鑾峰彇VUE 瀵煎嚭鏁扮粍瀛楃涓�-姹夊瓧+灞炴��
@@ -1539,6 +2101,7 @@
                             sb.Append("<el-input v-model=\"serachObj." + columnModel.ColumnName + "\" placeholder=\"璇疯緭鍏�" + columnModel.Description + "\"></el-input> \n");
                             break;
                         case DataTypeEnum.dt_bit:
+                        case DataTypeEnum.dt_tinyint:
                             sb.Append("<el-checkbox-group v-model=\"ck_delflag\" @change=\"ckDelFlag\">\n");
                             sb.Append("  <el-checkbox-button label=\"鍚敤\" name=\"ck_delflag\"></el-checkbox-button>\n");
                             sb.Append("  <el-checkbox-button label=\"绂佺敤\" name=\"ck_delflag\"></el-checkbox-button>\n");
@@ -1584,6 +2147,7 @@
                     switch (enumDT)
                     {
                         case DataTypeEnum.dt_bit:
+                        case DataTypeEnum.dt_tinyint:
                         case DataTypeEnum.dt_datetime:
                         case DataTypeEnum.dt_datetime2:
                         case DataTypeEnum.dt_datetimeoffset:
@@ -1649,6 +2213,7 @@
                             sb.Append("                } \n");
                             break;
                         case DataTypeEnum.dt_bit:
+                        case DataTypeEnum.dt_tinyint:
                             sb.Append("                if (!string.IsNullOrEmpty(queryModel." + columnModel.ColumnName + ")) \n");
                             sb.Append("                { \n");
                             sb.Append("                    strWhere += \" AND $TableAlias$." + columnModel.ColumnName + " = '\" + queryModel." + columnModel.ColumnName + " + \"'\"; \n");

--
Gitblit v1.9.3