Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
apache
DolphinScheduler
提交
14feda99
DolphinScheduler
项目概览
apache
/
DolphinScheduler
上一次同步 1 年多
通知
704
Star
9572
Fork
3514
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
DolphinScheduler
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
14feda99
编写于
9月 16, 2021
作者:
W
Wangyizhi1
提交者:
GitHub
9月 16, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Improve workflow lineage interaction (#6230)
上级
9d0b00c1
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
63 addition
and
20 deletion
+63
-20
dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/kinship/index.vue
...i/src/js/conf/home/pages/projects/pages/kinship/index.vue
+7
-3
dolphinscheduler-ui/src/js/conf/home/store/kinship/actions.js
...hinscheduler-ui/src/js/conf/home/store/kinship/actions.js
+56
-17
未找到文件。
dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/kinship/index.vue
浏览文件 @
14feda99
...
...
@@ -73,7 +73,7 @@
},
props
:
{},
methods
:
{
...
mapActions
(
'
kinship
'
,
[
'
getWorkFlowList
'
,
'
getWorkFlowDAG
'
]),
...
mapActions
(
'
kinship
'
,
[
'
getWorkFlowList
'
,
'
getWorkFlowDAG
'
,
'
getWorkFlowDAGAll
'
]),
/**
* init
*/
...
...
@@ -83,7 +83,7 @@
Promise
.
all
([
// get process definition
this
.
getWorkFlowList
(),
this
.
getWorkFlowDAG
()
this
.
getWorkFlowDAG
All
()
]).
then
((
data
)
=>
{
this
.
isLoading
=
false
}).
catch
(()
=>
{
...
...
@@ -103,7 +103,11 @@
this
.
isLoading
=
true
this
.
currentItemName
=
item
try
{
await
this
.
getWorkFlowDAG
(
item
)
if
(
item
)
{
await
this
.
getWorkFlowDAG
(
item
)
}
else
{
await
this
.
getWorkFlowDAGAll
()
}
}
catch
(
error
)
{
this
.
$message
.
error
(
error
.
msg
||
''
)
}
...
...
dolphinscheduler-ui/src/js/conf/home/store/kinship/actions.js
浏览文件 @
14feda99
...
...
@@ -19,6 +19,31 @@ import _ from 'lodash'
import
io
from
'
@/module/io
'
import
localStore
from
'
@/module/util/localStorage
'
/**
* build locations by workFlowList
*/
const
buildLocations
=
(
workFlowList
)
=>
{
return
_
.
uniqBy
(
workFlowList
,
'
workFlowCode
'
).
map
((
item
)
=>
({
code
:
`
${
item
.
workFlowCode
}
`
,
name
:
item
.
workFlowName
,
workFlowPublishStatus
:
item
.
workFlowPublishStatus
,
scheduleStartTime
:
item
.
scheduleStartTime
,
scheduleEndTime
:
item
.
scheduleEndTime
,
crontab
:
item
.
crontab
,
schedulePublishStatus
:
item
.
schedulePublishStatus
}))
}
/**
* build connects by workFlowRelationList
*/
const
buildConnects
=
(
workFlowRelationList
)
=>
{
return
_
.
map
(
workFlowRelationList
,
(
item
)
=>
({
source
:
`
${
item
.
sourceWorkFlowCode
}
`
,
// should be string, or connects will not show by echarts
target
:
`
${
item
.
targetWorkFlowCode
}
`
// should be string, or connects will not show by echarts
}))
}
export
default
{
/**
* Get workFlow DAG
...
...
@@ -49,31 +74,20 @@ export default {
/**
* Get workFlow DAG
*/
getWorkFlowDAG
({
state
},
payload
)
{
getWorkFlowDAG
({
state
},
code
)
{
const
projectCode
=
localStore
.
getItem
(
'
projectCode
'
)
return
new
Promise
((
resolve
,
reject
)
=>
{
const
url
=
`projects/
${
projectCode
}
/lineages/
list
`
io
.
get
(
url
,
{
code
:
payload
},
res
=>
{
const
url
=
`projects/
${
projectCode
}
/lineages/
${
code
}
`
io
.
get
(
url
,
res
=>
{
let
locations
=
[]
let
connects
=
[]
if
(
res
.
data
.
workFlowList
)
{
locations
=
_
.
uniqBy
(
res
.
data
.
workFlowList
,
'
workFlowCode
'
).
map
((
item
)
=>
({
code
:
`
${
item
.
workFlowCode
}
`
,
name
:
item
.
workFlowName
,
workFlowPublishStatus
:
item
.
workFlowPublishStatus
,
scheduleStartTime
:
item
.
scheduleStartTime
,
scheduleEndTime
:
item
.
scheduleEndTime
,
crontab
:
item
.
crontab
,
schedulePublishStatus
:
item
.
schedulePublishStatus
}))
locations
=
buildLocations
(
res
.
data
.
workFlowList
)
}
if
(
res
.
data
.
workFlowRelationList
)
{
connects
=
_
.
map
(
res
.
data
.
workFlowRelationList
,
(
item
)
=>
({
source
:
`
${
item
.
sourceWorkFlowCode
}
`
,
// should be string, or connects will not show by echarts
target
:
`
${
item
.
targetWorkFlowCode
}
`
// should be string, or connects will not show by echarts
}))
connects
=
buildConnects
(
res
.
data
.
workFlowRelationList
)
}
state
.
sourceWorkFlowCode
=
payload
||
''
state
.
sourceWorkFlowCode
=
code
||
''
// locations
state
.
locations
=
locations
/* JSON.parse(locations) */
// connects
...
...
@@ -83,5 +97,30 @@ export default {
reject
(
res
)
})
})
},
/**
* Get all workFlow DAG
*/
getWorkFlowDAGAll
({
state
},
payload
)
{
const
projectCode
=
localStore
.
getItem
(
'
projectCode
'
)
return
new
Promise
((
resolve
,
reject
)
=>
{
const
url
=
`projects/
${
projectCode
}
/lineages/list`
io
.
get
(
url
,
res
=>
{
let
locations
=
[]
let
connects
=
[]
if
(
res
.
data
.
workFlowList
)
{
locations
=
buildLocations
(
res
.
data
.
workFlowList
)
}
if
(
res
.
data
.
workFlowRelationList
)
{
connects
=
buildConnects
(
res
.
data
.
workFlowRelationList
)
}
state
.
sourceWorkFlowCode
=
''
state
.
locations
=
locations
state
.
connects
=
connects
resolve
(
res
.
data
)
}).
catch
(
res
=>
{
reject
(
res
)
})
})
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录