优化代码生成

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-input v-model="state.ruleForm.busName" placeholder="请输入" clearable />
</el-form-item> </el-form-item>
</el-col> </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-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item label="生成菜单" prop="generateMenu"> <el-form-item label="生成菜单" prop="generateMenu">
<el-radio-group v-model="state.ruleForm.generateMenu"> <el-radio-group v-model="state.ruleForm.generateMenu">
@ -93,17 +108,15 @@
</el-col> </el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item label="父级菜单" prop="menuPid"> <el-form-item label="父级菜单" prop="menuPid">
<el-cascader <el-cascader :options="state.menuData"
:options="state.menuData" :props="cascaderProps"
:props="cascaderProps" placeholder="请选择上级菜单"
placeholder="请选择上级菜单" :disabled="!state.ruleForm.generateMenu"
:disabled="!state.ruleForm.generateMenu" filterable
filterable clearable
clearable class="w100"
class="w100" v-model="state.ruleForm.menuPid"
v-model="state.ruleForm.menuPid" @change="menuChange">
@change="menuChange"
>
<template #default="{ node, data }"> <template #default="{ node, data }">
<span>{{ data.title }}</span> <span>{{ data.title }}</span>
<span v-if="!node.isLeaf"> ({{ data.children.length }}) </span> <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
@ -168,43 +181,43 @@
</el-col> </el-col>
<!-- <el-divider border-style="dashed" content-position="center"> <!-- <el-divider border-style="dashed" content-position="center">
<div style="color: #b1b3b8">数据唯一性配置</div> <div style="color: #b1b3b8">数据唯一性配置</div>
</el-divider> </el-divider>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> <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> <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> <span style="font-size: 12px; color: gray; padding-left: 5px"> 保证字段值的唯一性排除null值 </span>
</el-col> </el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> <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"> <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-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-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' }]"> <el-form-item label="字段" :prop="`tableUniqueList[${k}].columns`" :rules="[{ required: true, message: `字段不能为空`, trigger: 'blur' }]">
<template #label> <template #label>
<el-button icon="ele-Delete" type="danger" circle plain size="small" @click="() => state.ruleForm.tableUniqueList?.splice(k, 1)" /> <el-button icon="ele-Delete" type="danger" circle plain size="small" @click="() => state.ruleForm.tableUniqueList?.splice(k, 1)" />
<span class="ml5">字段</span> <span class="ml5">字段</span>
</template> </template>
<el-select <el-select
v-model="state.ruleForm.tableUniqueList[k].columns" v-model="state.ruleForm.tableUniqueList[k].columns"
@change="(val: any) => changeTableUniqueColumn(val, k)" @change="(val: any) => changeTableUniqueColumn(val, k)"
multiple multiple
filterable filterable
clearable clearable
collapse-tags collapse-tags
collapse-tags-tooltip collapse-tags-tooltip
class="w100" class="w100"
> >
<el-option v-for="item in state.columnData" :key="item.columnName" :label="item.columnName + ' [' + item.columnComment + ']'" :value="item.columnName" /> <el-option v-for="item in state.columnData" :key="item.columnName" :label="item.columnName + ' [' + item.columnComment + ']'" :value="item.columnName" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :xs="24" :sm="10" :md="10" :lg="10" :xl="10" class="mb20"> <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-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-input v-model="state.ruleForm.tableUniqueList[k].message" clearable placeholder="请输入" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</template> </template>
</el-col> --> </el-col> -->
<el-col> <el-col>
<el-divider content-position="center"> 左边布局显示树形列表右边布局上下结构显示主子表数据列表 </el-divider> <el-divider content-position="center"> 左边布局显示树形列表右边布局上下结构显示主子表数据列表 </el-divider>
@ -219,13 +232,6 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </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-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item label="树表名称"> <el-form-item label="树表名称">
<template v-slot:label> <template v-slot:label>