完成代码生成功能

This commit is contained in:
izory
2021-09-10 10:44:17 +08:00
parent 2172b9ddc6
commit 8903aff642
11 changed files with 105 additions and 186 deletions
+37 -107
View File
@@ -1,92 +1,23 @@
import request from '@/utils/request'
// 查询生成表数据
export function listTable(query) {
return request({
url: '/tool/gen/list',
method: 'get',
params: query
})
}
// 查询db数据库列表
export function listDbTable(query) {
return request({
url: '/tool/gen/db/list',
method: 'get',
params: 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({
url: '/tool/gen/importTable',
method: 'post',
params: data
})
}
// 预览生成代码
export function previewTable(tableId) {
return request({
url: '/tool/gen/preview/' + tableId,
method: 'get'
})
}
// 删除表数据
export function delTable(tableId) {
return request({
url: '/tool/gen/' + tableId,
method: 'delete'
})
}
// 生成代码(自定义路径)
export function genCode(tableName) {
return request({
url: '/tool/gen/genCode/' + tableName,
method: 'get'
})
}
// 同步数据库
export function synchDb(tableName) {
return request({
url: 'tool/gen/synchDb/' + tableName,
method: 'get'
})
}
/**新的代码生成 */
// export function previewTable(tableId) {
// return request({
// url: '/tool/gen/preview/' + tableId,
// method: 'get'
// })
// }
/**
* 创建数据库连接
*/
export function createGetDBConn(data) {
return request({
url: 'tool/gen/CreateDBConn',
method: 'post',
data: data,
})
}
// export function createGetDBConn(data) {
// return request({
// url: 'tool/gen/CreateDBConn',
// method: 'post',
// data: data,
// })
// }
/**
* 获取数据库
*/
@@ -101,7 +32,7 @@ export function codeGetDBList() {
*/
export function codeGetTableList(data) {
return request({
url: 'tool/gen/FindListTable',
url: 'tool/gen/getTableList',
method: 'get',
params: data,
})
@@ -111,10 +42,9 @@ export function codeGetTableList(data) {
*/
export async function codeGenerator(data) {
return await request({
url: '/tool/gen/Generate',
url: 'tool/gen/genCode',
method: 'post',
data: data,
timeout: 0,
})
}
@@ -125,30 +55,30 @@ export async function codeGenerator(data) {
*/
export function queryColumnInfo(data) {
return request({
url: 'tool/gen/queryColumnInfo',
url: 'tool/gen/getColumnInfo',
method: 'GET',
params: data,
})
}
/**
*
* 数据库解密
*/
export function dbtoolsConnStrDecrypt(data) {
return request({
url: 'DbTools/ConnStrDecrypt',
method: 'post',
params: data,
})
}
/**
* 数据库加密
*/
export function dbtoolsConnStrEncrypt(data) {
return request({
url: 'DbTools/ConnStrEncrypt',
method: 'post',
params: data,
})
}
// /**
// *
// * 数据库解密
// */
// export function dbtoolsConnStrDecrypt(data) {
// return request({
// url: 'DbTools/ConnStrDecrypt',
// method: 'post',
// params: data,
// })
// }
// /**
// * 数据库加密
// */
// export function dbtoolsConnStrEncrypt(data) {
// return request({
// url: 'DbTools/ConnStrEncrypt',
// method: 'post',
// params: data,
// })
// }
+1 -1
View File
@@ -1,4 +1,4 @@
import { login, logOut, getInfo } from '@/api/login'
import { login, logOut, getInfo } from '@/api/system/login'
import { getToken, setToken, removeToken } from '@/utils/auth'
const user = {
+2 -2
View File
@@ -23,7 +23,7 @@
<div slot="header" class="clearfix">
<span>技术选型</span>
</div>
<el-col :span="6">
<el-col :span="10">
<h4>后端技术</h4>
<ul>
<li>NET5</li>
@@ -35,7 +35,7 @@
<li>...</li>
</ul>
</el-col>
<el-col :span="6">
<el-col :span="10">
<h4>前端技术</h4>
<ul>
<li>Vue</li>
+1 -1
View File
@@ -36,7 +36,7 @@
</template>
<script>
import { getCodeImg } from "@/api/login";
import { getCodeImg } from "@/api/system/login";
import Cookies from "js-cookie";
import { encrypt, decrypt } from "@/utils/jsencrypt";
+12 -26
View File
@@ -27,7 +27,7 @@
</el-form-item>
</el-form>
</div>
<el-table ref="gridtable" v-loading="tableloading" :data="tableData" border stripe highlight-current-row style="width: 100%">
<el-table ref="gridtable" v-loading="tableloading" :data="tableData" border stripe highlight-current-row height="500px" style="width: 100%;">
<!-- <el-table-column type="selection" width="50" /> -->
<el-table-column prop="name" label="表名" sortable="custom" width="380" />
<el-table-column prop="description" label="表描述" />
@@ -50,7 +50,7 @@
<el-checkbox :label="3">生成Repository</el-checkbox>
<el-checkbox :label="4">生成Service</el-checkbox>
<el-checkbox :label="5">生成Controller</el-checkbox>
<el-checkbox :label="6">生成Views和js</el-checkbox>
<el-checkbox :label="6">生成Views和api</el-checkbox>
</el-checkbox-group>
</el-form-item>
@@ -58,11 +58,7 @@
<el-radio v-model="coverd" :label="true">是</el-radio>
<el-radio v-model="coverd" :label="false">否</el-radio>
</el-form-item>
<el-form-item label="生成查询的列">
<!-- <el-checkbox-group v-model="checkedQueryColumn">
<el-checkbox :label="item.dbColumnName" v-for="item in columnData" :key="item.dbColumnName">{{item.dbColumnName}}</el-checkbox>
</el-checkbox-group> -->
<!-- <el-form-item label="生成查询的列">
<el-table :data="columnData" height="300px">
<el-table-column type="selection" width="60" />
<el-table-column label="字段列名" prop="dbColumnName" />
@@ -81,7 +77,7 @@
</el-select>
</template>
</el-table-column>
<!-- <el-table-column label="显示类型">
<el-table-column label="显示类型">
<el-select v-model="selectType">
<el-option value="input">文本框</el-option>
<el-option value="textArea">文本域</el-option>
@@ -91,9 +87,9 @@
<el-option value="upload">图片上传</el-option>
<el-option value="fileUpload">文件上传</el-option>
</el-select>
</el-table-column> -->
</el-table-column>
</el-table>
</el-form-item>
</el-form-item> -->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="handleGenerate">确 定</el-button>
@@ -105,7 +101,7 @@
<script>
import {
createGetDBConn,
// createGetDBConn,
codeGetDBList,
codeGetTableList,
codeGenerator,
@@ -113,12 +109,8 @@ import {
} from "@/api/tool/gen";
// import { downloadFile } from "@/utils/index";
import { Loading } from "element-ui";
import template from "../../../document/template.vue";
// import defaultSettings from "@/settings";
export default {
components: { template },
name: "CodeGenerator",
data() {
return {
@@ -207,12 +199,11 @@ export default {
this.loadTableData();
},
handlePreview() {
this.msgSuccess("敬请期待");
this.msgError("敬请期待");
},
handleShowDialog(row) {
console.log(row);
this.showGenerate = true;
this.currentSelected = row.name;
this.currentSelected = row;
queryColumnInfo({
dbName: this.codeform.dbName,
@@ -220,12 +211,7 @@ export default {
}).then((res) => {
if (res.code === 200) {
const columnData = res.data;
// for (let i = 0; i < columnData.length; i++) {
// this.$set(columnData[i], "selectType", 1);
// }
this.columnData = columnData;
// this.checkedQueryColumn = res.data.map((r) => r.dbColumnName);
}
});
},
@@ -233,7 +219,7 @@ export default {
* 点击生成服务端代码
*/
handleGenerate: async function () {
console.log(JSON.stringify(this.checkedCodeGenerateForm));
console.log(JSON.stringify(this.currentSelected));
if (!this.currentSelected) {
this.msgError("请先选择要生成代码的数据表");
return false;
@@ -250,7 +236,7 @@ export default {
var seachdata = {
dbName: this.codeform.dbName,
tables: this.currentSelected.name,
tableName: this.currentSelected.name,
baseSpace: this.codeform.baseSpace,
replaceTableNameStr: this.codeform.replaceTableNameStr,
genFiles: this.checkedCodeGenerateForm,
@@ -258,7 +244,7 @@ export default {
queryColumn: this.checkedQueryColumn,
};
console.log(JSON.stringify(seachdata));
//return;
codeGenerator(seachdata)
.then((res) => {
if (res.code == 200) {