优化代码生成

This commit is contained in:
aq982 2025-01-16 02:53:03 +08:00
parent cbaf030f6f
commit 999e09907a
2 changed files with 154 additions and 72 deletions

1
.gitignore vendored
View File

@ -46,3 +46,4 @@ node_modules/
/App/unpackage /App/unpackage
.history .history
/package-lock.json /package-lock.json
/Admin.NET/Admin.NET.Core/Utils/Config.cs

View File

@ -3,7 +3,8 @@
<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" width="980px"> <el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" width="980px">
<template #header> <template #header>
<div style="color: #fff"> <div style="color: #fff">
<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon> <el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit />
</el-icon>
<span> {{ props.title }} </span> <span> {{ props.title }} </span>
</div> </div>
</template> </template>
@ -16,15 +17,20 @@
<el-form :model="state.ruleForm" ref="ruleFormRef" label-width="auto"> <el-form :model="state.ruleForm" ref="ruleFormRef" label-width="auto">
<el-row :gutter="10"> <el-row :gutter="10">
<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="configId" :rules="[{ required: true, message: '请选择库定位器', trigger: 'blur' }]"> <el-form-item label="库定位器" prop="configId"
<el-select v-model="state.ruleForm.configId" placeholder="库名" filterable @change="dbChanged()" class="w100"> :rules="[{ required: true, message: '请选择库定位器', trigger: 'blur' }]">
<el-option v-for="item in state.dbData" :key="item.configId" :label="item.configId" :value="item.configId" /> <el-select v-model="state.ruleForm.configId" placeholder="库名" filterable
@change="dbChanged()" class="w100">
<el-option v-for="item in state.dbData" :key="item.configId"
:label="item.configId" :value="item.configId" />
</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-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item label="库类型" prop="dbType" :rules="[{ required: true, message: '描述不能为空', trigger: 'blur' }]"> <el-form-item label="库类型" prop="dbType"
<el-select v-model="state.ruleForm.dbType" placeholder="数据库类型" filterable clearable disabled class="w100"> :rules="[{ required: true, message: '描述不能为空', trigger: 'blur' }]">
<el-select v-model="state.ruleForm.dbType" placeholder="数据库类型" filterable clearable
disabled class="w100">
<el-option label="MySql" :value="'0'" /> <el-option label="MySql" :value="'0'" />
<el-option label="SqlServer" :value="'1'" /> <el-option label="SqlServer" :value="'1'" />
<el-option label="Sqlite" :value="'2'" /> <el-option label="Sqlite" :value="'2'" />
@ -54,30 +60,57 @@
</el-form-item> </el-form-item>
</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">
<el-form-item label="库地址" prop="connectionString" :rules="[{ required: true, message: '库地址不能为空', trigger: 'blur' }]"> <el-form-item label="库地址" prop="connectionString"
<el-input v-model="state.ruleForm.connectionString" disabled clearable type="textarea" /> :rules="[{ required: true, message: '库地址不能为空', trigger: 'blur' }]">
<el-input v-model="state.ruleForm.connectionString" disabled clearable
type="textarea" />
</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-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' }]"> <el-form-item label="生成表" prop="tableName"
:rules="[{ required: true, message: '生成表不能为空', trigger: 'blur' }]">
<template v-slot:label> <template v-slot:label>
<div> <div>
生成表 生成表
<el-tooltip raw-content content="若找不到在前端生成的实体/表,请检查配置文件中实体所在程序集或重启后台服务。" placement="top"> <el-tooltip raw-content content="若找不到在前端生成的实体/表,请检查配置文件中实体所在程序集或重启后台服务。"
<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"><ele-QuestionFilled /></el-icon> placement="top">
<el-icon size="16"
style="margin-right: 3px; display: inline; vertical-align: middle"><ele-QuestionFilled /></el-icon>
</el-tooltip> </el-tooltip>
</div> </div>
</template> </template>
<el-select v-model="state.ruleForm.tableName" @change="tableChanged" value-key="value" filterable clearable class="w100"> <el-select v-model="state.ruleForm.tableName" @change="tableChanged"
<el-option v-for="item in state.tableData" :key="item.entityName" :label="item.entityName + ' ( ' + item.tableName + ' ) [' + item.tableComment + ']'" :value="item" /> 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-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-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item label="业务名" prop="busName" :rules="[{ required: true, message: '业务名不能为空', trigger: 'blur' }]"> <el-form-item label="业务名" prop="busName"
:rules="[{ required: true, message: '业务名不能为空', trigger: 'blur' }]">
<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="树属性Name字段" prop="treeName">
<template v-slot:label>
<div>
Name字段
<el-tooltip raw-content content="本表作为树控件的树属性Name字段。" 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.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="生成菜单" prop="generateMenu"> <el-form-item label="生成菜单" prop="generateMenu">
<el-radio-group v-model="state.ruleForm.generateMenu"> <el-radio-group v-model="state.ruleForm.generateMenu">
@ -88,22 +121,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="menuIcon"> <el-form-item label="菜单图标" prop="menuIcon">
<IconSelector v-model="state.ruleForm.menuIcon" :size="getGlobalComponentSize" placeholder="菜单图标" type="all" /> <IconSelector v-model="state.ruleForm.menuIcon" :size="getGlobalComponentSize"
placeholder="菜单图标" type="all" />
</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-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" :props="cascaderProps" placeholder="请选择上级菜单"
:options="state.menuData" :disabled="!state.ruleForm.generateMenu" filterable clearable class="w100"
:props="cascaderProps" v-model="state.ruleForm.menuPid" @change="menuChange">
placeholder="请选择上级菜单"
:disabled="!state.ruleForm.generateMenu"
filterable
clearable
class="w100"
v-model="state.ruleForm.menuPid"
@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>
@ -112,15 +138,19 @@
</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-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item label="命名空间" prop="nameSpace" :rules="[{ required: true, message: '请选择命名空间', trigger: 'blur' }]"> <el-form-item label="命名空间" prop="nameSpace"
:rules="[{ required: true, message: '请选择命名空间', trigger: 'blur' }]">
<!-- <el-input v-model="state.ruleForm.nameSpace" clearable placeholder="请输入" /> --> <!-- <el-input v-model="state.ruleForm.nameSpace" clearable placeholder="请输入" /> -->
<el-select v-model="state.ruleForm.nameSpace" filterable clearable class="w100" placeholder="命名空间"> <el-select v-model="state.ruleForm.nameSpace" filterable clearable class="w100"
<el-option v-for="(item, index) in props.applicationNamespaces" :key="index" :label="item" :value="item" /> placeholder="命名空间">
<el-option v-for="(item, index) in props.applicationNamespaces" :key="index"
:label="item" :value="item" />
</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-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item label="前端目录" prop="pagePath" :rules="[{ required: true, message: '前端目录不能为空', trigger: 'blur' }]"> <el-form-item label="前端目录" prop="pagePath"
:rules="[{ required: true, message: '前端目录不能为空', trigger: 'blur' }]">
<el-input v-model="state.ruleForm.pagePath" clearable placeholder="请输入" /> <el-input v-model="state.ruleForm.pagePath" clearable placeholder="请输入" />
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -132,7 +162,8 @@
<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="generateType"> <el-form-item label="生成方式" prop="generateType">
<el-select v-model="state.ruleForm.generateType" filterable class="w100"> <el-select v-model="state.ruleForm.generateType" filterable class="w100">
<el-option v-for="item in getDictDataByCode('code_gen_create_type')" :key="item.value" :label="item.value" :value="item.code" /> <el-option v-for="item in getDictDataByCode('code_gen_create_type')"
:key="item.value" :label="item.value" :value="item.code" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -141,8 +172,11 @@
<template v-slot:label> <template v-slot:label>
<div> <div>
接口模式 接口模式
<el-tooltip raw-content content="接口服务模式是指根据swagger自动生成前端接口请求文件推荐此模式。传统模式则是指手动编写接口请求并进行数据绑定。" placement="top"> <el-tooltip raw-content
<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"><ele-QuestionFilled /></el-icon> content="接口服务模式是指根据swagger自动生成前端接口请求文件推荐此模式。传统模式则是指手动编写接口请求并进行数据绑定。"
placement="top">
<el-icon size="16"
style="margin-right: 3px; display: inline; vertical-align: middle"><ele-QuestionFilled /></el-icon>
</el-tooltip> </el-tooltip>
</div> </div>
</template> </template>
@ -154,15 +188,19 @@
</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="printType"> <el-form-item label="支持打印" prop="printType">
<el-select v-model="state.ruleForm.printType" filterable class="w100" @change="printTypeChanged"> <el-select v-model="state.ruleForm.printType" filterable class="w100"
<el-option v-for="item in getDictDataByCode('code_gen_print_type')" :key="item.value" :label="item.value" :value="item.code" /> @change="printTypeChanged">
<el-option v-for="item in getDictDataByCode('code_gen_print_type')"
:key="item.value" :label="item.value" :value="item.code" />
</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" v-if="state.ruleForm.printType == 'custom'"> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"
v-if="state.ruleForm.printType == 'custom'">
<el-form-item label="打印模版" prop="printName"> <el-form-item label="打印模版" prop="printName">
<el-select v-model="state.ruleForm.printName" filterable class="w100"> <el-select v-model="state.ruleForm.printName" filterable class="w100">
<el-option v-for="item in state.printList" :key="item.id" :label="item.name" :value="item.name" /> <el-option v-for="item in state.printList" :key="item.id" :label="item.name"
:value="item.name" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -214,38 +252,45 @@
<el-row :gutter="10"> <el-row :gutter="10">
<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="configId2"> <el-form-item label="树 - 库定位器" prop="configId2">
<el-select v-model="state.ruleForm.configId2" placeholder="库名" filterable @change="dbChanged2()" class="w100"> <el-select v-model="state.ruleForm.configId2" placeholder="库名"
<el-option v-for="item in state.dbData" :key="item.configId" :label="item.configId" :value="item.configId" /> filterable @change="dbChanged2()" class="w100">
<el-option v-for="item in state.dbData" :key="item.configId"
:label="item.configId" :value="item.configId" />
</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>
<div> <div>
树表名称 树表名称
<el-tooltip raw-content content="若找不到在前端生成的实体/表同上如表有下划线_则因实体去掉划线取不到字段。" placement="top"> <el-tooltip raw-content
<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"><ele-QuestionFilled /></el-icon> content="若找不到在前端生成的实体/表同上如表有下划线_则因实体去掉划线取不到字段。"
placement="top">
<el-icon size="16"
style="margin-right: 3px; display: inline; vertical-align: middle"><ele-QuestionFilled /></el-icon>
</el-tooltip> </el-tooltip>
</div> </div>
</template> </template>
<el-select v-model="state.ruleForm.leftTab" @change="leftTableChanged" value-key="value" filterable clearable class="w100"> <el-select v-model="state.ruleForm.leftTab"
<el-option v-for="item in state.tableData2" :key="item.entityName" :label="item.entityName + ' ( ' + item.tableName + ' ) [' + item.tableComment + ']'" :value="item" /> @change="leftTableChanged" value-key="value" filterable
clearable class="w100">
<el-option v-for="item in state.tableData2"
:key="item.entityName"
:label="item.entityName + ' ( ' + item.tableName + ' ) [' + item.tableComment + ']'"
:value="item" />
</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-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item label="树关联字段"> <el-form-item label="树关联字段">
<el-select v-model="state.ruleForm.leftKey" @change="leftKeyChanged" value-key="value" filterable clearable class="w100"> <el-select v-model="state.ruleForm.leftKey" @change="leftKeyChanged"
<el-option v-for="item in state.lcolumnData" :key="item.columnName" :label="item.columnName + ' ( ' + item.columnName + ' ) [' + item.columnComment + ']'" :value="item" /> value-key="value" filterable clearable class="w100">
<el-option v-for="item in state.lcolumnData"
:key="item.columnName"
:label="item.columnName + ' ( ' + item.columnName + ' ) [' + item.columnComment + ']'"
:value="item" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -254,28 +299,41 @@
<template v-slot:label> <template v-slot:label>
<div> <div>
关联主表字段 关联主表字段
<el-tooltip raw-content content="先选择主表才可以选择字段。" placement="top"> <el-tooltip raw-content content="先选择主表才可以选择字段。"
<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"><ele-QuestionFilled /></el-icon> placement="top">
<el-icon size="16"
style="margin-right: 3px; display: inline; vertical-align: middle"><ele-QuestionFilled /></el-icon>
</el-tooltip> </el-tooltip>
</div> </div>
</template> </template>
<el-select v-model="state.ruleForm.leftPrimaryKey" @change="leftPrimaryKeyChanged" value-key="value" filterable clearable class="w100"> <el-select v-model="state.ruleForm.leftPrimaryKey"
<el-option v-for="item in state.columnData" :key="item.columnName" :label="item.columnName + ' ( ' + item.columnName + ' ) [' + item.columnComment + ']'" :value="item" /> @change="leftPrimaryKeyChanged" 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-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-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item label="树显示名称"> <el-form-item label="树显示名称">
<el-select v-model="state.ruleForm.leftName" @change="leftNameChanged" value-key="value" filterable clearable class="w100"> <el-select v-model="state.ruleForm.leftName"
<el-option v-for="item in state.lcolumnData" :key="item.columnName" :label="item.columnName + ' ( ' + item.columnName + ' ) [' + item.columnComment + ']'" :value="item" /> @change="leftNameChanged" value-key="value" filterable clearable
class="w100">
<el-option v-for="item in state.lcolumnData"
:key="item.columnName"
:label="item.columnName + ' ( ' + item.columnName + ' ) [' + item.columnComment + ']'"
:value="item" />
</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-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item label="模板"> <el-form-item label="模板">
<el-input v-model="state.ruleForm.template" clearable placeholder="请输入" /> <el-input v-model="state.ruleForm.template" clearable
placeholder="请输入" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -284,8 +342,10 @@
<el-row :gutter="10"> <el-row :gutter="10">
<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="configId3"> <el-form-item label="子表 - 库定位器" prop="configId3">
<el-select v-model="state.ruleForm.configId3" placeholder="库名" filterable @change="dbChanged3()" class="w100"> <el-select v-model="state.ruleForm.configId3" placeholder="库名"
<el-option v-for="item in state.dbData" :key="item.configId" :label="item.configId" :value="item.configId" /> filterable @change="dbChanged3()" class="w100">
<el-option v-for="item in state.dbData" :key="item.configId"
:label="item.configId" :value="item.configId" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -294,20 +354,33 @@
<template v-slot:label> <template v-slot:label>
<div> <div>
子表名称 子表名称
<el-tooltip raw-content content="若找不到在前端生成的实体/表同上如表有下划线_则因实体去掉划线取不到字段。" placement="top"> <el-tooltip raw-content
<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"><ele-QuestionFilled /></el-icon> content="若找不到在前端生成的实体/表同上如表有下划线_则因实体去掉划线取不到字段。"
placement="top">
<el-icon size="16"
style="margin-right: 3px; display: inline; vertical-align: middle"><ele-QuestionFilled /></el-icon>
</el-tooltip> </el-tooltip>
</div> </div>
</template> </template>
<el-select v-model="state.ruleForm.bottomTab" @change="bottomTableChanged" value-key="value" filterable clearable class="w100"> <el-select v-model="state.ruleForm.bottomTab"
<el-option v-for="item in state.tableData3" :key="item.entityName" :label="item.entityName + ' ( ' + item.tableName + ' ) [' + item.tableComment + ']'" :value="item" /> @change="bottomTableChanged" value-key="value" filterable
clearable class="w100">
<el-option v-for="item in state.tableData3"
:key="item.entityName"
:label="item.entityName + ' ( ' + item.tableName + ' ) [' + item.tableComment + ']'"
:value="item" />
</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-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item label="子表关联字段" prop="bottomKey"> <el-form-item label="子表关联字段" prop="bottomKey">
<el-select v-model="state.ruleForm.bottomKey" @change="bottomKeyChanged" value-key="value" filterable clearable class="w100"> <el-select v-model="state.ruleForm.bottomKey"
<el-option v-for="item in state.bcolumnData" :key="item.columnName" :label="item.columnName + ' ( ' + item.columnName + ' ) [' + item.columnComment + ']'" :value="item" /> @change="bottomKeyChanged" value-key="value" filterable
clearable class="w100">
<el-option v-for="item in state.bcolumnData"
:key="item.columnName"
:label="item.columnName + ' ( ' + item.columnName + ' ) [' + item.columnComment + ']'"
:value="item" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -316,13 +389,20 @@
<template v-slot:label> <template v-slot:label>
<div> <div>
关联主表字段 关联主表字段
<el-tooltip raw-content content="先选择主表才可以选择字段。" placement="top"> <el-tooltip raw-content content="先选择主表才可以选择字段。"
<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"><ele-QuestionFilled /></el-icon> placement="top">
<el-icon size="16"
style="margin-right: 3px; display: inline; vertical-align: middle"><ele-QuestionFilled /></el-icon>
</el-tooltip> </el-tooltip>
</div> </div>
</template> </template>
<el-select v-model="state.ruleForm.bottomPrimaryKey" @change="bottomPrimaryKeyChanged" value-key="value" filterable clearable class="w100"> <el-select v-model="state.ruleForm.bottomPrimaryKey"
<el-option v-for="item in state.columnData" :key="item.columnName" :label="item.columnName + ' ( ' + item.columnName + ' ) [' + item.columnComment + ']'" :value="item" /> @change="bottomPrimaryKeyChanged" 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-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -334,7 +414,8 @@
</el-form> </el-form>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="选择模板" name="template" style="height: 700px"> <el-tab-pane label="选择模板" name="template" style="height: 700px">
<el-table ref="templateTableRef" :data="templateTableData" @selection-change="handleSelectionChange" style="width: 100%"> <el-table ref="templateTableRef" :data="templateTableData" @selection-change="handleSelectionChange"
style="width: 100%">
<el-table-column type="selection" width="55" /> <el-table-column type="selection" width="55" />
<el-table-column property="name" label="模板文件名" width="280" /> <el-table-column property="name" label="模板文件名" width="280" />
<el-table-column property="describe" label="描述" show-overflow-tooltip /> <el-table-column property="describe" label="描述" show-overflow-tooltip />