表单设计时,子表控件字段可以修改
代码生成时添加驼峰命名
This commit is contained in:
@@ -20,6 +20,7 @@
|
||||
<a-step title="命名规范" />
|
||||
</a-steps>
|
||||
<a-space class="options" :size="10">
|
||||
<a-button @click="tuofeng()">驼峰命名</a-button>
|
||||
<a-button type="primary" @click="handleSubmit()" :disabled="loading" :loading="btnLoading">{{ t('common.saveText') }}</a-button>
|
||||
<a-button @click="closeModal()">{{ t('common.closeText') }}</a-button>
|
||||
</a-space>
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user