diff --git a/src/components/FormGenerator/src/RightPanel.vue b/src/components/FormGenerator/src/RightPanel.vue
index a299cc9..67cd2b5 100644
--- a/src/components/FormGenerator/src/RightPanel.vue
+++ b/src/components/FormGenerator/src/RightPanel.vue
@@ -36,7 +36,8 @@
控件字段
-
+
+
+
diff --git a/src/views/onlineDev/webDesign/components/AliasModal.vue b/src/views/onlineDev/webDesign/components/AliasModal.vue
index 7146b2b..5111ee9 100644
--- a/src/views/onlineDev/webDesign/components/AliasModal.vue
+++ b/src/views/onlineDev/webDesign/components/AliasModal.vue
@@ -20,6 +20,7 @@
+ 驼峰命名
{{ t('common.saveText') }}
{{ t('common.closeText') }}
@@ -124,6 +125,22 @@
scroll: { y: unref(getScrollY) },
};
});
+ /**
+ * 下划线命名转驼峰命名
+ * @param str 下划线命名字符串(如 mdm_work_type、work_type_id)
+ * @param isBigHump 是否大驼峰(首字母大写),默认 false 为小驼峰
+ * @returns 驼峰命名字符串
+ */
+function toHump(str: string, isBigHump = false): string {
+ return str.replace(/_(\w)/g, (_, letter) => letter.toUpperCase())
+ .replace(/^\w/, (firstLetter) => {
+ return isBigHump ? firstLetter.toUpperCase() : firstLetter.toLowerCase();
+ });
+}
+
+// 示例:
+// toHump('mdm_work_type') → "mdmWorkType"(小驼峰)
+// toHump('work_type_id', true) → "WorkTypeId"(大驼峰)
const getChildTableBindValues = computed(() => {
return {
columns: childColumns,
@@ -151,6 +168,30 @@
});
});
}
+ // 点击触发驼峰命名(有值用原值,无值自动驼峰)
+function tuofeng() {
+ state.list = state.list.map(tableItem => {
+ // 处理表:有值用原值,无值转驼峰
+ const tableAlias = tableItem.aliasName?.trim() || toHump(tableItem.table);
+
+ // 处理字段
+ const newFields = tableItem.fields.map(fieldItem => {
+ const fieldAlias = fieldItem.aliasName?.trim() || toHump(fieldItem.field);
+ return {
+ ...fieldItem,
+ aliasName: fieldAlias
+ };
+ });
+
+ return {
+ ...tableItem,
+ aliasName: tableAlias,
+ fields: newFields
+ };
+ });
+ createMessage.success('已自动生成驼峰命名(空值才填充)');
+}
+
function handleSubmit() {
state.btnLoading = true;
changeLoading(true);