From 5b4e9ef4dbdc8f2170afbde09be96c21bb9766e1 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期四, 22 四月 2021 09:50:03 +0800
Subject: [PATCH] Merge branch 'master' of https://gitee.com/JavaLionLi/RuoYi-Vue-Plus into dev
---
ruoyi-ui/src/views/tool/gen/index.vue | 71 ++++++++++++++++++++++++++++++-----
1 files changed, 60 insertions(+), 11 deletions(-)
diff --git a/ruoyi-ui/src/views/tool/gen/index.vue b/ruoyi-ui/src/views/tool/gen/index.vue
index 233e156..9d29399 100644
--- a/ruoyi-ui/src/views/tool/gen/index.vue
+++ b/ruoyi-ui/src/views/tool/gen/index.vue
@@ -1,6 +1,6 @@
<template>
<div class="app-container">
- <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px">
+ <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="琛ㄥ悕绉�" prop="tableName">
<el-input
v-model="queryParams.tableName"
@@ -41,6 +41,7 @@
<el-col :span="1.5">
<el-button
type="primary"
+ plain
icon="el-icon-download"
size="mini"
@click="handleGenTable"
@@ -50,6 +51,7 @@
<el-col :span="1.5">
<el-button
type="info"
+ plain
icon="el-icon-upload"
size="mini"
@click="openImportTable"
@@ -59,6 +61,7 @@
<el-col :span="1.5">
<el-button
type="success"
+ plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@@ -69,6 +72,7 @@
<el-col :span="1.5">
<el-button
type="danger"
+ plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@@ -76,10 +80,11 @@
v-hasPermi="['tool:gen:remove']"
>鍒犻櫎</el-button>
</el-col>
+ <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="tableList" @selection-change="handleSelectionChange">
- <el-table-column type="selection" width="55"></el-table-column>
+ <el-table-column type="selection" align="center" width="55"></el-table-column>
<el-table-column label="搴忓彿" type="index" width="50" align="center">
<template slot-scope="scope">
<span>{{(queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1}}</span>
@@ -90,21 +95,21 @@
align="center"
prop="tableName"
:show-overflow-tooltip="true"
- width="130"
+ width="120"
/>
<el-table-column
label="琛ㄦ弿杩�"
align="center"
prop="tableComment"
:show-overflow-tooltip="true"
- width="130"
+ width="120"
/>
<el-table-column
label="瀹炰綋"
align="center"
prop="className"
:show-overflow-tooltip="true"
- width="130"
+ width="120"
/>
<el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="160" />
<el-table-column label="鏇存柊鏃堕棿" align="center" prop="updateTime" width="160" />
@@ -134,6 +139,13 @@
<el-button
type="text"
size="small"
+ icon="el-icon-refresh"
+ @click="handleSynchDb(scope.row)"
+ v-hasPermi="['tool:gen:edit']"
+ >鍚屾</el-button>
+ <el-button
+ type="text"
+ size="small"
icon="el-icon-download"
@click="handleGenTable(scope.row)"
v-hasPermi="['tool:gen:code']"
@@ -157,7 +169,7 @@
:name="key.substring(key.lastIndexOf('/')+1,key.indexOf('.vm'))"
:key="key"
>
- <pre>{{ value }}</pre>
+ <pre><code class="hljs" v-html="highlightedCode(value, key)"></code></pre>
</el-tab-pane>
</el-tabs>
</el-dialog>
@@ -166,9 +178,18 @@
</template>
<script>
-import { listTable, previewTable, delTable } from "@/api/tool/gen";
+import { listTable, previewTable, delTable, genCode, synchDb } from "@/api/tool/gen";
import importTable from "./importTable";
import { downLoadZip } from "@/utils/zipdownload";
+import hljs from "highlight.js/lib/highlight";
+import "highlight.js/styles/github-gist.css";
+hljs.registerLanguage("java", require("highlight.js/lib/languages/java"));
+hljs.registerLanguage("xml", require("highlight.js/lib/languages/xml"));
+hljs.registerLanguage("html", require("highlight.js/lib/languages/xml"));
+hljs.registerLanguage("vue", require("highlight.js/lib/languages/xml"));
+hljs.registerLanguage("javascript", require("highlight.js/lib/languages/javascript"));
+hljs.registerLanguage("sql", require("highlight.js/lib/languages/sql"));
+
export default {
name: "Gen",
components: { importTable },
@@ -186,6 +207,8 @@
single: true,
// 闈炲涓鐢�
multiple: true,
+ // 鏄剧ず鎼滅储鏉′欢
+ showSearch: true,
// 鎬绘潯鏁�
total: 0,
// 琛ㄦ暟鎹�
@@ -241,7 +264,26 @@
this.msgError("璇烽�夋嫨瑕佺敓鎴愮殑鏁版嵁");
return;
}
- downLoadZip("/tool/gen/batchGenCode?tables=" + tableNames, "ruoyi");
+ if(row.genType === "1") {
+ genCode(row.tableName).then(response => {
+ this.msgSuccess("鎴愬姛鐢熸垚鍒拌嚜瀹氫箟璺緞锛�" + row.genPath);
+ });
+ } else {
+ downLoadZip("/tool/gen/batchGenCode?tables=" + tableNames, "ruoyi");
+ }
+ },
+ /** 鍚屾鏁版嵁搴撴搷浣� */
+ handleSynchDb(row) {
+ const tableName = row.tableName;
+ this.$confirm('纭瑕佸己鍒跺悓姝�"' + tableName + '"琛ㄧ粨鏋勫悧锛�', "璀﹀憡", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning"
+ }).then(function() {
+ return synchDb(tableName);
+ }).then(() => {
+ this.msgSuccess("鍚屾鎴愬姛");
+ })
},
/** 鎵撳紑瀵煎叆琛ㄥ脊绐� */
openImportTable() {
@@ -260,6 +302,13 @@
this.preview.open = true;
});
},
+ /** 楂樹寒鏄剧ず */
+ highlightedCode(code, key) {
+ const vmName = key.substring(key.lastIndexOf("/") + 1, key.indexOf(".vm"));
+ var language = vmName.substring(vmName.indexOf(".") + 1, vmName.length);
+ const result = hljs.highlight(language, code || "", true);
+ return result.value || ' ';
+ },
// 澶氶�夋閫変腑鏁版嵁
handleSelectionChange(selection) {
this.ids = selection.map(item => item.tableId);
@@ -270,7 +319,7 @@
/** 淇敼鎸夐挳鎿嶄綔 */
handleEditTable(row) {
const tableId = row.tableId || this.ids[0];
- this.$router.push({ path: "/gen/edit", query: { tableId: tableId } });
+ this.$router.push("/gen/edit/" + tableId);
},
/** 鍒犻櫎鎸夐挳鎿嶄綔 */
handleDelete(row) {
@@ -284,8 +333,8 @@
}).then(() => {
this.getList();
this.msgSuccess("鍒犻櫎鎴愬姛");
- }).catch(function() {});
+ })
}
}
};
-</script>
\ No newline at end of file
+</script>
--
Gitblit v1.9.3