优化代码生成器

ruoyi_test
sunshine7058 2024-04-22 10:12:22 +08:00
parent e3f1397a80
commit 1138e501e4
5 changed files with 55 additions and 10 deletions

View File

@ -69,9 +69,17 @@ export function genCode(tableName) {
} }
// 同步数据库 // 同步数据库
export function synchDb(tableName) { export function synchDb(tableName,databaseName) {
return request({ return request({
url: '/code/gen/synchDb/' + tableName, url: '/code/gen/synchDb/' + tableName + '/' + databaseName,
method: 'get'
})
}
// 查询db数据库
export function getDataBaseList() {
return request({
url: '/code/gen/db/getDataBaseList',
method: 'get' method: 'get'
}) })
} }

View File

@ -149,7 +149,7 @@ export default {
}, },
// //
handleUploadSuccess(res, file) { handleUploadSuccess(res, file) {
if (res.data.code === 200) { if (res.code === 200) {
this.uploadList.push({name: res.data.url, url: res.data.url}); this.uploadList.push({name: res.data.url, url: res.data.url});
this.uploadedSuccessfully(); this.uploadedSuccessfully();
} else { } else {

View File

@ -183,7 +183,7 @@ export default {
const basicForm = this.$refs.basicInfo.$refs.basicInfoForm; const basicForm = this.$refs.basicInfo.$refs.basicInfoForm;
const genForm = this.$refs.genInfo.$refs.genInfoForm; const genForm = this.$refs.genInfo.$refs.genInfoForm;
Promise.all([basicForm, genForm].map(this.getFormPromise)).then(res => { Promise.all([basicForm, genForm].map(this.getFormPromise)).then(res => {
const validateResult = res.data.every(item => !!item); const validateResult = res.every(item => !!item);
if (validateResult) { if (validateResult) {
const genTable = Object.assign({}, basicForm.model, genForm.model); const genTable = Object.assign({}, basicForm.model, genForm.model);
genTable.columns = this.columns; genTable.columns = this.columns;
@ -194,7 +194,7 @@ export default {
parentMenuId: genTable.parentMenuId parentMenuId: genTable.parentMenuId
}; };
updateGenTable(genTable).then(res => { updateGenTable(genTable).then(res => {
this.$modal.msgSuccess(res.data.msg); this.$modal.msgSuccess(res.msg);
if (res.code === 200) { if (res.code === 200) {
this.close(); this.close();
} }

View File

@ -2,6 +2,11 @@
<!-- 导入表 --> <!-- 导入表 -->
<el-dialog :visible.sync="visible" append-to-body title="导入表" top="5vh" width="800px"> <el-dialog :visible.sync="visible" append-to-body title="导入表" top="5vh" width="800px">
<el-form ref="queryForm" :inline="true" :model="queryParams" size="small"> <el-form ref="queryForm" :inline="true" :model="queryParams" size="small">
<el-form-item label="数据库名称">
<el-select v-model="queryParams.databaseName" placeholder="请选择数据库名称">
<el-option v-for="databaseName in databaseNameList" :label="databaseName" :value="databaseName"></el-option>
</el-select>
</el-form-item>
<el-form-item label="表名称" prop="tableName"> <el-form-item label="表名称" prop="tableName">
<el-input <el-input
v-model="queryParams.tableName" v-model="queryParams.tableName"
@ -48,21 +53,25 @@
</template> </template>
<script> <script>
import {importTable, listDbTable} from "@/api/tool/gen"; import {importTable, listDbTable, getDataBaseList} from "@/api/tool/gen";
export default { export default {
data() { data() {
return { return {
// //
visible: false, visible: false,
//
databaseName:'',
// //
tables: [], tables: [],
// //
total: 0, total: 0,
// //
dbTableList: [], dbTableList: [],
databaseNameList:[],
// //
queryParams: { queryParams: {
databaseName:undefined,
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
tableName: undefined, tableName: undefined,
@ -73,6 +82,7 @@ export default {
methods: { methods: {
// //
show() { show() {
this.getDataBaseList();
this.getList(); this.getList();
this.visible = true; this.visible = true;
}, },
@ -90,6 +100,14 @@ export default {
this.total = res.data.total; this.total = res.data.total;
}); });
}, },
//
getDataBaseList() {
getDataBaseList().then(res => {
if (res.code === 200){
this.databaseNameList = res.data;
}
});
},
/** 搜索按钮操作 */ /** 搜索按钮操作 */
handleQuery() { handleQuery() {
this.queryParams.pageNum = 1; this.queryParams.pageNum = 1;
@ -102,13 +120,15 @@ export default {
}, },
/** 导入按钮操作 */ /** 导入按钮操作 */
handleImportTable() { handleImportTable() {
this.databaseName=this.queryParams.databaseName
const tableNames = this.tables.join(","); const tableNames = this.tables.join(",");
if (tableNames == "") { if (tableNames == "") {
this.$modal.msgError("请选择要导入的表"); this.$modal.msgError("请选择要导入的表");
return; return;
} }
importTable({tables: tableNames}).then(res => { const importTableReq ={tables: tableNames, databaseName:this.databaseName }
this.$modal.msgSuccess(res.data.msg); importTable(importTableReq).then(res => {
this.$modal.msgSuccess("导入成功");
this.visible = false; this.visible = false;
this.$emit("ok"); this.$emit("ok");
}); });

View File

@ -1,6 +1,14 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form v-show="showSearch" ref="queryForm" :inline="true" :model="queryParams" label-width="68px" size="small"> <el-form v-show="showSearch" ref="queryForm" :inline="true" :model="queryParams" label-width="68px" size="small">
<el-form-item label="数据库名称" prop="databaseName">
<el-input
v-model="queryParams.databaseName"
clearable
placeholder="请输入数据库名称"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="表名称" prop="tableName"> <el-form-item label="表名称" prop="tableName">
<el-input <el-input
v-model="queryParams.tableName" v-model="queryParams.tableName"
@ -91,6 +99,13 @@
<span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span> <span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column
:show-overflow-tooltip="true"
align="center"
label="数据库名称"
prop="databaseName"
width="120"
/>
<el-table-column <el-table-column
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
align="center" align="center"
@ -229,6 +244,7 @@ export default {
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
databaseName: '',
tableName: undefined, tableName: undefined,
tableComment: undefined tableComment: undefined
}, },
@ -286,8 +302,9 @@ export default {
/** 同步数据库操作 */ /** 同步数据库操作 */
handleSynchDb(row) { handleSynchDb(row) {
const tableName = row.tableName; const tableName = row.tableName;
this.$modal.confirm('确认要强制同步"' + tableName + '"表结构吗?').then(function () { const databaseName = row.databaseName;
return synchDb(tableName); this.$modal.confirm('确认要强制同步"'+databaseName + tableName + '"表结构吗?').then(function () {
return synchDb(tableName,databaseName);
}).then(() => { }).then(() => {
this.$modal.msgSuccess("同步成功"); this.$modal.msgSuccess("同步成功");
}).catch(() => { }).catch(() => {