From 391c4d67ad70df01c3bb849c16e8479edb86846d Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周三, 15 10月 2025 14:04:59 +0800 Subject: [PATCH] qww --- Weben_CMS专用代码生成器/Code/Utility/StructStrHelper.cs | 1036 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 1,010 insertions(+), 26 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 b05c3d8..bf9af82 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,4 +1,5 @@ -锘縰sing GenerateCode_WeiBen_WMS.Model; +锘縰sing GenerateCode_WeiBen_WMS.Const; +using GenerateCode_WeiBen_WMS.Model; using System; using System.Collections.Generic; using System.Configuration; @@ -84,7 +85,7 @@ model = new ColumnModel(); if (dt.Rows[n]["Precision"].ToString() != "") { - model.Precision = int.Parse(dt.Rows[n]["Precision"].ToString()); + model.MyPrecision = int.Parse(dt.Rows[n]["Precision"].ToString()); } if (dt.Rows[n]["Scale"].ToString() != "") { @@ -229,19 +230,21 @@ // var bb = ""; //} string str_NullFlag = " "; + if (columnModel.IsNullable) { str_NullFlag = "? "; } string attrStr = ""; attrStr += " /// <summary>\n"; attrStr += " /// " + columnModel.Description + "\n"; attrStr += " /// </summary>\n"; + var findEnumObj = param.EnumList.Where(x => x.EnumAttrName == attr).FirstOrDefault(); 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 += " public DateTime" + str_NullFlag + attr + " { get; set; }\n"; attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� break; case DataTypeEnum.dt_bigint: @@ -257,12 +260,21 @@ case DataTypeEnum.dt_tinyint: case DataTypeEnum.dt_bit: if (columnModel.IsNullable) { str_NullFlag = "? "; } - attrStr += " public bool" + str_NullFlag + attr + " { get; set; }\n"; - attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + if (findEnumObj != null) + { + attrStr += $" public {findEnumObj.EnumType}" + str_NullFlag + attr + " { get; set; }\n"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + } + else + { + 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"; @@ -302,6 +314,30 @@ string attrStr = ""; attrStr += $" updateObj.{attr} = input.{attr};\n"; + + + return attrStr; + } + catch (Exception ex) + { + throw ex; + } + + } + + public static string GenerateAttribute_AppService_ImportAsync(ColumnModel columnModel, GenerateCodeParam param) + { + try + { + /* + + MaterialCode = impItem.MaterialCode, + + */ + string attr = columnModel.ColumnName; + + string attrStr = ""; + attrStr += $"{attr} = impItem.{attr},\n"; return attrStr; @@ -421,12 +457,14 @@ // var bb = ""; //} string str_NullFlag = " "; + if (columnModel.IsNullable) { str_NullFlag = "? "; } string attrStr = ""; attrStr += " /// <summary>\n"; attrStr += " /// " + columnModel.Description + "\n"; attrStr += " /// </summary>\n"; + var findEnumObj = param.EnumList.Where(x => x.EnumAttrName == attr).FirstOrDefault(); DataTypeEnum myDataType = (DataTypeEnum)Enum.Parse(typeof(DataTypeEnum), "dt_" + columnModel.DataType); switch (myDataType) { @@ -449,12 +487,21 @@ case DataTypeEnum.dt_tinyint: case DataTypeEnum.dt_bit: if (columnModel.IsNullable) { str_NullFlag = "? "; } - attrStr += " public bool" + str_NullFlag + attr + " { get; set; }\n"; - attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + + if (findEnumObj != null) + { + attrStr += $" public {findEnumObj.EnumType}" + str_NullFlag + attr + " { get; set; }\n"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + } + else + { + 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"; @@ -468,7 +515,15 @@ break; default: - attrStr += " public string" + str_NullFlag + attr + " { get; set; }\n"; + //鐗规畩澶勭悊 瀛楁 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; } @@ -476,7 +531,6 @@ //澧炲姞瀵规灇涓剧被鍨嬬殑鏀寔 if (param.EnumList?.Count > 0) { - var findEnumObj = param.EnumList.Where(x => x.EnumAttrName == attr).FirstOrDefault(); if (findEnumObj != null) { attrStr += " /// <summary>\n"; @@ -523,13 +577,14 @@ attrStr += " /// </summary>\n"; attrStr += $" [ExcelColumn(Name = \"{columnModel.Description}\", Width = 25)]\n"; + var findEnumObj = param.EnumList.Where(x => x.EnumAttrName == attr).FirstOrDefault(); 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 += " public DateTime" + str_NullFlag + attr + " { get; set; }\n"; attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� break; case DataTypeEnum.dt_bigint: @@ -545,12 +600,21 @@ case DataTypeEnum.dt_tinyint: case DataTypeEnum.dt_bit: if (columnModel.IsNullable) { str_NullFlag = "? "; } - attrStr += " public bool" + str_NullFlag + attr + " { get; set; }\n"; - attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + if (findEnumObj != null) + { + attrStr += $" public {findEnumObj.EnumType}" + str_NullFlag + attr + " { get; set; }\n"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + } + else + { + 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"; @@ -585,7 +649,7 @@ /// </summary> /// <param name="columnModel"></param> /// <returns></returns> - public static string GenerateAttributeForQueryModel(ColumnModel columnModel) + public static string GenerateAttributeForQueryModel(ColumnModel columnModel, GenerateCodeParam param) { try { @@ -608,6 +672,7 @@ attrStr += " /// " + columnModel.Description + "\n"; attrStr += " /// </summary>\n"; + var findEnumObj = param.EnumList.Where(x => x.EnumAttrName == attr).FirstOrDefault(); DataTypeEnum myDataType = (DataTypeEnum)Enum.Parse(typeof(DataTypeEnum), "dt_" + columnModel.DataType); switch (myDataType) { @@ -616,7 +681,7 @@ case DataTypeEnum.dt_datetimeoffset: attrStr += " //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规�n"; attrStr += " [HighSearchRangeAttribute]\n"; - attrStr += " public List<string>" + emptyStr + attr + " { get; set; }\n"; + attrStr += " public string" + emptyStr + attr + " { get; set; }\n"; attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� break; case DataTypeEnum.dt_bigint: @@ -628,13 +693,29 @@ attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� break; case DataTypeEnum.dt_int: - attrStr += " public int" + str_NullFlag + emptyStr + attr + " { get; set; }\n"; - attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + if (findEnumObj != null) + { + attrStr += $" public {findEnumObj.EnumType}" + str_NullFlag + emptyStr + attr + " { get; set; }\n"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + } + else + { + 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";//鏈�鍚庢槸鍔犱竴涓┖鏍� + if (findEnumObj != null) + { + attrStr += $" public {findEnumObj.EnumType}" + str_NullFlag + emptyStr + attr + " { get; set; }\n"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + } + else + { + attrStr += " public bool" + str_NullFlag + emptyStr + attr + " { get; set; }\n"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + } break; default: attrStr += " public string" + emptyStr + attr + " { get; set; }\n"; @@ -852,7 +933,7 @@ case DataTypeEnum.dt_decimal: case DataTypeEnum.dt_float: sql.Append("@" + attrColumnName + " " + columnModel.DataType - + "(" + columnModel.Precision.ToString() + "," + columnModel.Scale.ToString() + ") " + fuhao + "\n"); + + "(" + columnModel.MyPrecision.ToString() + "," + columnModel.Scale.ToString() + ") " + fuhao + "\n"); break; default: break; @@ -914,7 +995,7 @@ case DataTypeEnum.dt_decimal: case DataTypeEnum.dt_float: sql.Append("@" + attrColumnName + " " + columnModel.DataType - + "(" + columnModel.Precision.ToString() + "," + columnModel.Scale.ToString() + ") " + fuhao + "\n"); + + "(" + columnModel.MyPrecision.ToString() + "," + columnModel.Scale.ToString() + ") " + fuhao + "\n"); break; default: break; @@ -975,7 +1056,7 @@ case DataTypeEnum.dt_decimal: case DataTypeEnum.dt_float: sql.Append("@" + attrColumnName + " " + columnModel.DataType - + "(" + columnModel.Precision.ToString() + "," + columnModel.Scale.ToString() + ") " + fuhao); + + "(" + columnModel.MyPrecision.ToString() + "," + columnModel.Scale.ToString() + ") " + fuhao); break; default: break; @@ -1725,6 +1806,8 @@ List<ColumnModel> newList = ListHelper.RemoveIdOperationRemarkCreateIdModifyId(columnModelList); foreach (var columnModel in newList) { + //棣栧瓧姣嶅皬鍐� + var low_prop_ColumnName = CommonHelper.FirstLowercase(columnModel.ColumnName); DataTypeEnum enumDT = (DataTypeEnum)Enum.Parse(typeof(DataTypeEnum), "dt_" + columnModel.DataType.ToString()); var elment = "el-input"; switch (enumDT) @@ -1741,7 +1824,7 @@ } sb.Append(" { \n"); sb.Append(" label: '" + columnModel.Description + "', \n"); - sb.Append(" prop: '" + columnModel.ColumnName + "', \n"); + sb.Append(" prop: '" + low_prop_ColumnName + "', \n"); //娣诲姞绫诲瀷 switch (enumDT) @@ -1759,7 +1842,8 @@ { case DataTypeEnum.dt_bit: case DataTypeEnum.dt_tinyint: - sb.Append(" options: [{label: '鏄�',value: 'true'}, {label: '鍚�',value: 'false'}] \n"); + //sb.Append(" options: [{label: '鏄�',value: true}, {label: '鍚�',value: false}] \n"); + sb.Append(" options: BOOLEAN_OPTIONS_AddEdit \n"); break; default: break; @@ -1779,6 +1863,906 @@ /// <summary> + /// 鑾峰彇VUE formOptions瀛楃涓�(娣诲姞銆佷慨鏀瑰脊鍑洪〉闈㈢殑) + /// </summary> + /// <param name="columnModelList"></param> + /// <returns></returns> + public static string GetVueFormOptionsStrForPageAddFormAttributes_formItems(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) + { + + //棣栧瓧姣嶅皬鍐� + var low_prop_ColumnName = CommonHelper.FirstLowercase(columnModel.ColumnName); + 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: '" + low_prop_ColumnName + "', \n"); + + //娣诲姞绫诲瀷 + //switch (enumDT) + //{ + // case DataTypeEnum.dt_datetime: + // sb.Append(" el: (props: any, { attrs }: SetupContext) => { \n"); + // sb.Append(" return h(datePicker, { \n"); + // sb.Append(" ...props, \n"); + // sb.Append(" clearable: true, \n"); + // sb.Append(" ...attrs, \n"); + // sb.Append(" }) \n"); + // sb.Append(" },\n"); + + // sb.Append(" width: '100%',\n"); + // break; + // default: + // break; + //} + if (enumDT == DataTypeEnum.dt_datetime) + { + sb.Append(" el: (props: any, { attrs }: SetupContext) => { \n"); + sb.Append(" return h(datePicker, { \n"); + sb.Append(" ...props, \n"); + sb.Append(" clearable: true, \n"); + sb.Append(" ...attrs, \n"); + sb.Append(" }) \n"); + sb.Append(" },\n"); + + sb.Append(" width: '100%',\n"); + } + + else 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"); + + sb.Append(" width: '100%',\n"); + //閰嶇疆绮惧害锛熻繖閲岄渶瑕佽幏鍙栨暟鎹簱涓殑绮惧害锛侊紒锛乀ODO锛� + sb.Append(" step: 0.01,\n"); + sb.Append(" precision: 2, \n"); + } + else if (enumDT == DataTypeEnum.dt_int) + { + bool isWriteInt = true; + //鍒ゆ柇鏄惁鏄笅鎷夌被鍨� + //澧炲姞瀵规灇涓剧被鍨嬬殑鏀寔 + 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"); + sb.Append(" clearable:true, \n"); + sb.Append(" options: [], \n"); + isWriteInt = false; + } + } + if (isWriteInt) + { + 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(" width: '100%',\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: + //澧炲姞瀵规灇涓剧被鍨嬬殑鏀寔 + if (param.EnumList?.Count > 0) + { + var findEnumObj = param.EnumList.Where(x => x.EnumAttrName == columnModel.ColumnName).FirstOrDefault(); + if (findEnumObj != null) + { + sb.Append(" clearable:true, \n"); + sb.Append(" option: [], \n"); + } + else + { + //sb.Append(" options: [{label: '鏄�',value: true}, {label: '鍚�',value: false}] \n"); + sb.Append(" options: BOOLEAN_OPTIONS_AddEdit \n"); + } + } + else + { + //sb.Append(" options: [{label: '鏄�',value: true}, {label: '鍚�',value: false}] \n"); + sb.Append(" options: BOOLEAN_OPTIONS_AddEdit \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> + /// 鏋勫缓 楂樼骇鏌ヨ涓殑form瀛楁 + /// </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: '璇疯緭鍏ョ墿鏂欑紪鐮�', + highSelectAttrs:{ + prop: 'materialCode_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options:FILTER_MODE_OPTIONS_STRING, + } + }, + */ + //List<ColumnModel> newList = ListHelper.RemoveForPageAddFormAttributes(columnModelList); + foreach (var columnModel in columnModelList) + { + //棣栧瓧姣嶅皬鍐� + var low_prop_ColumnName = CommonHelper.FirstLowercase(columnModel.ColumnName); + 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: '" + low_prop_ColumnName + "', \n"); + + //娣诲姞绫诲瀷 + //switch (enumDT) + //{ + // case DataTypeEnum.dt_datetime: + // sb.Append(" el: (props: any, { attrs }: SetupContext) => { \n"); + // sb.Append(" return h(dateTimePickerRange, { \n"); + // sb.Append(" ...props,\n"); + // sb.Append(" clearable: true, \n"); + // sb.Append(" ...attrs, \n"); + // sb.Append(" }) \n"); + // sb.Append(" },\n"); + + // sb.Append(" width: '100%',\n"); + // break; + // default: + // break; + //} + if (enumDT == DataTypeEnum.dt_datetime) + { + sb.Append(" el: (props: any, { attrs }: SetupContext) => { \n"); + sb.Append(" return h(dateTimePickerRange, { \n"); + sb.Append(" ...props,\n"); + sb.Append(" clearable: true, \n"); + sb.Append(" ...attrs, \n"); + sb.Append(" }) \n"); + sb.Append(" },\n"); + + sb.Append(" width: '100%',\n"); + } + else 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"); + + sb.Append(" width: '100%',\n"); + //閰嶇疆绮惧害锛熻繖閲岄渶瑕佽幏鍙栨暟鎹簱涓殑绮惧害锛侊紒锛乀ODO锛� + sb.Append(" step: 0.01,\n"); + sb.Append(" precision: 2, \n"); + } + else if (enumDT == DataTypeEnum.dt_int) + { + bool isWriteInt = true; + //鍒ゆ柇鏄惁鏄笅鎷夌被鍨� + //澧炲姞瀵规灇涓剧被鍨嬬殑鏀寔 + 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"); + sb.Append(" clearable:true, \n"); + sb.Append(" option: [], \n"); + isWriteInt = false; + } + } + if (isWriteInt) + { + 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(" width: '100%',\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"); + + //娣诲姞绫诲瀷 + switch (enumDT) + { + case DataTypeEnum.dt_bit: + case DataTypeEnum.dt_tinyint: + //澧炲姞瀵规灇涓剧被鍨嬬殑鏀寔 + if (param.EnumList?.Count > 0) + { + var findEnumObj = param.EnumList.Where(x => x.EnumAttrName == columnModel.ColumnName).FirstOrDefault(); + if (findEnumObj != null) + { + sb.Append(" clearable:true, \n"); + sb.Append(" option: [], \n"); + } + else + { + sb.Append(" clearable:true, \n"); + sb.Append(" options: BOOLEAN_OPTIONS, \n"); + } + } + else + { + sb.Append(" clearable:true, \n"); + sb.Append(" options: BOOLEAN_OPTIONS, \n"); + } + + break; + default: + break; + } + + //澶勭悊楂樼骇select鏌ヨ + MyDataTypeCategorizeEnum myDataTypeCategorizeEnum = CommonHelper.GetMyDataTypeCategorizeEnum(enumDT); + switch (myDataTypeCategorizeEnum) + { + case MyDataTypeCategorizeEnum.甯冨皵绫�: + sb.Append(" highSelectAttrs:{ \n"); + sb.Append($" prop: '{low_prop_ColumnName}_FilterMode', \n"); + sb.Append(" el: 'select', \n"); + sb.Append(" placeholder: '璇烽�夋嫨', \n"); + sb.Append(" options:FILTER_MODE_OPTIONS_BOOL \n");//bool鏌ヨ + sb.Append(" } \n"); + + break; + case MyDataTypeCategorizeEnum.鏁板瓧绫�: + if (param.EnumList?.Count > 0) + { + var findEnumObj = param.EnumList.Where(x => x.EnumAttrName == columnModel.ColumnName).FirstOrDefault(); + if (findEnumObj != null) + { + sb.Append(" highSelectAttrs:{ \n"); + sb.Append($" prop: '{low_prop_ColumnName}_FilterMode', \n"); + sb.Append(" el: 'select', \n"); + sb.Append(" placeholder: '璇烽�夋嫨', \n"); + sb.Append(" options:FILTER_MODE_OPTIONS_BOOL \n");//bool鏌ヨ + sb.Append(" } \n"); + } + else + { + sb.Append(" highSelectAttrs:{ \n"); + sb.Append($" prop: '{low_prop_ColumnName}_FilterMode', \n"); + sb.Append(" el: 'select', \n"); + sb.Append(" placeholder: '璇烽�夋嫨', \n"); + sb.Append(" options:FILTER_MODE_OPTIONS_NUM \n");//鏁板瓧绫绘煡璇� + sb.Append(" } \n"); + } + } + else + { + sb.Append(" highSelectAttrs:{ \n"); + sb.Append($" prop: '{low_prop_ColumnName}_FilterMode', \n"); + sb.Append(" el: 'select', \n"); + sb.Append(" placeholder: '璇烽�夋嫨', \n"); + sb.Append(" options:FILTER_MODE_OPTIONS_NUM \n");//鏁板瓧绫绘煡璇� + sb.Append(" } \n"); + } + + break; + case MyDataTypeCategorizeEnum.鏃ユ湡绫�: + //鏃ユ湡绫� 楂樼骇 select鏌ヨ娌℃湁 + sb.Append(" isDateControl: true, // 鏄惧紡鏍囪涓烘棩鏈熸帶浠� \n"); + break; + default://鍓╀綑鐨勪竴寰嬭涓烘槸 瀛楃涓� + sb.Append(" highSelectAttrs:{ \n"); + sb.Append($" prop: '{low_prop_ColumnName}_FilterMode', \n"); + sb.Append(" el: 'select', \n"); + sb.Append(" placeholder: '璇烽�夋嫨', \n"); + sb.Append(" options:FILTER_MODE_OPTIONS_STRING \n");//瀛楃涓茬被鏌ヨ + sb.Append(" } \n"); + 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; + } + } + + + 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." + _enumAttrName + " = " + instanceName + "Data.map((item) => ({ \n"); + sb.Append(" label: item.description, \n"); + sb.Append(" value: item.value, \n"); + sb.Append("})) \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, + */ + foreach (var columnModel in columnModelList) + { + //棣栧瓧姣嶅皬鍐� + var low_prop_ColumnName = CommonHelper.FirstLowercase(columnModel.ColumnName); + sb.Append($"{low_prop_ColumnName}: formData.value.{low_prop_ColumnName}, \n"); + } + //鍘绘帀鏈�鍚庝竴涓�, + var res = sb.ToString(); + res = res.Substring(0, res.Length - 1); + return res; + } + catch (Exception ex) + { + throw ex; + } + } + + public static string GetVueFormOptionsStrForSave_PageAddFormAttributes_Query(List<ColumnModel> columnModelList, GenerateCodeParam param) + { + StringBuilder sb = new StringBuilder(); + try + { + /* + materialCode: formData.value.materialCode, + */ + foreach (var columnModel in columnModelList) + { + + //棣栧瓧姣嶅皬鍐� + var low_prop_ColumnName = CommonHelper.FirstLowercase(columnModel.ColumnName); + sb.Append($"{low_prop_ColumnName}: formData.value.{low_prop_ColumnName} || '', \n"); + + //娣诲姞select楂樼骇鏌ヨ + DataTypeEnum enumDT = (DataTypeEnum)Enum.Parse(typeof(DataTypeEnum), "dt_" + columnModel.DataType.ToString()); + MyDataTypeCategorizeEnum myDataTypeCategorizeEnum = CommonHelper.GetMyDataTypeCategorizeEnum(enumDT); + switch (myDataTypeCategorizeEnum) + { + case MyDataTypeCategorizeEnum.甯冨皵绫�: + case MyDataTypeCategorizeEnum.鏁板瓧绫�: + default://鍓╀綑鐨勪竴寰嬭涓烘槸 瀛楃涓� + sb.Append($"{low_prop_ColumnName}_FilterMode: formData.value.{low_prop_ColumnName}_FilterMode || '', \n"); + break; + case MyDataTypeCategorizeEnum.鏃ユ湡绫�: + //鏃ユ湡绫� 楂樼骇 select鏌ヨ娌℃湁 + break; + } + } + //鍘绘帀鏈�鍚庝竴涓�, + var res = sb.ToString(); + res = res.Substring(0, res.Length - 1); + return res; + } + catch (Exception ex) + { + throw ex; + } + } + + + public static string Get_LikeQueryAttrs(List<ColumnModel> columnModelList, GenerateCodeParam param) + { + StringBuilder sb = new StringBuilder(); + try + { + /* + [妯$硦鏌ヨ瀛楁]:'TaskCode','MaterialMode', 'ProductCode' + */ + List<ColumnModel> newList = ListHelper.RemoveForPageTableListQueryAttributes(columnModelList); + foreach (var columnModel in newList) + { + //鑾峰彇鏁版嵁绫诲瀷 + DataTypeEnum enumDT = (DataTypeEnum)Enum.Parse(typeof(DataTypeEnum), "dt_" + columnModel.DataType.ToString()); + switch (enumDT) + { + case DataTypeEnum.dt_nvarchar: + case DataTypeEnum.dt_varchar: + case DataTypeEnum.dt_longtext: + sb.Append($"'{columnModel.ColumnName}',"); + break; + default: + break; + } + } + //鍘绘帀鏈�鍚庝竴涓�, + var res = sb.ToString(); + if (res.Length > 1) + { + res = res.Substring(0, res.Length - 1); + } + return res; + } + catch (Exception ex) + { + throw ex; + } + } + + public static string Get_LikeQueryAttrsName(List<ColumnModel> columnModelList, GenerateCodeParam param) + { + StringBuilder sb = new StringBuilder(); + try + { + /* + [妯$硦鏌ヨ瀛楁鍚峕:璇疯緭鍏ヤ换鍔$紪鐮�/鍘熸枡鍨嬪彿/浜у搧浠g爜 + */ + List<ColumnModel> newList = ListHelper.RemoveForPageTableListQueryAttributes(columnModelList); + sb.Append("璇疯緭鍏�"); + foreach (var columnModel in newList) + { + //鑾峰彇鏁版嵁绫诲瀷 + DataTypeEnum enumDT = (DataTypeEnum)Enum.Parse(typeof(DataTypeEnum), "dt_" + columnModel.DataType.ToString()); + switch (enumDT) + { + case DataTypeEnum.dt_nvarchar: + case DataTypeEnum.dt_varchar: + case DataTypeEnum.dt_longtext: + sb.Append($"{columnModel.Description}/"); + break; + default: + break; + } + } + //鍘绘帀鏈�鍚庝竴涓�, + var res = sb.ToString(); + res = res.Substring(0, res.Length - 1); + return res; + } + catch (Exception ex) + { + throw ex; + } + } + + /// <summary> + /// 椤甸潰琛ㄦ牸鍒楁樉绀� + /// </summary> + /// <param name="columnModelList"></param> + /// <param name="param"></param> + /// <returns></returns> + 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 lowerCaseColumnName = CommonHelper.FirstLowercase(columnModel.ColumnName); + var findEnumObj = param.EnumList.Where(x => x.EnumAttrName == columnModel.ColumnName).FirstOrDefault(); + if (findEnumObj != null) + { + sb.Append(" field: '" + lowerCaseColumnName + "Desc', \n"); + } + else + { + sb.Append(" field: '" + lowerCaseColumnName + "', \n"); + } + sb.Append(" title: '" + columnModel.Description + "', \n"); + //鑾峰彇鏁版嵁绫诲瀷 + //璁剧疆瀹藉害 + DataTypeEnum enumDT = (DataTypeEnum)Enum.Parse(typeof(DataTypeEnum), "dt_" + columnModel.DataType.ToString()); + switch (enumDT) + { + case DataTypeEnum.dt_datetime: + sb.Append(" width:180, \n"); + break; + case DataTypeEnum.dt_bit: + case DataTypeEnum.dt_tinyint: + sb.Append(" width:80, \n"); + break; + default: + sb.Append(" width:160, \n"); + break; + } + sb.Append("}, \n"); + } + //鍘绘帀鏈�鍚庝竴涓�, + 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, + */ + foreach (var columnModel in columnModelList) + { + //棣栧瓧姣嶅皬鍐� + var low_prop_ColumnName = CommonHelper.FirstLowercase(columnModel.ColumnName); + sb.Append($"{low_prop_ColumnName}: res.{low_prop_ColumnName}, \n"); + } + //鍘绘帀鏈�鍚庝竴涓�, + var res = sb.ToString(); + res = res.Substring(0, res.Length - 1); + return res; + } + catch (Exception ex) + { + throw ex; + } + } + + public static string GetVueFormOptionsStrForPageAddFormAttributes_Query_Clear(List<ColumnModel> columnModelList, GenerateCodeParam param) + { + StringBuilder sb = new StringBuilder(); + try + { + /* + materialCode: res.materialCode, + */ + foreach (var columnModel in columnModelList) + { + //棣栧瓧姣嶅皬鍐� + var low_prop_ColumnName = CommonHelper.FirstLowercase(columnModel.ColumnName); + sb.Append($"formData.value.{low_prop_ColumnName} = '' \n"); + } + //鍘绘帀鏈�鍚庝竴涓�, + var res = sb.ToString(); + res = res.Substring(0, res.Length - 1); + return res; + } + catch (Exception ex) + { + throw ex; + } + } + + public static string GetVueFormOptionsStrForPageAddFormAttributes_Query_Clear_HighSelect(List<ColumnModel> columnModelList, GenerateCodeParam param) + { + StringBuilder sb = new StringBuilder(); + try + { + /* + formData.value.materialCode_FilterMode = 1 + */ + foreach (var columnModel in columnModelList) + { + //棣栧瓧姣嶅皬鍐� + var low_prop_ColumnName = CommonHelper.FirstLowercase(columnModel.ColumnName); + //娣诲姞select楂樼骇鏌ヨ + DataTypeEnum enumDT = (DataTypeEnum)Enum.Parse(typeof(DataTypeEnum), "dt_" + columnModel.DataType.ToString()); + MyDataTypeCategorizeEnum myDataTypeCategorizeEnum = CommonHelper.GetMyDataTypeCategorizeEnum(enumDT); + switch (myDataTypeCategorizeEnum) + { + case MyDataTypeCategorizeEnum.甯冨皵绫�: + case MyDataTypeCategorizeEnum.鏁板瓧绫�: + sb.Append($"formData.value.{low_prop_ColumnName}_FilterMode = 2 \n");//绮惧噯鏌ヨ + break; + default://鍓╀綑鐨勪竴寰嬭涓烘槸 瀛楃涓� + sb.Append($"formData.value.{low_prop_ColumnName}_FilterMode = 1 \n");//妯$硦鏌ヨ + break; + case MyDataTypeCategorizeEnum.鏃ユ湡绫�: + //鏃ユ湡绫� 楂樼骇 select鏌ヨ娌℃湁 + break; + } + } + //鍘绘帀鏈�鍚庝竴涓�, + 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; + } + else + { + return ""; + } + } + catch (Exception ex) + { + throw ex; + } + } + + public static string GetVueFormOptionsStrForPageAdd_QueryTableListForBool(List<ColumnModel> columnModelList, GenerateCodeParam param) + { + StringBuilder sb = new StringBuilder(); + try + { + /* + + isRead: ({ row }: any) => { + return ( + <div> + {row.isRead != null ? (row.isRead ? '鏄�' : '鍚�') : '-'} + </div> + ) + }, + + creationTime: ({ row }: any) => { + return ( + <div> + {row.creationTime != null + ? dayjs(row.creationTime).format('YYYY-MM-DD HH:mm:ss') + : '-'} + </div> + ) + }, + + */ + + foreach (var columnModel in columnModelList) + { + //灞炴�у皬鍐� + var instanceColumnName = CommonHelper.FirstLowercase(columnModel.ColumnName); + //鑾峰彇鏁版嵁绫诲瀷 + DataTypeEnum enumDT = (DataTypeEnum)Enum.Parse(typeof(DataTypeEnum), "dt_" + columnModel.DataType.ToString()); + switch (enumDT) + { + case DataTypeEnum.dt_datetime: + sb.Append(instanceColumnName + ": ({ row }: any) => { \n"); + sb.Append(" return ( \n"); + sb.Append(" <div> \n"); + sb.Append(" {row." + instanceColumnName + " != null \n"); + sb.Append(" ? dayjs(row." + instanceColumnName + ").format('YYYY-MM-DD HH:mm:ss') \n"); + sb.Append(" : '-'} \n"); + sb.Append(" </div> \n"); + sb.Append(" ) \n"); + sb.Append("},\n"); + break; + + case DataTypeEnum.dt_bit: + case DataTypeEnum.dt_tinyint: + sb.Append(instanceColumnName + ": ({ row }: any) => { \n"); + sb.Append(" return ( \n"); + sb.Append(" <div> \n"); + sb.Append(" {row." + instanceColumnName + " != null ? (row." + instanceColumnName + " ? '鏄�' : '鍚�') : '-'} \n"); + sb.Append(" </div> \n"); + sb.Append(" ) \n"); + sb.Append("},\n"); + break; + } + + } + + //鍘绘帀鏈�鍚庝竴涓�, + var res = sb.ToString(); + res = res.Substring(0, res.Length - 1); + return res; + } + catch (Exception ex) + { + throw ex; + } + } + + /// <summary> /// 鑾峰彇VUE 瀵煎嚭鏁扮粍瀛楃涓�-姹夊瓧+灞炴�� /// </summary> /// <param name="columnModelList"></param> -- Gitblit v1.9.3