Skip to content

Commit a2dff02

Browse files
committed
feat(console): enhance database manager functionality and layout
- Add queryDataFromTable and queryTables functions - Implement database and table selection - Adjust layout for better usability - Optimize SQL query execution
1 parent 93edc75 commit a2dff02

File tree

1 file changed

+18
-8
lines changed

1 file changed

+18
-8
lines changed

console/atest-ui/src/views/DataManager.vue

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,14 @@ watch(store, (s) => {
2323
}
2424
})
2525
})
26+
const queryDataFromTable = (data) => {
27+
sqlQuery.value = `select * from ${data.label} limit 10`
28+
executeQuery()
29+
}
30+
const queryTables = () => {
31+
sqlQuery.value = `show tables`
32+
executeQuery()
33+
}
2634
watch(kind, (k) => {
2735
switch (k) {
2836
case 'atest-store-orm':
@@ -118,26 +126,28 @@ const executeQuery = async () => {
118126
<template>
119127
<div>
120128
<el-container>
121-
<el-aside width="200px">
122-
<el-select v-model="currentDatabase" placeholder="Select database">
123-
<el-option v-for="item in databases" :key="item" :label="item"
124-
:value="item"></el-option>
125-
</el-select>
126-
<el-tree :data="tablesTree" node-key="label" />
129+
<el-aside>
130+
<el-scrollbar height="1024px">
131+
<el-select v-model="currentDatabase" placeholder="Select database" @change="queryTables">
132+
<el-option v-for="item in databases" :key="item" :label="item"
133+
:value="item"></el-option>
134+
</el-select>
135+
<el-tree :data="tablesTree" node-key="label" @node-click="queryDataFromTable"/>
136+
</el-scrollbar>
127137
</el-aside>
128138
<el-container>
129139
<el-header>
130140
<el-form @submit.prevent="executeQuery">
131141
<el-row :gutter="10">
132-
<el-col :span="2">
142+
<el-col :span="4">
133143
<el-form-item>
134144
<el-select v-model="store" placeholder="Select store">
135145
<el-option v-for="item in stores" :key="item.name" :label="item.name"
136146
:value="item.name" :disabled="!item.ready" :kind="item.kind.name"></el-option>
137147
</el-select>
138148
</el-form-item>
139149
</el-col>
140-
<el-col :span="18">
150+
<el-col :span="17">
141151
<el-form-item>
142152
<el-input v-model="sqlQuery" :placeholder="queryTip" @keyup.enter="executeQuery"></el-input>
143153
</el-form-item>

0 commit comments

Comments
 (0)