Skip to content

Commit de61836

Browse files
committed
Merge branch 'dev' of github.com:chat2db/Chat2DB into dev
2 parents 832e5e9 + da0d695 commit de61836

29 files changed

Lines changed: 539 additions & 370 deletions

File tree

chat2db-client/src/components/Console/MonacoEditor/index.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,10 +238,12 @@ export const appendMonacoValue = (editor: any, text: any, range: IRangeType = 'e
238238
// 覆盖所有内容
239239
case 'cover':
240240
newRange = model.getFullModelRange();
241+
editor.revealLine(lastLine);
241242
break;
242243
// 在开头添加内容
243244
case 'front':
244245
newRange = new monaco.Range(1, 1, 1, 1);
246+
editor.revealLine(1);
245247
break;
246248
// 格式化选中区域的sql
247249
case 'select':
@@ -261,6 +263,7 @@ export const appendMonacoValue = (editor: any, text: any, range: IRangeType = 'e
261263
const lastLineLength = editor.getModel().getLineMaxColumn(lastLine);
262264
newRange = new monaco.Range(lastLine, lastLineLength, lastLine, lastLineLength);
263265
text = `${text}`;
266+
editor.revealLine(lastLine);
264267
break;
265268
default:
266269
break;

chat2db-client/src/components/Output/index.tsx

Lines changed: 20 additions & 141 deletions
Original file line numberDiff line numberDiff line change
@@ -1,151 +1,20 @@
1-
import React, { memo } from 'react';
1+
import React, { memo, useEffect } from 'react';
22
import styles from './index.less';
33
import classnames from 'classnames';
44
import { Table } from 'antd';
5+
import historyService, { IGetHistoryListParams } from '@/service/history';
6+
import { set } from 'lodash';
7+
8+
export interface IGetOutputParams extends IGetHistoryListParams {}
59

610
interface IProps {
711
className?: string;
8-
dataSourcesId?: string;
9-
}
10-
11-
// 获取Output的参数
12-
export interface IGetOutputParams {
13-
dataSourcesId?: string;
14-
databaseName?: string;
12+
params: IGetOutputParams;
1513
}
1614

1715
export default memo<IProps>((props) => {
18-
const { className } = props;
19-
const dataSource = [
20-
{
21-
key: '1',
22-
time: '2022-10-11 12:00:00',
23-
sql: 'select * from test',
24-
executionTime: '100ms',
25-
databaseName: 'sys',
26-
state: '成功',
27-
},
28-
{
29-
key: '2',
30-
time: '2022-10-11 12:00:00',
31-
sql: 'select * from test',
32-
executionTime: '100ms',
33-
databaseName: 'sys',
34-
state: '成功',
35-
},
36-
{
37-
key: '1',
38-
time: '2022-10-11 12:00:00',
39-
sql: 'select * from test',
40-
executionTime: '100ms',
41-
databaseName: 'sys',
42-
state: '成功',
43-
},
44-
{
45-
key: '2',
46-
time: '2022-10-11 12:00:00',
47-
sql: 'select * from test',
48-
executionTime: '100ms',
49-
databaseName: 'sys',
50-
state: '成功',
51-
},
52-
{
53-
key: '1',
54-
time: '2022-10-11 12:00:00',
55-
sql: 'select * from test',
56-
executionTime: '100ms',
57-
databaseName: 'sys',
58-
state: '成功',
59-
},
60-
{
61-
key: '2',
62-
time: '2022-10-11 12:00:00',
63-
sql: 'select * from test',
64-
executionTime: '100ms',
65-
databaseName: 'sys',
66-
state: '成功',
67-
},
68-
{
69-
key: '1',
70-
time: '2022-10-11 12:00:00',
71-
sql: 'select * from test',
72-
executionTime: '100ms',
73-
databaseName: 'sys',
74-
state: '成功',
75-
},
76-
{
77-
key: '2',
78-
time: '2022-10-11 12:00:00',
79-
sql: 'select * from test',
80-
executionTime: '100ms',
81-
databaseName: 'sys',
82-
state: '成功',
83-
},
84-
{
85-
key: '1',
86-
time: '2022-10-11 12:00:00',
87-
sql: 'select * from test',
88-
executionTime: '100ms',
89-
databaseName: 'sys',
90-
state: '成功',
91-
},
92-
{
93-
key: '2',
94-
time: '2022-10-11 12:00:00',
95-
sql: 'select * from test',
96-
executionTime: '100ms',
97-
databaseName: 'sys',
98-
state: '成功',
99-
},
100-
{
101-
key: '1',
102-
time: '2022-10-11 12:00:00',
103-
sql: 'select * from test',
104-
executionTime: '100ms',
105-
databaseName: 'sys',
106-
state: '成功',
107-
},
108-
{
109-
key: '2',
110-
time: '2022-10-11 12:00:00',
111-
sql: 'select * from test',
112-
executionTime: '100ms',
113-
databaseName: 'sys',
114-
state: '成功',
115-
},
116-
{
117-
key: '1',
118-
time: '2022-10-11 12:00:00',
119-
sql: 'select * from test',
120-
executionTime: '100ms',
121-
databaseName: 'sys',
122-
state: '成功',
123-
},
124-
{
125-
key: '2',
126-
time: '2022-10-11 12:00:00',
127-
sql: 'select * from test',
128-
executionTime: '100ms',
129-
databaseName: 'sys',
130-
state: '成功',
131-
},
132-
{
133-
key: '1',
134-
time: '2022-10-11 12:00:00',
135-
sql: 'select * from test',
136-
executionTime: '100ms',
137-
databaseName: 'sys',
138-
state: '成功',
139-
},
140-
{
141-
key: '2',
142-
time: '2022-10-11 12:00:00',
143-
sql: 'select * from test',
144-
executionTime: '100ms',
145-
databaseName: 'sys',
146-
state: '成功',
147-
},
148-
];
16+
const { className, params } = props;
17+
const [dataSource, setDataSource] = React.useState<any[]>([]);
14918

15019
const columns = [
15120
{
@@ -175,8 +44,8 @@ export default memo<IProps>((props) => {
17544
},
17645
{
17746
title: 'sql',
178-
dataIndex: 'sql',
179-
key: 'sql',
47+
dataIndex: 'name',
48+
key: 'name',
18049
},
18150
{
18251
title: '执行耗时',
@@ -185,6 +54,16 @@ export default memo<IProps>((props) => {
18554
},
18655
];
18756

57+
useEffect(() => {
58+
getHistoryList();
59+
}, []);
60+
61+
const getHistoryList = () => {
62+
historyService.getHistoryList(params).then((res) => {
63+
setDataSource(res.data);
64+
});
65+
};
66+
18867
return (
18968
<div className={classnames(styles.output, className)}>
19069
<Table

chat2db-client/src/components/SearchResult/TableBox/index.less

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,22 @@
1313
.hGEOgo {
1414
--header-bgcolor: #fafafa;
1515
--header-color: #000;
16+
table colgroup col {
17+
min-width: 120px;
18+
}
19+
table colgroup col:nth-of-type(1) {
20+
min-width: 60px;
21+
}
22+
.fnWppk {
23+
// word-break: break-all;
24+
// display: -webkit-box;
25+
// -webkit-box-orient: vertical;
26+
// box-orient: vertical;
27+
// -webkit-line-clamp: 1;
28+
// line-clamp: 1;
29+
// text-overflow: ellipsis;
30+
overflow: hidden;
31+
}
1632
th {
1733
font-weight: bold;
1834
}
@@ -26,7 +42,6 @@
2642
border-top: 0;
2743
}
2844
}
29-
3045
.art-table-cell {
3146
position: relative;
3247
}
@@ -106,6 +121,8 @@
106121
}
107122

108123
.statusBar {
124+
height: 26px;
125+
box-sizing: border-box;
109126
position: sticky;
110127
bottom: 0;
111128
z-index: 30;

chat2db-client/src/components/SearchResult/TableBox/index.tsx

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,7 @@ export default function TableBox(props: ITableProps) {
323323
name: 'No.',
324324
key: name,
325325
lock: true,
326-
width: 48,
326+
width: 60,
327327
features: { sortable: compareStrings },
328328
render: (value: any) => {
329329
return (
@@ -383,14 +383,14 @@ export default function TableBox(props: ITableProps) {
383383
// sorts,
384384
// onChangeSorts,
385385
}),
386-
)
387-
.use(
388-
features.columnResize({
389-
fallbackSize: 120,
390-
minSize: 60,
391-
maxSize: 1080,
392-
}),
393386
);
387+
// .use(
388+
// features.columnResize({
389+
// fallbackSize: 120,
390+
// minSize: 60,
391+
// maxSize: 1080,
392+
// }),
393+
// );
394394

395395
const onPageNoChange = (pageNo: number) => {
396396
const config = { ...paginationConfig, pageNo };

chat2db-client/src/components/SearchResult/index.less

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,3 +60,8 @@
6060
.outputPrefixIcon{
6161
margin-right: 4px;
6262
}
63+
64+
.stateIndicator{
65+
width: 70%;
66+
margin: 0 auto;
67+
}

chat2db-client/src/components/SearchResult/index.tsx

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,14 @@ export default memo<IProps>((props) => {
4040
/>
4141
);
4242
} else {
43-
return <StateIndicator key={queryResultData.uuid} state="error" text={queryResultData.message} />;
43+
return (
44+
<StateIndicator
45+
className={styles.stateIndicator}
46+
key={queryResultData.uuid}
47+
state="error"
48+
text={queryResultData.message}
49+
/>
50+
);
4451
}
4552
};
4653

@@ -73,12 +80,17 @@ export default memo<IProps>((props) => {
7380
);
7481

7582
const outputTabAndTabsList = useMemo(() => {
83+
const params = {
84+
pageNo: 1,
85+
pageSize: 10,
86+
};
87+
7688
return [
7789
{
7890
prefixIcon: <Iconfont key="output" className={styles.outputPrefixIcon} code="&#xe6bb;" />,
7991
label: 'Output',
8092
key: 'output',
81-
children: <Output />,
93+
children: <Output params={params} />,
8294
styles: { width: '80px' },
8395
canClosed: false,
8496
},
@@ -88,15 +100,15 @@ export default memo<IProps>((props) => {
88100

89101
return (
90102
<div className={classnames(className, styles.searchResult)}>
91-
{outputTabAndTabsList.length ? (
103+
{tabsList.length ? (
92104
<TabsNew
93105
hideAdd
94-
concealTabHeader={outputTabAndTabsList?.length === 1}
106+
// concealTabHeader={outputTabAndTabsList?.length === 1}
95107
className={styles.tabs}
96108
onChange={onChange as any}
97109
activeKey={currentTab}
98110
onEdit={onEdit as any}
99-
items={outputTabAndTabsList}
111+
items={tabsList}
100112
/>
101113
) : (
102114
<div className={styles.noData}>

chat2db-client/src/components/StateIndicator/index.less

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535

3636
.errorText {
3737
font-size: 14px;
38-
color: var(--error-color);
38+
color: var(--color-error);
3939
text-align: center;
4040
transform: translateY(-20px);
4141
white-space: pre-wrap;

0 commit comments

Comments
 (0)