mirror of
https://gitee.com/dromara/mayfly-go
synced 2025-11-03 16:00:25 +08:00
feat: 微调
This commit is contained in:
@@ -75,7 +75,7 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
</el-card>
|
</el-card>
|
||||||
|
|
||||||
<el-dialog width="75%" :title="`${db} 表信息`" :before-close="closeTableInfo" v-model="tableInfoDialog.visible">
|
<el-dialog width="80%" :title="`${db} 表信息`" :before-close="closeTableInfo" v-model="tableInfoDialog.visible">
|
||||||
<el-row class="mb10">
|
<el-row class="mb10">
|
||||||
<el-popover v-model:visible="showDumpInfo" :width="470" placement="right" trigger="click">
|
<el-popover v-model:visible="showDumpInfo" :width="470" placement="right" trigger="click">
|
||||||
<template #reference>
|
<template #reference>
|
||||||
@@ -144,7 +144,7 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column property="createTime" label="创建时间" min-width="150"> </el-table-column>
|
<el-table-column property="createTime" label="创建时间" min-width="150"> </el-table-column>
|
||||||
<el-table-column label="更多信息" min-width="100">
|
<el-table-column label="更多信息" min-width="140">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-link @click.prevent="showColumns(scope.row)" type="primary">字段</el-link>
|
<el-link @click.prevent="showColumns(scope.row)" type="primary">字段</el-link>
|
||||||
<el-link class="ml5" @click.prevent="showTableIndex(scope.row)" type="success">索引</el-link>
|
<el-link class="ml5" @click.prevent="showTableIndex(scope.row)" type="success">索引</el-link>
|
||||||
|
|||||||
@@ -5,7 +5,14 @@
|
|||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form class="search-form" label-position="right" :inline="true">
|
<el-form class="search-form" label-position="right" :inline="true">
|
||||||
<el-form-item label="标签">
|
<el-form-item label="标签">
|
||||||
<el-select @change="changeTag" @focus="getTags" v-model="params.tagPath" placeholder="请选择标签" filterable style="width: 220px">
|
<el-select
|
||||||
|
@change="changeTag"
|
||||||
|
@focus="getTags"
|
||||||
|
v-model="params.tagPath"
|
||||||
|
placeholder="请选择标签"
|
||||||
|
filterable
|
||||||
|
style="width: 220px"
|
||||||
|
>
|
||||||
<el-option v-for="item in tags" :key="item" :label="item" :value="item"> </el-option>
|
<el-option v-for="item in tags" :key="item" :label="item" :value="item"> </el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -146,7 +153,7 @@
|
|||||||
v-loading="queryTab.loading"
|
v-loading="queryTab.loading"
|
||||||
element-loading-text="查询中..."
|
element-loading-text="查询中..."
|
||||||
size="small"
|
size="small"
|
||||||
max-height="800px"
|
max-height="250"
|
||||||
empty-text="tips: select *开头的单表查询或点击表名默认查询的数据,可双击数据在线修改"
|
empty-text="tips: select *开头的单表查询或点击表名默认查询的数据,可双击数据在线修改"
|
||||||
stripe
|
stripe
|
||||||
border
|
border
|
||||||
@@ -1232,35 +1239,35 @@ export default defineComponent({
|
|||||||
};
|
};
|
||||||
|
|
||||||
// 加载选中的db
|
// 加载选中的db
|
||||||
const setSelects = async (sqlExecInfo: any) =>{
|
const setSelects = async (sqlExecInfo: any) => {
|
||||||
// 保存sql
|
// 保存sql
|
||||||
let sql = codemirror?.getValue()
|
let sql = codemirror?.getValue();
|
||||||
if( sql && sql.length > 0 && state.dbId){
|
if (sql && sql.length > 0 && state.dbId) {
|
||||||
await saveSql();
|
await saveSql();
|
||||||
}
|
}
|
||||||
// 设置项目id和环境id
|
// 设置项目id和环境id
|
||||||
const { tagPath, dbId, db} = sqlExecInfo.dbOptInfo;
|
const { tagPath, dbId, db } = sqlExecInfo.dbOptInfo;
|
||||||
state.params.tagPath = tagPath
|
state.params.tagPath = tagPath;
|
||||||
// 查询有哪些数据库实例
|
// 查询有哪些数据库实例
|
||||||
await search()
|
await search();
|
||||||
// 加载数据库所有schema
|
// 加载数据库所有schema
|
||||||
changeDbInstance(dbId);
|
changeDbInstance(dbId);
|
||||||
state.dbId = dbId
|
state.dbId = dbId;
|
||||||
state.db = db
|
state.db = db;
|
||||||
// 加载schema下所有表
|
// 加载schema下所有表
|
||||||
changeDb(db)
|
changeDb(db);
|
||||||
}
|
};
|
||||||
|
|
||||||
// 判断如果有数据则加载下拉选项
|
// 判断如果有数据则加载下拉选项
|
||||||
let sqlExecInfo = store.state.sqlExecInfo
|
let sqlExecInfo = store.state.sqlExecInfo;
|
||||||
if(sqlExecInfo.dbOptInfo.tagPath){
|
if (sqlExecInfo.dbOptInfo.tagPath) {
|
||||||
setSelects(sqlExecInfo)
|
setSelects(sqlExecInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 监听选中操作的db变化,并加载下拉选项
|
// 监听选中操作的db变化,并加载下拉选项
|
||||||
watch(store.state.sqlExecInfo,async (newValue) => {
|
watch(store.state.sqlExecInfo, async (newValue) => {
|
||||||
await setSelects(newValue)
|
await setSelects(newValue);
|
||||||
})
|
});
|
||||||
|
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
|
|||||||
@@ -148,7 +148,7 @@
|
|||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { redisApi } from './api';
|
import { redisApi } from './api';
|
||||||
import {toRefs, reactive, defineComponent, watch} from 'vue';
|
import { toRefs, reactive, defineComponent, watch } from 'vue';
|
||||||
import { ElMessage, ElMessageBox } from 'element-plus';
|
import { ElMessage, ElMessageBox } from 'element-plus';
|
||||||
import HashValue from './HashValue.vue';
|
import HashValue from './HashValue.vue';
|
||||||
import StringValue from './StringValue.vue';
|
import StringValue from './StringValue.vue';
|
||||||
@@ -230,8 +230,9 @@ export default defineComponent({
|
|||||||
|
|
||||||
const changeRedis = (id: number) => {
|
const changeRedis = (id: number) => {
|
||||||
resetScanParam(id);
|
resetScanParam(id);
|
||||||
state.scanParam.db = '';
|
|
||||||
state.dbList = (state.redisList.find((x: any) => x.id == id) as any).db.split(',');
|
state.dbList = (state.redisList.find((x: any) => x.id == id) as any).db.split(',');
|
||||||
|
// 默认选中配置的第一个库
|
||||||
|
state.scanParam.db = state.dbList[0];
|
||||||
state.keys = [];
|
state.keys = [];
|
||||||
state.dbsize = 0;
|
state.dbsize = 0;
|
||||||
};
|
};
|
||||||
@@ -413,32 +414,29 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// 加载选中的db
|
// 加载选中的db
|
||||||
const setSelects = async (redisDbOptInfo: any) =>{
|
const setSelects = async (redisDbOptInfo: any) => {
|
||||||
// 设置项目id和环境id
|
// 设置标签路径等
|
||||||
const { tagPath, dbId} = redisDbOptInfo.dbOptInfo;
|
const { tagPath, dbId } = redisDbOptInfo.dbOptInfo;
|
||||||
state.query.tagPath = tagPath;
|
state.query.tagPath = tagPath;
|
||||||
await searchRedis()
|
await searchRedis();
|
||||||
state.scanParam.id = dbId
|
state.scanParam.id = dbId;
|
||||||
changeRedis(dbId)
|
changeRedis(dbId);
|
||||||
if(!state.scanParam.db){
|
changeDb();
|
||||||
state.scanParam.db = '0'
|
};
|
||||||
|
|
||||||
|
// 判断如果有数据则加载下拉选项
|
||||||
|
let redisDbOptInfo = store.state.redisDbOptInfo;
|
||||||
|
if (redisDbOptInfo.dbOptInfo.tagPath) {
|
||||||
|
setSelects(redisDbOptInfo);
|
||||||
}
|
}
|
||||||
changeDb()
|
|
||||||
}
|
|
||||||
|
|
||||||
// 判断如果有数据则加载下拉选项
|
// 监听选中操作的db变化,并加载下拉选项
|
||||||
let redisDbOptInfo = store.state.redisDbOptInfo
|
watch(store.state.redisDbOptInfo, async (newValue) => {
|
||||||
if(redisDbOptInfo.dbOptInfo.tagPath){
|
await setSelects(newValue);
|
||||||
setSelects(redisDbOptInfo)
|
});
|
||||||
}
|
|
||||||
|
|
||||||
// 监听选中操作的db变化,并加载下拉选项
|
return {
|
||||||
watch(store.state.redisDbOptInfo,async (newValue) => {
|
|
||||||
await setSelects(newValue)
|
|
||||||
})
|
|
||||||
|
|
||||||
return {
|
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
getTags,
|
getTags,
|
||||||
changeTag,
|
changeTag,
|
||||||
|
|||||||
Reference in New Issue
Block a user