From 0a9d4ea17b9f2bce9d82e959fbdb3c1c1f282ea2 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期二, 28 九月 2021 17:56:19 +0800
Subject: [PATCH] update 适配单体系与多体系用户权限
---
ruoyi-ui/src/views/tool/gen/index.vue | 88 ++++++++++++++++++++++++++++++++-----------
1 files changed, 65 insertions(+), 23 deletions(-)
diff --git a/ruoyi-ui/src/views/tool/gen/index.vue b/ruoyi-ui/src/views/tool/gen/index.vue
index 233e156..646decf 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']"
@@ -149,7 +161,7 @@
@pagination="getList"
/>
<!-- 棰勮鐣岄潰 -->
- <el-dialog :title="preview.title" :visible.sync="preview.open" width="80%" top="5vh" append-to-body>
+ <el-dialog :title="preview.title" :visible.sync="preview.open" width="80%" top="5vh" append-to-body class="scrollbar">
<el-tabs v-model="preview.activeName">
<el-tab-pane
v-for="(value, key) in preview.data"
@@ -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,17 @@
</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 +206,8 @@
single: true,
// 闈炲涓鐢�
multiple: true,
+ // 鏄剧ず鎼滅储鏉′欢
+ showSearch: true,
// 鎬绘潯鏁�
total: 0,
// 琛ㄦ暟鎹�
@@ -215,7 +237,8 @@
const time = this.$route.query.t;
if (time != null && time != this.uniqueId) {
this.uniqueId = time;
- this.resetQuery();
+ this.queryParams.pageNum = Number(this.$route.query.pageNum);
+ this.getList();
}
},
methods: {
@@ -238,10 +261,25 @@
handleGenTable(row) {
const tableNames = row.tableName || this.tableNames;
if (tableNames == "") {
- this.msgError("璇烽�夋嫨瑕佺敓鎴愮殑鏁版嵁");
+ this.$modal.msgError("璇烽�夋嫨瑕佺敓鎴愮殑鏁版嵁");
return;
}
- downLoadZip("/tool/gen/batchGenCode?tables=" + tableNames, "ruoyi");
+ if(row.genType === "1") {
+ genCode(row.tableName).then(response => {
+ this.$modal.msgSuccess("鎴愬姛鐢熸垚鍒拌嚜瀹氫箟璺緞锛�" + row.genPath);
+ });
+ } else {
+ this.$download.zip("/tool/gen/batchGenCode?tables=" + tableNames, "ruoyi");
+ }
+ },
+ /** 鍚屾鏁版嵁搴撴搷浣� */
+ handleSynchDb(row) {
+ const tableName = row.tableName;
+ this.$modal.confirm('纭瑕佸己鍒跺悓姝�"' + tableName + '"琛ㄧ粨鏋勫悧锛�').then(function() {
+ return synchDb(tableName);
+ }).then(() => {
+ this.$modal.msgSuccess("鍚屾鎴愬姛");
+ }).catch(() => {});
},
/** 鎵撳紑瀵煎叆琛ㄥ脊绐� */
openImportTable() {
@@ -258,7 +296,15 @@
previewTable(row.tableId).then(response => {
this.preview.data = response.data;
this.preview.open = true;
+ this.preview.activeName = "domain.java";
});
+ },
+ /** 楂樹寒鏄剧ず */
+ 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) {
@@ -270,22 +316,18 @@
/** 淇敼鎸夐挳鎿嶄綔 */
handleEditTable(row) {
const tableId = row.tableId || this.ids[0];
- this.$router.push({ path: "/gen/edit", query: { tableId: tableId } });
+ this.$router.push({ path: '/tool/gen-edit/index', query: { tableId: tableId, pageNum: this.queryParams.pageNum } });
},
/** 鍒犻櫎鎸夐挳鎿嶄綔 */
handleDelete(row) {
const tableIds = row.tableId || this.ids;
- this.$confirm('鏄惁纭鍒犻櫎琛ㄧ紪鍙蜂负"' + tableIds + '"鐨勬暟鎹」?', "璀﹀憡", {
- confirmButtonText: "纭畾",
- cancelButtonText: "鍙栨秷",
- type: "warning"
- }).then(function() {
- return delTable(tableIds);
+ this.$modal.confirm('鏄惁纭鍒犻櫎琛ㄧ紪鍙蜂负"' + tableIds + '"鐨勬暟鎹」锛�').then(function() {
+ return delTable(tableIds);
}).then(() => {
- this.getList();
- this.msgSuccess("鍒犻櫎鎴愬姛");
- }).catch(function() {});
+ this.getList();
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ }).catch(() => {});
}
}
};
-</script>
\ No newline at end of file
+</script>
--
Gitblit v1.9.3