代码生成新增创建表结构功能

This commit is contained in:
RuoYi
2024-03-01 14:33:09 +08:00
parent 80f96b4915
commit 2f624ab5f4
10 changed files with 163 additions and 17 deletions

View File

@ -43,6 +43,15 @@ export function importTable(data) {
})
}
// 创建表
export function createTable(data) {
return request({
url: '/tool/gen/createTable',
method: 'post',
params: data
})
}
// 预览生成代码
export function previewTable(tableId) {
return request({

View File

@ -0,0 +1,45 @@
<template>
<!-- 创建表 -->
<el-dialog title="创建表" :visible.sync="visible" width="800px" top="5vh" append-to-body>
<span>创建表语句(支持多个建表语句)</span>
<el-input type="textarea" :rows="10" placeholder="请输入文本" v-model="content"></el-input>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="handleCreateTable"> </el-button>
<el-button @click="visible = false"> </el-button>
</div>
</el-dialog>
</template>
<script>
import { createTable } from "@/api/tool/gen";
export default {
data() {
return {
// 遮罩层
visible: false,
// 文本内容
content: ""
};
},
methods: {
// 显示弹框
show() {
this.visible = true;
},
/** 创建按钮操作 */
handleCreateTable() {
if (this.content === "") {
this.$modal.msgError("请输入建表语句");
return;
}
createTable({ sql: this.content }).then(res => {
this.$modal.msgSuccess(res.msg);
if (res.code === 200) {
this.visible = false;
this.$emit("ok");
}
});
}
}
};
</script>

View File

@ -41,10 +41,21 @@
plain
icon="el-icon-download"
size="mini"
:disabled="multiple"
@click="handleGenTable"
v-hasPermi="['tool:gen:code']"
>生成</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="openCreateTable"
v-hasRole="['admin']"
>创建</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="info"
@ -172,12 +183,14 @@
</el-tabs>
</el-dialog>
<import-table ref="import" @ok="handleQuery" />
<create-table ref="create" @ok="handleQuery" />
</div>
</template>
<script>
import { listTable, previewTable, delTable, genCode, synchDb } from "@/api/tool/gen";
import importTable from "./importTable";
import createTable from "./createTable";
import hljs from "highlight.js/lib/highlight";
import "highlight.js/styles/github-gist.css";
hljs.registerLanguage("java", require("highlight.js/lib/languages/java"));
@ -189,7 +202,7 @@ hljs.registerLanguage("sql", require("highlight.js/lib/languages/sql"));
export default {
name: "Gen",
components: { importTable },
components: { importTable, createTable },
data() {
return {
// 遮罩层
@ -283,6 +296,10 @@ export default {
openImportTable() {
this.$refs.import.show();
},
/** 打开创建表弹窗 */
openCreateTable() {
this.$refs.create.show();
},
/** 重置按钮操作 */
resetQuery() {
this.dateRange = [];