1414 * limitations under the License.
1515 */
1616
17- import { ITableColumn , ResultSetColumn } from '@/d.ts' ;
17+ import { ISqlExecuteResultTimer , ITableColumn , ResultSetColumn } from '@/d.ts' ;
18+ import { SQLStore } from '@/store/sql' ;
1819import { formatMessage } from '@/util/intl' ;
1920import { formatTimeTemplate } from '@/util/utils' ;
2021import { Divider , Space , Typography } from 'antd' ;
2122import BigNumber from 'bignumber.js' ;
23+ import { inject , observer } from 'mobx-react' ;
2224import React , { useMemo } from 'react' ;
2325
2426interface IProps {
@@ -27,15 +29,25 @@ interface IProps {
2729 columns : Partial < ITableColumn > [ ] ;
2830 fields : ResultSetColumn [ ] ;
2931 selectedColumnKeys : React . Key [ ] ;
32+ sqlStore ?: SQLStore ;
33+ timer ?: ISqlExecuteResultTimer ;
3034}
3135
3236const StatusBar : React . FC < IProps > = function ( {
3337 recordCount,
3438 dbTotalDurationMicroseconds,
3539 columns,
40+ timer,
3641 fields,
3742 selectedColumnKeys,
3843} ) {
44+ const executeStage = timer ?. stages ?. find ( ( stage ) => stage . stageName === 'Execute' ) ;
45+ const executeSQLStage = executeStage ?. subStages ?. find (
46+ ( stage ) => stage . stageName === 'DB Server Execute SQL' ,
47+ ) ;
48+ const DBCostTime = formatTimeTemplate (
49+ BigNumber ( executeSQLStage ?. totalDurationMicroseconds ) . div ( 1000000 ) . toNumber ( ) ,
50+ ) ;
3951 const selectColumns = useMemo ( ( ) => {
4052 if ( ! columns ?. length || ! selectedColumnKeys ?. length || ! fields ?. length ) {
4153 return [ ] ;
@@ -117,22 +129,26 @@ const StatusBar: React.FC<IProps> = function ({
117129 { formatTimeTemplate ( BigNumber ( dbTotalDurationMicroseconds ) . div ( 1000000 ) . toNumber ( ) ) }
118130 </ span >
119131 ) : null }
120- < span >
121- {
122- formatMessage (
123- {
124- id : 'odc.components.DDLResultSet.StatusBar.TotalNumberOfEntriesRecordcount' ,
125- } ,
132+ < Space size = { 'small' } >
133+ < span > { `总耗时:${ DBCostTime } ` } </ span >
134+ < span >
135+ {
136+ formatMessage (
137+ {
138+ id : 'odc.components.DDLResultSet.StatusBar.TotalNumberOfEntriesRecordcount' ,
139+ } ,
140+
141+ { recordCount : recordCount } ,
142+ )
143+ /*总条数:{recordCount} 条*/
144+ }
145+ </ span >
146+ </ Space >
126147
127- { recordCount : recordCount } ,
128- )
129- /*总条数:{recordCount} 条*/
130- }
131- </ span >
132148 { columnInfo }
133149 </ Space >
134150 </ div >
135151 ) ;
136152} ;
137153
138- export default StatusBar ;
154+ export default inject ( 'sqlStore' ) ( observer ( StatusBar ) ) ;
0 commit comments