优化代码生成

This commit is contained in:
aq982 2025-01-16 03:13:33 +08:00
parent 3d18018602
commit 1db6cf5882

View File

@ -78,6 +78,21 @@
<el-input v-model="state.ruleForm.busName" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item label="生成表" prop="tableName" :rules="[{ required: true, message: '生成表不能为空', trigger: 'blur' }]">
<template v-slot:label>
<div>
生成表
<el-tooltip raw-content content="若找不到在前端生成的实体/表,请检查配置文件中实体所在程序集或重启后台服务。" placement="top">
<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"><ele-QuestionFilled /></el-icon>
</el-tooltip>
</div>
</template>
<el-select v-model="state.ruleForm.tableName" @change="tableChanged" value-key="value" filterable clearable class="w100">
<el-option v-for="item in state.tableData" :key="item.entityName" :label="item.entityName + ' ( ' + item.tableName + ' ) [' + item.tableComment + ']'" :value="item" />
</el-select>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item label="生成菜单" prop="generateMenu">
<el-radio-group v-model="state.ruleForm.generateMenu">
@ -93,17 +108,15 @@
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item label="父级菜单" prop="menuPid">
<el-cascader
:options="state.menuData"
:props="cascaderProps"
placeholder="请选择上级菜单"
:disabled="!state.ruleForm.generateMenu"
filterable
clearable
class="w100"
v-model="state.ruleForm.menuPid"
@change="menuChange"
>
<el-cascader :options="state.menuData"
:props="cascaderProps"
placeholder="请选择上级菜单"
:disabled="!state.ruleForm.generateMenu"
filterable
clearable
class="w100"
v-model="state.ruleForm.menuPid"
@change="menuChange">
<template #default="{ node, data }">
<span>{{ data.title }}</span>
<span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
@ -168,43 +181,43 @@
</el-col>
<!-- <el-divider border-style="dashed" content-position="center">
<div style="color: #b1b3b8">数据唯一性配置</div>
</el-divider>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
<el-button icon="ele-Plus" type="primary" plain @click="() => state.ruleForm.tableUniqueList?.push({})"> 增加配置 </el-button>
<span style="font-size: 12px; color: gray; padding-left: 5px"> 保证字段值的唯一性排除null值 </span>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
<template v-if="state.ruleForm.tableUniqueList != undefined && state.ruleForm.tableUniqueList.length > 0">
<el-row :gutter="35" v-for="(v, k) in state.ruleForm.tableUniqueList" :key="k">
<el-col :xs="24" :sm="14" :md="14" :lg="14" :xl="14" class="mb20">
<el-form-item label="字段" :prop="`tableUniqueList[${k}].columns`" :rules="[{ required: true, message: `字段不能为空`, trigger: 'blur' }]">
<template #label>
<el-button icon="ele-Delete" type="danger" circle plain size="small" @click="() => state.ruleForm.tableUniqueList?.splice(k, 1)" />
<span class="ml5">字段</span>
</template>
<el-select
v-model="state.ruleForm.tableUniqueList[k].columns"
@change="(val: any) => changeTableUniqueColumn(val, k)"
multiple
filterable
clearable
collapse-tags
collapse-tags-tooltip
class="w100"
>
<el-option v-for="item in state.columnData" :key="item.columnName" :label="item.columnName + ' [' + item.columnComment + ']'" :value="item.columnName" />
</el-select>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="10" :md="10" :lg="10" :xl="10" class="mb20">
<el-form-item label="描述信息" :prop="`tableUniqueList[${k}].message`" :rules="[{ required: true, message: `描述信息不能为空`, trigger: 'blur' }]">
<el-input v-model="state.ruleForm.tableUniqueList[k].message" clearable placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
</template>
</el-col> -->
<div style="color: #b1b3b8">数据唯一性配置</div>
</el-divider>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
<el-button icon="ele-Plus" type="primary" plain @click="() => state.ruleForm.tableUniqueList?.push({})"> 增加配置 </el-button>
<span style="font-size: 12px; color: gray; padding-left: 5px"> 保证字段值的唯一性排除null值 </span>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
<template v-if="state.ruleForm.tableUniqueList != undefined && state.ruleForm.tableUniqueList.length > 0">
<el-row :gutter="35" v-for="(v, k) in state.ruleForm.tableUniqueList" :key="k">
<el-col :xs="24" :sm="14" :md="14" :lg="14" :xl="14" class="mb20">
<el-form-item label="字段" :prop="`tableUniqueList[${k}].columns`" :rules="[{ required: true, message: `字段不能为空`, trigger: 'blur' }]">
<template #label>
<el-button icon="ele-Delete" type="danger" circle plain size="small" @click="() => state.ruleForm.tableUniqueList?.splice(k, 1)" />
<span class="ml5">字段</span>
</template>
<el-select
v-model="state.ruleForm.tableUniqueList[k].columns"
@change="(val: any) => changeTableUniqueColumn(val, k)"
multiple
filterable
clearable
collapse-tags
collapse-tags-tooltip
class="w100"
>
<el-option v-for="item in state.columnData" :key="item.columnName" :label="item.columnName + ' [' + item.columnComment + ']'" :value="item.columnName" />
</el-select>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="10" :md="10" :lg="10" :xl="10" class="mb20">
<el-form-item label="描述信息" :prop="`tableUniqueList[${k}].message`" :rules="[{ required: true, message: `描述信息不能为空`, trigger: 'blur' }]">
<el-input v-model="state.ruleForm.tableUniqueList[k].message" clearable placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
</template>
</el-col> -->
<el-col>
<el-divider content-position="center"> 左边布局显示树形列表右边布局上下结构显示主子表数据列表 </el-divider>
@ -219,13 +232,6 @@
</el-select>
</el-form-item>
</el-col>
<!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item label="Name字段" prop="treeName" :rules="[{ required: true, message: '请选择树控件Name字段', trigger: 'blur' }]">
<el-select v-model="state.ruleForm.treeName" @change="treeNameChanged" value-key="value" filterable clearable class="w100">
<el-option v-for="item in state.columnData" :key="item.columnName" :label="item.columnName + ' ( ' + item.columnName + ' ) [' + item.columnComment + ']'" :value="item" />
</el-select>
</el-form-item>
</el-col> -->
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item label="树表名称">
<template v-slot:label>