表单设计时,子表控件字段可以修改
代码生成时添加驼峰命名
This commit is contained in:
@@ -36,7 +36,8 @@
|
|||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item>
|
<a-form-item>
|
||||||
<template #label>控件字段<BasicHelp :text="fieldText" /></template>
|
<template #label>控件字段<BasicHelp :text="fieldText" /></template>
|
||||||
<yunzhupaas-input v-model:value="activeData.__vModel__" disabled v-if="yunzhupaasKey === 'table'" />
|
<!-- <yunzhupaas-input v-model:value="activeData.__vModel__" disabled v-if="yunzhupaasKey === 'table'" /> -->
|
||||||
|
<yunzhupaas-input v-model:value="activeData.__vModel__" v-if="yunzhupaasKey === 'table'" />
|
||||||
<yunzhupaas-select
|
<yunzhupaas-select
|
||||||
v-model:value="activeData.__vModel__"
|
v-model:value="activeData.__vModel__"
|
||||||
ref="fieldSelectRef"
|
ref="fieldSelectRef"
|
||||||
@@ -98,9 +99,16 @@
|
|||||||
<yunzhupaas-input
|
<yunzhupaas-input
|
||||||
v-model:value="activeData.__vModel__"
|
v-model:value="activeData.__vModel__"
|
||||||
placeholder="请输入数据库字段"
|
placeholder="请输入数据库字段"
|
||||||
:disabled="yunzhupaasKey === 'table' || !!formInfo.isKit"
|
|
||||||
@change="onInputFieldChange($event, config.formId, config.parentVModel)" />
|
@change="onInputFieldChange($event, config.formId, config.parentVModel)" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
<!-- <a-form-item>
|
||||||
|
<template #label>控件字段<BasicHelp :text="fieldText" /></template>
|
||||||
|
<yunzhupaas-input
|
||||||
|
v-model:value="activeData.__vModel__"
|
||||||
|
placeholder="请输入数据库字段"
|
||||||
|
:disabled="yunzhupaasKey === 'table' || !!formInfo.isKit"
|
||||||
|
@change="onInputFieldChange($event, config.formId, config.parentVModel)" />
|
||||||
|
</a-form-item> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a-form-item label="控件标题" v-if="!layoutList.includes(yunzhupaasKey) || yunzhupaasKey === 'table'">
|
<a-form-item label="控件标题" v-if="!layoutList.includes(yunzhupaasKey) || yunzhupaasKey === 'table'">
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
<a-step title="命名规范" />
|
<a-step title="命名规范" />
|
||||||
</a-steps>
|
</a-steps>
|
||||||
<a-space class="options" :size="10">
|
<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 type="primary" @click="handleSubmit()" :disabled="loading" :loading="btnLoading">{{ t('common.saveText') }}</a-button>
|
||||||
<a-button @click="closeModal()">{{ t('common.closeText') }}</a-button>
|
<a-button @click="closeModal()">{{ t('common.closeText') }}</a-button>
|
||||||
</a-space>
|
</a-space>
|
||||||
@@ -124,6 +125,22 @@
|
|||||||
scroll: { y: unref(getScrollY) },
|
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(() => {
|
const getChildTableBindValues = computed(() => {
|
||||||
return {
|
return {
|
||||||
columns: childColumns,
|
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() {
|
function handleSubmit() {
|
||||||
state.btnLoading = true;
|
state.btnLoading = true;
|
||||||
changeLoading(true);
|
changeLoading(true);
|
||||||
|
|||||||
Reference in New Issue
Block a user