Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
datax-cloud
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
黄营
datax-cloud
Commits
4a45ded6
Commit
4a45ded6
authored
Jun 21, 2020
by
yuwei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
2.0.0项目初始化
parent
b5d6b5c1
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
295 additions
and
31 deletions
+295
-31
PageResult.java
...c/main/java/cn/datax/common/database/core/PageResult.java
+4
-4
DataSourceController.java
...service/data/factory/controller/DataSourceController.java
+2
-2
datasource.js
datax-ui/src/api/factory/datasource.js
+8
-0
user.js
datax-ui/src/api/system/user.js
+7
-0
index.vue
datax-ui/src/views/factory/console/index.vue
+15
-13
DataSetAdd.vue
datax-ui/src/views/factory/dataset/DataSetAdd.vue
+91
-5
DataSetDetail.vue
datax-ui/src/views/factory/dataset/DataSetDetail.vue
+79
-2
DataSetEdit.vue
datax-ui/src/views/factory/dataset/DataSetEdit.vue
+85
-4
index.vue
datax-ui/src/views/login/index.vue
+4
-1
No files found.
datax-common/datax-common-database/src/main/java/cn/datax/common/database/core/PageResult.java
View file @
4a45ded6
...
@@ -12,12 +12,12 @@ public class PageResult<T> implements Serializable {
...
@@ -12,12 +12,12 @@ public class PageResult<T> implements Serializable {
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
private
long
pageNum
;
private
Integer
pageNum
;
private
long
pageSize
;
private
Integer
pageSize
;
private
long
total
;
private
Integer
total
;
private
List
<
T
>
data
;
private
List
<
T
>
data
;
public
PageResult
(
long
total
,
List
<
T
>
data
)
{
public
PageResult
(
Integer
total
,
List
<
T
>
data
)
{
this
.
total
=
total
;
this
.
total
=
total
;
this
.
data
=
data
;
this
.
data
=
data
;
}
}
...
...
datax-modules/data-factory-service-parent/data-factory-service/src/main/java/cn/datax/service/data/factory/controller/DataSourceController.java
View file @
4a45ded6
...
@@ -195,7 +195,7 @@ public class DataSourceController extends BaseController {
...
@@ -195,7 +195,7 @@ public class DataSourceController extends BaseController {
@ApiOperation
(
value
=
"获取SQL结果"
,
notes
=
"根据数据源的id来获取SQL结果"
)
@ApiOperation
(
value
=
"获取SQL结果"
,
notes
=
"根据数据源的id来获取SQL结果"
)
@ApiImplicitParam
(
name
=
"dbDataQuery"
,
value
=
"详细实体dbDataQuery"
,
required
=
true
,
dataType
=
"DbDataQuery"
)
@ApiImplicitParam
(
name
=
"dbDataQuery"
,
value
=
"详细实体dbDataQuery"
,
required
=
true
,
dataType
=
"DbDataQuery"
)
@
Ge
tMapping
(
"/queryList"
)
@
Pos
tMapping
(
"/queryList"
)
public
R
queryList
(
@RequestBody
@Validated
DbDataQuery
dbDataQuery
)
{
public
R
queryList
(
@RequestBody
@Validated
DbDataQuery
dbDataQuery
)
{
DbQuery
dbQuery
=
dataSourceService
.
getDbQuery
(
dbDataQuery
.
getDataSourceId
());
DbQuery
dbQuery
=
dataSourceService
.
getDbQuery
(
dbDataQuery
.
getDataSourceId
());
List
<
Map
<
String
,
Object
>>
list
=
dbQuery
.
queryList
(
dbDataQuery
.
getSql
());
List
<
Map
<
String
,
Object
>>
list
=
dbQuery
.
queryList
(
dbDataQuery
.
getSql
());
...
@@ -204,7 +204,7 @@ public class DataSourceController extends BaseController {
...
@@ -204,7 +204,7 @@ public class DataSourceController extends BaseController {
@ApiOperation
(
value
=
"分页获取SQL结果"
,
notes
=
"根据数据源的id来分页获取SQL结果"
)
@ApiOperation
(
value
=
"分页获取SQL结果"
,
notes
=
"根据数据源的id来分页获取SQL结果"
)
@ApiImplicitParam
(
name
=
"dbDataQuery"
,
value
=
"详细实体dbDataQuery"
,
required
=
true
,
dataType
=
"DbDataQuery"
)
@ApiImplicitParam
(
name
=
"dbDataQuery"
,
value
=
"详细实体dbDataQuery"
,
required
=
true
,
dataType
=
"DbDataQuery"
)
@
Ge
tMapping
(
"/queryByPage"
)
@
Pos
tMapping
(
"/queryByPage"
)
public
R
queryByPage
(
@RequestBody
@Validated
DbDataQuery
dbDataQuery
)
{
public
R
queryByPage
(
@RequestBody
@Validated
DbDataQuery
dbDataQuery
)
{
DbQuery
dbQuery
=
dataSourceService
.
getDbQuery
(
dbDataQuery
.
getDataSourceId
());
DbQuery
dbQuery
=
dataSourceService
.
getDbQuery
(
dbDataQuery
.
getDataSourceId
());
PageResult
<
Map
<
String
,
Object
>>
page
=
dbQuery
.
queryByPage
(
dbDataQuery
.
getSql
(),
dbDataQuery
.
getOffset
(),
dbDataQuery
.
getPageSize
());
PageResult
<
Map
<
String
,
Object
>>
page
=
dbQuery
.
queryByPage
(
dbDataQuery
.
getSql
(),
dbDataQuery
.
getOffset
(),
dbDataQuery
.
getPageSize
());
...
...
datax-ui/src/api/factory/datasource.js
View file @
4a45ded6
...
@@ -60,3 +60,11 @@ export function checkConnection (data) {
...
@@ -60,3 +60,11 @@ export function checkConnection (data) {
data
:
data
data
:
data
})
})
}
}
export
function
queryByPage
(
data
)
{
return
request
({
url
:
'/data/factory/dataSources/queryByPage'
,
method
:
'post'
,
data
:
data
})
}
datax-ui/src/api/system/user.js
View file @
4a45ded6
...
@@ -32,6 +32,13 @@ export function logout (token) {
...
@@ -32,6 +32,13 @@ export function logout (token) {
})
})
}
}
export
function
log
()
{
return
request
({
url
:
'/system/login/logs'
,
method
:
'post'
})
}
export
function
pageUser
(
data
)
{
export
function
pageUser
(
data
)
{
return
request
({
return
request
({
url
:
'/system/users/page'
,
url
:
'/system/users/page'
,
...
...
datax-ui/src/views/factory/console/index.vue
View file @
4a45ded6
...
@@ -7,14 +7,6 @@
...
@@ -7,14 +7,6 @@
<div
:style=
"classCardbody"
>
<div
:style=
"classCardbody"
>
<el-row>
<el-row>
<el-col
:span=
"24"
>
<el-col
:span=
"24"
>
<el-button
size=
"mini"
round
@
click=
"runData"
:disabled=
"sqlExecuting"
>
运行
</el-button>
<el-button
size=
"mini"
round
@
click=
"stopData"
:disabled=
"!sqlExecuting"
>
停止
</el-button>
<el-button
size=
"mini"
round
@
click=
"formaterSql"
:disabled=
"sqlExecuting"
>
格式化
</el-button>
<el-button
size=
"mini"
round
@
click=
"refreshData"
:disabled=
"sqlExecuting"
>
重置
</el-button>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-select
v-model=
"sqlDataSource"
placeholder=
"请选择数据源"
>
<el-select
v-model=
"sqlDataSource"
placeholder=
"请选择数据源"
>
<el-option
<el-option
v-for=
"source in sourceOptions"
v-for=
"source in sourceOptions"
...
@@ -24,6 +16,10 @@
...
@@ -24,6 +16,10 @@
:disabled=
"source.status === '0'"
:disabled=
"source.status === '0'"
></el-option>
></el-option>
</el-select>
</el-select>
<el-button
size=
"mini"
round
@
click=
"runData"
:disabled=
"sqlExecuting"
>
运行
</el-button>
<el-button
size=
"mini"
round
@
click=
"stopData"
:disabled=
"!sqlExecuting"
>
停止
</el-button>
<el-button
size=
"mini"
round
@
click=
"formaterSql"
:disabled=
"sqlExecuting"
>
格式化
</el-button>
<el-button
size=
"mini"
round
@
click=
"refreshData"
:disabled=
"sqlExecuting"
>
重置
</el-button>
</el-col>
</el-col>
</el-row>
</el-row>
<el-row>
<el-row>
...
@@ -95,13 +91,13 @@ export default {
...
@@ -95,13 +91,13 @@ export default {
title
:
'SQL工作台'
,
title
:
'SQL工作台'
,
// 数据源数据字典
// 数据源数据字典
sourceOptions
:
[],
sourceOptions
:
[],
sqlDataSource
:
''
,
sqlDataSource
:
undefined
,
sqlText
:
''
,
sqlText
:
undefined
,
sqlExecuting
:
false
,
sqlExecuting
:
false
,
activeTabName
:
'table0'
,
activeTabName
:
'table0'
,
sqlExecutorId
:
undefined
,
sqlExecutorId
:
undefined
,
sqlConsole
:
[],
sqlConsole
:
[],
executeResultInfo
:
''
executeResultInfo
:
undefined
}
}
},
},
created
()
{
created
()
{
...
@@ -167,16 +163,22 @@ export default {
...
@@ -167,16 +163,22 @@ export default {
this
.
sqlText
=
val
this
.
sqlText
=
val
},
},
formaterSql
()
{
formaterSql
()
{
if
(
!
this
.
sqlText
)
{
return
}
this
.
$refs
.
sqleditor
.
editor
.
setValue
(
sqlFormatter
.
format
(
this
.
$refs
.
sqleditor
.
editor
.
getValue
()))
this
.
$refs
.
sqleditor
.
editor
.
setValue
(
sqlFormatter
.
format
(
this
.
$refs
.
sqleditor
.
editor
.
getValue
()))
},
},
refreshData
()
{
refreshData
()
{
if
(
!
this
.
sqlText
)
{
return
}
this
.
sqlExecuting
=
false
this
.
sqlExecuting
=
false
this
.
activeTabName
=
'table0'
this
.
activeTabName
=
'table0'
this
.
sqlExecutorId
=
undefined
this
.
sqlExecutorId
=
undefined
this
.
sqlText
=
''
this
.
sqlText
=
undefined
this
.
$refs
.
sqleditor
.
editor
.
setValue
(
''
)
this
.
$refs
.
sqleditor
.
editor
.
setValue
(
''
)
this
.
sqlConsole
=
[]
this
.
sqlConsole
=
[]
this
.
executeResultInfo
=
''
this
.
executeResultInfo
=
undefined
}
}
}
}
}
}
...
...
datax-ui/src/views/factory/dataset/DataSetAdd.vue
View file @
4a45ded6
...
@@ -34,6 +34,7 @@
...
@@ -34,6 +34,7 @@
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
<el-button
size=
"mini"
type=
"primary"
@
click=
"formaterSql"
>
Sql格式化
</el-button>
<el-button
size=
"mini"
type=
"primary"
@
click=
"formaterSql"
>
Sql格式化
</el-button>
<el-button
size=
"mini"
type=
"primary"
@
click=
"dataPreview"
>
预览
</el-button>
</el-form-item>
</el-form-item>
<el-form-item
label=
"状态"
prop=
"status"
>
<el-form-item
label=
"状态"
prop=
"status"
>
<el-radio-group
v-model=
"form.status"
>
<el-radio-group
v-model=
"form.status"
>
...
@@ -49,13 +50,45 @@
...
@@ -49,13 +50,45 @@
</el-form-item>
</el-form-item>
</el-form>
</el-form>
</div>
</div>
<el-drawer
:visible
.
sync=
"drawer"
direction=
"btt"
:with-header=
"false"
>
<el-table
:data=
"previewData.dataList"
stripe
border
:max-height=
"200"
style=
"width: 100%; margin: 15px 0;"
>
<el-table-column
label=
"序号"
width=
"55"
align=
"center"
>
<template
slot-scope=
"scope"
>
<span>
{{
scope
.
$index
+
1
}}
</span>
</
template
>
</el-table-column>
<
template
v-for=
"(column, index) in previewData.columnList"
>
<el-table-column
:prop=
"column"
:label=
"column"
:key=
"index"
align=
"center"
show-overflow-tooltip
/>
</
template
>
</el-table>
<el-pagination
:page-sizes=
"[10, 20, 50, 100]"
layout=
"total, sizes, prev, pager, next, jumper"
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"previewData.pageNum"
:page-size
.
sync=
"previewData.pageSize"
:total=
"previewData.dataTotal"
></el-pagination>
</el-drawer>
</el-card>
</el-card>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
{
addDataSet
}
from
'@/api/factory/dataset'
import
{
addDataSet
}
from
'@/api/factory/dataset'
import
{
listDataSource
}
from
'@/api/factory/datasource'
import
{
listDataSource
,
queryByPage
}
from
'@/api/factory/datasource'
import
sqlFormatter
from
'sql-formatter'
import
sqlFormatter
from
'sql-formatter'
import
SqlEditor
from
'@/components/SqlEditor'
import
SqlEditor
from
'@/components/SqlEditor'
...
@@ -95,7 +128,9 @@ export default {
...
@@ -95,7 +128,9 @@ export default {
},
},
// 表单参数
// 表单参数
form
:
{
form
:
{
status
:
'1'
status
:
'1'
,
sourceId
:
undefined
,
setSql
:
undefined
},
},
// 表单校验
// 表单校验
rules
:
{
rules
:
{
...
@@ -106,7 +141,15 @@ export default {
...
@@ -106,7 +141,15 @@ export default {
// 状态数据字典
// 状态数据字典
statusOptions
:
[],
statusOptions
:
[],
// 数据源数据字典
// 数据源数据字典
sourceOptions
:
[]
sourceOptions
:
[],
drawer
:
false
,
previewData
:
{
dataList
:
[],
columnList
:
[],
pageNum
:
1
,
pageSize
:
20
,
dataTotal
:
0
}
}
}
},
},
created
()
{
created
()
{
...
@@ -133,8 +176,46 @@ export default {
...
@@ -133,8 +176,46 @@ export default {
this
.
$set
(
this
.
form
,
'setSql'
,
val
)
this
.
$set
(
this
.
form
,
'setSql'
,
val
)
},
},
formaterSql
()
{
formaterSql
()
{
let
sqleditor
=
this
.
$refs
.
sqleditor
if
(
!
this
.
form
.
setSql
)
{
sqleditor
.
editor
.
setValue
(
sqlFormatter
.
format
(
sqleditor
.
editor
.
getValue
()))
return
}
this
.
$refs
.
sqleditor
.
editor
.
setValue
(
sqlFormatter
.
format
(
this
.
$refs
.
sqleditor
.
editor
.
getValue
()))
},
dataPreview
()
{
if
(
!
this
.
form
.
sourceId
)
{
return
}
if
(
!
this
.
form
.
setSql
)
{
return
}
let
data
=
{}
data
.
dataSourceId
=
this
.
form
.
sourceId
data
.
sql
=
this
.
form
.
setSql
data
.
pageNum
=
this
.
previewData
.
pageNum
data
.
pageSize
=
this
.
previewData
.
pageSize
queryByPage
(
data
).
then
(
response
=>
{
if
(
response
.
success
)
{
const
{
data
}
=
response
let
dataList
=
data
.
data
||
[]
let
columnList
=
[]
if
(
dataList
.
length
>
0
)
{
columnList
=
Object
.
keys
(
dataList
[
0
])
}
this
.
previewData
.
dataList
=
dataList
this
.
previewData
.
columnList
=
columnList
this
.
previewData
.
dataTotal
=
data
.
total
this
.
drawer
=
true
}
})
},
handleSizeChange
(
val
)
{
this
.
previewData
.
pageNum
=
1
this
.
previewData
.
pageSize
=
val
this
.
dataPreview
()
},
handleCurrentChange
(
val
)
{
this
.
previewData
.
pageNum
=
val
this
.
dataPreview
()
},
},
/** 提交按钮 */
/** 提交按钮 */
submitForm
:
function
()
{
submitForm
:
function
()
{
...
@@ -156,6 +237,11 @@ export default {
...
@@ -156,6 +237,11 @@ export default {
this
.
loadingOptions
.
loadingText
=
'保存'
this
.
loadingOptions
.
loadingText
=
'保存'
this
.
loadingOptions
.
isDisabled
=
false
this
.
loadingOptions
.
isDisabled
=
false
}
}
}).
catch
(
error
=>
{
this
.
$message
.
error
(
error
.
data
.
msg
||
'保存失败'
)
this
.
loadingOptions
.
loading
=
false
this
.
loadingOptions
.
loadingText
=
'保存'
this
.
loadingOptions
.
isDisabled
=
false
})
})
}
}
})
})
...
...
datax-ui/src/views/factory/dataset/DataSetDetail.vue
View file @
4a45ded6
...
@@ -4,6 +4,7 @@
...
@@ -4,6 +4,7 @@
<div
slot=
"header"
class=
"clearfix"
>
<div
slot=
"header"
class=
"clearfix"
>
<span>
{{
title
}}
</span>
<span>
{{
title
}}
</span>
<el-button-group
style=
"float: right;"
>
<el-button-group
style=
"float: right;"
>
<el-button
size=
"mini"
icon=
"el-icon-s-data"
round
@
click=
"dataPreview"
>
数据预览
</el-button>
<el-button
size=
"mini"
icon=
"el-icon-back"
round
@
click=
"showCard"
>
返回
</el-button>
<el-button
size=
"mini"
icon=
"el-icon-back"
round
@
click=
"showCard"
>
返回
</el-button>
</el-button-group>
</el-button-group>
</div>
</div>
...
@@ -44,6 +45,38 @@
...
@@ -44,6 +45,38 @@
<el-input
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入内容"
/>
<el-input
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入内容"
/>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<el-drawer
:visible
.
sync=
"drawer"
direction=
"btt"
:with-header=
"false"
>
<el-table
:data=
"previewData.dataList"
stripe
border
:max-height=
"200"
style=
"width: 100%; margin: 15px 0;"
>
<el-table-column
label=
"序号"
width=
"55"
align=
"center"
>
<template
slot-scope=
"scope"
>
<span>
{{
scope
.
$index
+
1
}}
</span>
</
template
>
</el-table-column>
<
template
v-for=
"(column, index) in previewData.columnList"
>
<el-table-column
:prop=
"column"
:label=
"column"
:key=
"index"
align=
"center"
show-overflow-tooltip
/>
</
template
>
</el-table>
<el-pagination
:page-sizes=
"[10, 20, 50, 100]"
layout=
"total, sizes, prev, pager, next, jumper"
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"previewData.pageNum"
:page-size
.
sync=
"previewData.pageSize"
:total=
"previewData.dataTotal"
></el-pagination>
</el-drawer>
</div>
</div>
</el-card>
</el-card>
</div>
</div>
...
@@ -51,7 +84,7 @@
...
@@ -51,7 +84,7 @@
<
script
>
<
script
>
import
{
getDataSet
}
from
'@/api/factory/dataset'
import
{
getDataSet
}
from
'@/api/factory/dataset'
import
{
listDataSource
}
from
'@/api/factory/datasource'
import
{
listDataSource
,
queryByPage
}
from
'@/api/factory/datasource'
import
SqlEditor
from
'@/components/SqlEditor'
import
SqlEditor
from
'@/components/SqlEditor'
export
default
{
export
default
{
...
@@ -87,7 +120,15 @@ export default {
...
@@ -87,7 +120,15 @@ export default {
// 状态数据字典
// 状态数据字典
statusOptions
:
[],
statusOptions
:
[],
// 数据源数据字典
// 数据源数据字典
sourceOptions
:
[]
sourceOptions
:
[],
drawer
:
false
,
previewData
:
{
dataList
:
[],
columnList
:
[],
pageNum
:
1
,
pageSize
:
20
,
dataTotal
:
0
}
}
}
},
},
created
()
{
created
()
{
...
@@ -119,6 +160,42 @@ export default {
...
@@ -119,6 +160,42 @@ export default {
this
.
$refs
.
sqleditor
.
editor
.
setValue
(
this
.
form
.
setSql
)
this
.
$refs
.
sqleditor
.
editor
.
setValue
(
this
.
form
.
setSql
)
}
}
})
})
},
dataPreview
()
{
if
(
!
this
.
form
.
sourceId
)
{
return
}
if
(
!
this
.
form
.
setSql
)
{
return
}
let
data
=
{}
data
.
dataSourceId
=
this
.
form
.
sourceId
data
.
sql
=
this
.
form
.
setSql
data
.
pageNum
=
this
.
previewData
.
pageNum
data
.
pageSize
=
this
.
previewData
.
pageSize
queryByPage
(
data
).
then
(
response
=>
{
if
(
response
.
success
)
{
const
{
data
}
=
response
let
dataList
=
data
.
data
||
[]
let
columnList
=
[]
if
(
dataList
.
length
>
0
)
{
columnList
=
Object
.
keys
(
dataList
[
0
])
}
this
.
previewData
.
dataList
=
dataList
this
.
previewData
.
columnList
=
columnList
this
.
previewData
.
dataTotal
=
data
.
total
this
.
drawer
=
true
}
})
},
handleSizeChange
(
val
)
{
this
.
previewData
.
pageNum
=
1
this
.
previewData
.
pageSize
=
val
this
.
dataPreview
()
},
handleCurrentChange
(
val
)
{
this
.
previewData
.
pageNum
=
val
this
.
dataPreview
()
}
}
}
}
}
}
...
...
datax-ui/src/views/factory/dataset/DataSetEdit.vue
View file @
4a45ded6
...
@@ -34,6 +34,7 @@
...
@@ -34,6 +34,7 @@
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
<el-button
size=
"mini"
type=
"primary"
@
click=
"formaterSql"
>
Sql格式化
</el-button>
<el-button
size=
"mini"
type=
"primary"
@
click=
"formaterSql"
>
Sql格式化
</el-button>
<el-button
size=
"mini"
type=
"primary"
@
click=
"dataPreview"
>
预览
</el-button>
</el-form-item>
</el-form-item>
<el-form-item
label=
"状态"
prop=
"status"
>
<el-form-item
label=
"状态"
prop=
"status"
>
<el-radio-group
v-model=
"form.status"
>
<el-radio-group
v-model=
"form.status"
>
...
@@ -48,6 +49,38 @@
...
@@ -48,6 +49,38 @@
<el-input
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入内容"
/>
<el-input
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入内容"
/>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<el-drawer
:visible
.
sync=
"drawer"
direction=
"btt"
:with-header=
"false"
>
<el-table
:data=
"previewData.dataList"
stripe
border
:max-height=
"200"
style=
"width: 100%; margin: 15px 0;"
>
<el-table-column
label=
"序号"
width=
"55"
align=
"center"
>
<template
slot-scope=
"scope"
>
<span>
{{
scope
.
$index
+
1
}}
</span>
</
template
>
</el-table-column>
<
template
v-for=
"(column, index) in previewData.columnList"
>
<el-table-column
:prop=
"column"
:label=
"column"
:key=
"index"
align=
"center"
show-overflow-tooltip
/>
</
template
>
</el-table>
<el-pagination
:page-sizes=
"[10, 20, 50, 100]"
layout=
"total, sizes, prev, pager, next, jumper"
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"previewData.pageNum"
:page-size
.
sync=
"previewData.pageSize"
:total=
"previewData.dataTotal"
></el-pagination>
</el-drawer>
</div>
</div>
</el-card>
</el-card>
</div>
</div>
...
@@ -55,7 +88,7 @@
...
@@ -55,7 +88,7 @@
<
script
>
<
script
>
import
{
getDataSet
,
updateDataSet
}
from
'@/api/factory/dataset'
import
{
getDataSet
,
updateDataSet
}
from
'@/api/factory/dataset'
import
{
listDataSource
}
from
'@/api/factory/datasource'
import
{
listDataSource
,
queryByPage
}
from
'@/api/factory/datasource'
import
sqlFormatter
from
'sql-formatter'
import
sqlFormatter
from
'sql-formatter'
import
SqlEditor
from
'@/components/SqlEditor'
import
SqlEditor
from
'@/components/SqlEditor'
...
@@ -104,7 +137,15 @@ export default {
...
@@ -104,7 +137,15 @@ export default {
// 状态数据字典
// 状态数据字典
statusOptions
:
[],
statusOptions
:
[],
// 数据源数据字典
// 数据源数据字典
sourceOptions
:
[]
sourceOptions
:
[],
drawer
:
false
,
previewData
:
{
dataList
:
[],
columnList
:
[],
pageNum
:
1
,
pageSize
:
20
,
dataTotal
:
0
}
}
}
},
},
created
()
{
created
()
{
...
@@ -142,8 +183,43 @@ export default {
...
@@ -142,8 +183,43 @@ export default {
this
.
$set
(
this
.
form
,
'setSql'
,
val
)
this
.
$set
(
this
.
form
,
'setSql'
,
val
)
},
},
formaterSql
(
val
)
{
formaterSql
(
val
)
{
let
sqleditor
=
this
.
$refs
.
sqleditor
this
.
$refs
.
sqleditor
.
editor
.
setValue
(
sqlFormatter
.
format
(
this
.
$refs
.
sqleditor
.
editor
.
getValue
()))
sqleditor
.
editor
.
setValue
(
sqlFormatter
.
format
(
sqleditor
.
editor
.
getValue
()))
},
dataPreview
()
{
if
(
!
this
.
form
.
sourceId
)
{
return
}
if
(
!
this
.
form
.
setSql
)
{
return
}
let
data
=
{}
data
.
dataSourceId
=
this
.
form
.
sourceId
data
.
sql
=
this
.
form
.
setSql
data
.
pageNum
=
this
.
previewData
.
pageNum
data
.
pageSize
=
this
.
previewData
.
pageSize
queryByPage
(
data
).
then
(
response
=>
{
if
(
response
.
success
)
{
const
{
data
}
=
response
let
dataList
=
data
.
data
||
[]
let
columnList
=
[]
if
(
dataList
.
length
>
0
)
{
columnList
=
Object
.
keys
(
dataList
[
0
])
}
this
.
previewData
.
dataList
=
dataList
this
.
previewData
.
columnList
=
columnList
this
.
previewData
.
dataTotal
=
data
.
total
this
.
drawer
=
true
}
})
},
handleSizeChange
(
val
)
{
this
.
previewData
.
pageNum
=
1
this
.
previewData
.
pageSize
=
val
this
.
dataPreview
()
},
handleCurrentChange
(
val
)
{
this
.
previewData
.
pageNum
=
val
this
.
dataPreview
()
},
},
/** 提交按钮 */
/** 提交按钮 */
submitForm
:
function
()
{
submitForm
:
function
()
{
...
@@ -165,6 +241,11 @@ export default {
...
@@ -165,6 +241,11 @@ export default {
this
.
loadingOptions
.
loadingText
=
'保存'
this
.
loadingOptions
.
loadingText
=
'保存'
this
.
loadingOptions
.
isDisabled
=
false
this
.
loadingOptions
.
isDisabled
=
false
}
}
}).
catch
(
error
=>
{
this
.
$message
.
error
(
error
.
data
.
msg
||
'保存失败'
)
this
.
loadingOptions
.
loading
=
false
this
.
loadingOptions
.
loadingText
=
'保存'
this
.
loadingOptions
.
isDisabled
=
false
})
})
}
}
})
})
...
...
datax-ui/src/views/login/index.vue
View file @
4a45ded6
...
@@ -46,6 +46,7 @@
...
@@ -46,6 +46,7 @@
<
script
>
<
script
>
import
{
validUsername
}
from
'@/utils/validate'
import
{
validUsername
}
from
'@/utils/validate'
import
{
log
}
from
'@/api/system/user'
export
default
{
export
default
{
name
:
'Login'
,
name
:
'Login'
,
...
@@ -93,6 +94,8 @@ export default {
...
@@ -93,6 +94,8 @@ export default {
this
.
$store
.
dispatch
(
'user/login'
,
this
.
loginForm
).
then
(()
=>
{
this
.
$store
.
dispatch
(
'user/login'
,
this
.
loginForm
).
then
(()
=>
{
this
.
$router
.
push
({
path
:
this
.
redirect
||
'/'
})
this
.
$router
.
push
({
path
:
this
.
redirect
||
'/'
})
this
.
loading
=
false
this
.
loading
=
false
}).
then
(()
=>
{
log
()
}).
catch
(()
=>
{
}).
catch
(()
=>
{
this
.
loading
=
false
this
.
loading
=
false
})
})
...
@@ -153,7 +156,7 @@ $cursor: #fff;
...
@@ -153,7 +156,7 @@ $cursor: #fff;
</
style
>
</
style
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
$
bg
:
#
fff
;
$
bg
:
#
2d3a4b
;
$
dark_gray
:
#889aa4
;
$
dark_gray
:
#889aa4
;
$
light_gray
:
#eee
;
$
light_gray
:
#eee
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment