From 2fefa43aea11fa4e96ae62920cfc8ea164112bb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=AE=97=E6=B4=8B?= Date: Tue, 28 Mar 2023 15:22:05 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=A1=A8=E6=A0=BC=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=88=B7=E6=96=B0=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mayfly_go_web/src/views/ops/component/TagTree.vue | 5 +++++ mayfly_go_web/src/views/ops/db/SqlExec.vue | 14 +++++++++++++- mayfly_go_web/src/views/ops/db/db.ts | 5 +++-- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/mayfly_go_web/src/views/ops/component/TagTree.vue b/mayfly_go_web/src/views/ops/component/TagTree.vue index 4094a2bb..42e9defa 100644 --- a/mayfly_go_web/src/views/ops/component/TagTree.vue +++ b/mayfly_go_web/src/views/ops/component/TagTree.vue @@ -19,6 +19,11 @@ {{ data.label }} + + + + + diff --git a/mayfly_go_web/src/views/ops/db/SqlExec.vue b/mayfly_go_web/src/views/ops/db/SqlExec.vue index 14774095..8d54228d 100644 --- a/mayfly_go_web/src/views/ops/db/SqlExec.vue +++ b/mayfly_go_web/src/views/ops/db/SqlExec.vue @@ -59,6 +59,11 @@ + @@ -125,6 +130,7 @@ const state = reactive({ nowDbInst: {} as DbInst, db: '', // 当前操作的数据库 activeName: '', + reloadStatus: false, tabs, dataTabsTableHeight: '600', editorHeight: '600', @@ -257,7 +263,8 @@ const nodeClick = async (data: any) => { const getTables = async (params: any) => { const { id, db } = params; - let tables = await DbInst.getInst(id).loadTables(db); + let tables = await DbInst.getInst(id).loadTables(db, state.reloadStatus); + state.reloadStatus=false return tables.map((x: any) => { return new TagTreeNode(`${id}.${db}.${x.tableName}`, x.tableName, NodeType.Table).withIsLeaf(true).withParams({ id, @@ -406,6 +413,11 @@ const getSqlMenuNodeKey = (dbId: number, db: string) => { return `${dbId}.${db}.sql-menu` } +const reloadTables = (nodeKey:string) => { + state.reloadStatus=true + tagTreeRef.value.reloadNode(nodeKey); +} + const registerSqlCompletionItemProvider = () => { // 参考 https://microsoft.github.io/monaco-editor/playground.html#extending-language-services-completion-provider-example self.completionItemProvider = self.completionItemProvider || monaco.languages.registerCompletionItemProvider('sql', { diff --git a/mayfly_go_web/src/views/ops/db/db.ts b/mayfly_go_web/src/views/ops/db/db.ts index 8be66b81..8aed7549 100644 --- a/mayfly_go_web/src/views/ops/db/db.ts +++ b/mayfly_go_web/src/views/ops/db/db.ts @@ -58,13 +58,14 @@ export class DbInst { /** * 加载数据库表信息 * @param dbName 数据库名 + * @param reload 是否重新请求接口获取数据 * @returns 表信息 */ - async loadTables(dbName: string) { + async loadTables(dbName: string, reload?: boolean) { const db = this.getDb(dbName); // 优先从 table map中获取 let tables = db.tables; - if (tables) { + if (!reload && tables) { return tables; } console.log(`load tables -> dbName: ${dbName}`);