From 357cf328292a4f27b6c47caafe3824835c20d831 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周二, 06 5月 2025 12:12:12 +0800
Subject: [PATCH] 222
---
Weben_CMS专用代码生成器/Code/Utility/StructStrHelper.cs | 511 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 511 insertions(+), 0 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 346089e..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"
@@ -230,6 +230,7 @@
// var bb = "";
//}
string str_NullFlag = " ";
+ if (columnModel.IsNullable) { str_NullFlag = "? "; }
string attrStr = "";
attrStr += " /// <summary>\n";
@@ -422,6 +423,7 @@
// var bb = "";
//}
string str_NullFlag = " ";
+ if (columnModel.IsNullable) { str_NullFlag = "? "; }
string attrStr = "";
attrStr += " /// <summary>\n";
@@ -1788,6 +1790,515 @@
/// <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 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();
+ 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."+ 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();
+ 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 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();
+ 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;
+ }
+ }
+
+ 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>
/// <param name="columnModelList"></param>
--
Gitblit v1.9.3