1. 完成代码生成的表和字段定义的编辑

2. 清理多余代码
This commit is contained in:
YunaiV
2021-02-10 13:41:00 +08:00
parent 9dd2bc95fb
commit 305090b7dc
39 changed files with 211 additions and 439 deletions

View File

@ -3,7 +3,7 @@ import request from '@/utils/request'
// 获得表定义分页
export function getCodeGenTablePage(query) {
return request({
url: '/tool/codegen/page',
url: '/tool/codegen/table/page',
method: 'get',
params: query
})
@ -16,3 +16,12 @@ export function getCodeGenDetail(tableId) {
method: 'get',
})
}
// 修改代码生成信息
export function updateCodegen(data) {
return request({
url: '/tool/codegen/update',
method: 'put',
data: data
})
}

View File

@ -9,23 +9,6 @@ export function listDbTable(query) {
})
}
// 查询表详细信息
export function getGenTable(tableId) {
return request({
url: '/tool/gen/' + tableId,
method: 'get'
})
}
// 修改代码生成信息
export function updateGenTable(data) {
return request({
url: '/tool/gen',
method: 'put',
data: data
})
}
// 导入表
export function importTable(data) {
return request({

View File

@ -39,3 +39,12 @@ export const SysDataScopeEnum = {
DEPT_AND_CHILD: 4, // 部门及以下数据权限
DEPT_SELF: 5 // 仅本人数据权限
}
/**
* 代码生成模板类型
*/
export const ToolCodegenTemplateTypeEnum = {
CRUD: 1, // 基础 CRUD
TREE: 2, // 树形 CRUD
SUB: 3, // 主子表 CRUD
}

View File

@ -16,7 +16,9 @@ export const DICT_TYPE = {
SYS_LOGIN_RESULT: 'sys_login_result',
SYS_CONFIG_TYPE: 'sys_config_type',
INF_REDIS_TIMEOUT_TYPE: 'inf_redis_timeout_type'
INF_REDIS_TIMEOUT_TYPE: 'inf_redis_timeout_type',
TOOL_CODEGEN_TEMPLATE_TYPE: 'tool_codegen_template_type',
}
/**

View File

@ -98,13 +98,11 @@
<template slot-scope="scope">
<el-select v-model="scope.row.dictType" clearable filterable placeholder="请选择">
<el-option
v-for="dict in dictOptions"
:key="dict.dictType"
:label="dict.dictName"
:value="dict.dictType">
<span style="float: left">{{ dict.dictName }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ dict.dictType }}</span>
</el-option>
v-for="dict in dictOptions"
:key="dict.id"
:label="dict.name"
:value="dict.type"
/>
</el-select>
</template>
</el-table-column>
@ -128,9 +126,8 @@
</el-card>
</template>
<script>
import { updateGenTable } from "@/api/tool/gen";
import { getCodeGenDetail } from "@/api/tool/codegen";
import { optionselect as getDictOptionselect } from "@/api/system/dict/type";
import { getCodeGenDetail, updateCodegen } from "@/api/tool/codegen";
import { listAllSimple as listAllSimpleDictType } from "@/api/system/dict/type";
import { listMenu as getMenuTreeselect } from "@/api/system/menu";
import basicInfoForm from "./basicInfoForm";
import genInfoForm from "./genInfoForm";
@ -169,7 +166,7 @@ export default {
this.columns = res.data.columns;
});
/** 查询字典下拉列表 */
getDictOptionselect().then(response => {
listAllSimpleDictType().then(response => {
this.dictOptions = response.data;
});
/** 查询菜单下拉列表 */
@ -186,7 +183,8 @@ export default {
Promise.all([basicForm, genForm].map(this.getFormPromise)).then(res => {
const validateResult = res.every(item => !!item);
if (validateResult) {
const genTable = Object.assign({}, basicForm.model, genForm.model);
const genTable = {};
genTable.table = Object.assign({}, basicForm.model, genForm.model);
genTable.columns = this.columns;
genTable.params = {
treeCode: genTable.treeCode,
@ -194,11 +192,9 @@ export default {
treeParentCode: genTable.treeParentCode,
parentMenuId: genTable.parentMenuId
};
updateGenTable(genTable).then(res => {
this.msgSuccess(res.msg);
if (res.code === 200) {
this.close();
}
updateCodegen(genTable).then(res => {
this.msgSuccess("修改成功!");
this.close();
});
} else {
this.msgError("表单校验未通过,请重新检查提交内容");

View File

@ -4,31 +4,34 @@
<el-col :span="12">
<el-form-item prop="tplCategory">
<span slot="label">生成模板</span>
<el-select v-model="info.tplCategory" @change="tplSelectChange">
<el-option label="单表(增删改查)" value="crud" />
<el-option label="树表(增删改查)" value="tree" />
<el-option label="主子表(增删改查)" value="sub" />
<el-select v-model="info.templateType" @change="tplSelectChange">
<el-option
v-for="dict in this.getDictDatas(DICT_TYPE.TOOL_CODEGEN_TEMPLATE_TYPE)"
:key="parseInt(dict.value)"
:label="dict.label"
:value="parseInt(dict.value)"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="packageName">
<span slot="label">
生成包路径
<el-tooltip content="生成在哪个java包下例如 com.ruoyi.system" placement="top">
<i class="el-icon-question"></i>
</el-tooltip>
</span>
<el-input v-model="info.packageName" />
</el-form-item>
</el-col>
<!-- <el-col :span="12">-->
<!-- <el-form-item prop="packageName">-->
<!-- <span slot="label">-->
<!-- 生成包路径-->
<!-- <el-tooltip content="生成在哪个java包下例如 com.ruoyi.system" placement="top">-->
<!-- <i class="el-icon-question"></i>-->
<!-- </el-tooltip>-->
<!-- </span>-->
<!-- <el-input v-model="info.packageName" />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="12">
<el-form-item prop="moduleName">
<span slot="label">
生成模块名
<el-tooltip content="可理解为子系统名,例如 system" placement="top">
模块名
<el-tooltip content="模块名,即一级目录,例如 system、infra、tool 等等" placement="top">
<i class="el-icon-question"></i>
</el-tooltip>
</span>
@ -39,8 +42,8 @@
<el-col :span="12">
<el-form-item prop="businessName">
<span slot="label">
生成业务名
<el-tooltip content="可理解为功能英文名,例如 user" placement="top">
业务名
<el-tooltip content="业务名,即二级目录,例如 user、permission、dict 等等" placement="top">
<i class="el-icon-question"></i>
</el-tooltip>
</span>
@ -49,14 +52,26 @@
</el-col>
<el-col :span="12">
<el-form-item prop="functionName">
<el-form-item prop="className">
<span slot="label">
生成功能名
类名称
<el-tooltip content="类名称首字母大写例如SysUser、SysMenu、SysDictData 等等" placement="top">
<i class="el-icon-question"></i>
</el-tooltip>
</span>
<el-input v-model="info.className" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="classComment">
<span slot="label">
类描述
<el-tooltip content="用作类描述,例如 用户" placement="top">
<i class="el-icon-question"></i>
</el-tooltip>
</span>
<el-input v-model="info.functionName" />
<el-input v-model="info.classComment" />
</el-form-item>
</el-col>
@ -79,19 +94,6 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="genType">
<span slot="label">
生成代码方式
<el-tooltip content="默认为zip压缩包下载也可以自定义生成路径" placement="top">
<i class="el-icon-question"></i>
</el-tooltip>
</span>
<el-radio v-model="info.genType" label="0">zip压缩包</el-radio>
<el-radio v-model="info.genType" label="1">自定义路径</el-radio>
</el-form-item>
</el-col>
<el-col :span="24" v-if="info.genType == '1'">
<el-form-item prop="genPath">
<span slot="label">
@ -238,20 +240,23 @@ export default {
return {
subColumns: [],
rules: {
tplCategory: [
templateType: [
{ required: true, message: "请选择生成模板", trigger: "blur" }
],
packageName: [
{ required: true, message: "请输入生成包路径", trigger: "blur" }
],
// packageName: [
// { required: true, message: "请输入生成包路径", trigger: "blur" }
// ],
moduleName: [
{ required: true, message: "请输入生成模块名", trigger: "blur" }
],
businessName: [
{ required: true, message: "请输入生成业务名", trigger: "blur" }
],
functionName: [
{ required: true, message: "请输入生成功能名", trigger: "blur" }
className: [
{ required: true, message: "请输入生成类名称", trigger: "blur" }
],
classComment: [
{ required: true, message: "请输入生成类描述", trigger: "blur" }
],
}
};