Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MeterSphere
metersphere
提交
21a4586d
M
metersphere
项目概览
MeterSphere
/
metersphere
上一次同步 大约 3 年
通知
25
Star
1
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
metersphere
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
21a4586d
编写于
3月 24, 2021
作者:
C
chenjianxing
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refactor: 编辑新增测试用例实时更新脑图
上级
3e52d679
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
54 addition
and
61 deletion
+54
-61
frontend/src/business/components/common/components/MsModuleMinder.vue
.../business/components/common/components/MsModuleMinder.vue
+3
-0
frontend/src/business/components/track/case/TestCase.vue
frontend/src/business/components/track/case/TestCase.vue
+12
-1
frontend/src/business/components/track/common/minder/TestCaseMinder.vue
...usiness/components/track/common/minder/TestCaseMinder.vue
+12
-4
frontend/src/business/components/track/common/minder/minderUtils.js
...rc/business/components/track/common/minder/minderUtils.js
+27
-56
未找到文件。
frontend/src/business/components/common/components/MsModuleMinder.vue
浏览文件 @
21a4586d
...
...
@@ -122,6 +122,9 @@ export default {
this
.
$nextTick
(()
=>
{
this
.
isActive
=
true
;
})
},
setJsonImport
(
data
)
{
this
.
importJson
=
data
;
}
}
}
...
...
frontend/src/business/components/track/case/TestCase.vue
浏览文件 @
21a4586d
...
...
@@ -8,7 +8,7 @@
@
setTreeNodes=
"setTreeNodes"
@
exportTestCase=
"exportTestCase"
@
saveAsEdit=
"editTestCase"
@
createCase=
"handleCase
CreateOrEdit
($event, 'add')"
@
createCase=
"handleCase
SimpleCreate
($event, 'add')"
@
refreshAll=
"refreshAll"
:type=
"'edit'"
ref=
"nodeTree"
...
...
@@ -158,6 +158,11 @@ export default {
}
}
},
activeName
(
newVal
,
oldVal
)
{
if
(
oldVal
!==
'
default
'
&&
newVal
===
'
default
'
&&
this
.
$refs
.
minder
)
{
this
.
$refs
.
minder
.
refresh
();
}
}
},
computed
:
{
checkRedirectID
:
function
()
{
...
...
@@ -303,6 +308,12 @@ export default {
this
.
$refs
.
minder
.
addCase
(
data
,
type
);
}
},
handleCaseSimpleCreate
(
data
,
type
)
{
this
.
handleCaseCreateOrEdit
(
data
,
type
);
if
(
this
.
$refs
.
minder
)
{
this
.
$refs
.
minder
.
refresh
();
}
},
copyTestCase
(
testCase
)
{
this
.
type
=
"
copy
"
this
.
testCaseReadOnly
=
false
;
...
...
frontend/src/business/components/track/common/minder/TestCaseMinder.vue
浏览文件 @
21a4586d
...
...
@@ -6,6 +6,7 @@
:tags=
"tags"
:distinct-tags=
"tags"
@
save=
"save"
ref=
"minder"
/>
</
template
>
...
...
@@ -13,9 +14,8 @@
import
MsModuleMinder
from
"
@/business/components/common/components/MsModuleMinder
"
;
import
{
appendChild
,
editNode
,
getTestCaseDataMap
,
parseCase
parseCase
,
updateNode
}
from
"
@/business/components/track/common/minder/minderUtils
"
;
export
default
{
name
:
"
TestCaseMinder
"
,
...
...
@@ -138,10 +138,18 @@ name: "TestCaseMinder",
},
addCase
(
data
,
type
)
{
let
nodeData
=
parseCase
(
data
,
new
Map
());
let
minder
=
window
.
minder
;
let
jsonImport
=
minder
.
exportJson
();
if
(
type
===
'
edit
'
)
{
editNode
(
nodeData
);
updateNode
(
jsonImport
.
root
,
nodeData
);
}
else
{
appendChild
(
data
.
nodeId
,
nodeData
);
appendChild
(
data
.
nodeId
,
jsonImport
.
root
,
nodeData
);
}
this
.
$refs
.
minder
.
setJsonImport
(
jsonImport
);
},
refresh
()
{
if
(
this
.
$refs
.
minder
)
{
this
.
$refs
.
minder
.
reload
();
}
}
}
...
...
frontend/src/business/components/track/common/minder/minderUtils.js
浏览文件 @
21a4586d
...
...
@@ -85,68 +85,39 @@ function _parseChildren(children, k, v, isDisable) {
}
}
export
function
appendChild
(
pId
,
appendNode
)
{
if
(
!
pId
)
{
pId
=
'
root
'
;
}
let
minder
=
window
.
minder
;
let
nodes
=
minder
.
getAllNode
();
let
parent
=
undefined
;
for
(
let
index
=
nodes
.
length
-
1
;
index
>=
0
;
index
--
)
{
let
item
=
nodes
[
index
];
if
(
item
.
data
.
id
===
pId
)
{
parent
=
item
;
break
;
}
}
if
(
!
parent
)
{
export
function
appendChild
(
appendPid
,
root
,
node
)
{
if
(
root
.
data
.
id
===
appendPid
)
{
root
.
children
.
push
(
node
);
return
;
}
let
node
=
minder
.
createNode
(
""
,
parent
);
minder
.
select
(
node
,
true
);
node
.
data
=
appendNode
.
data
;
if
(
parent
.
isExpanded
())
{
node
.
render
();
}
else
{
parent
.
expand
();
parent
.
renderTree
();
if
(
!
root
.
children
)
{
root
.
children
=
[];
}
minder
.
layout
(
600
);
// 添加子节点
let
children
=
appendNode
.
children
;
if
(
children
)
{
children
.
forEach
(
child
=>
{
child
.
data
.
id
=
getUUID
();
appendChild
(
node
.
data
.
id
,
child
);
})
let
children
=
root
.
children
;
for
(
const
index
in
children
)
{
let
item
=
children
[
index
];
if
(
item
.
data
.
id
===
appendPid
)
{
item
.
data
.
expandState
=
"
expand
"
;
item
.
children
.
push
(
node
);
return
;
}
else
{
appendChild
(
appendPid
,
item
,
node
);
}
}
}
export
function
editNode
(
node
)
{
let
minder
=
window
.
minder
;
let
nodes
=
minder
.
getAllNode
();
let
children
=
[];
let
item
=
undefined
;
for
(
const
index
in
nodes
)
{
item
=
nodes
[
index
];
if
(
item
.
data
.
id
===
node
.
data
.
id
)
{
item
.
data
=
node
.
data
;
children
=
node
.
children
;
if
(
item
.
children
)
{
item
.
children
.
forEach
(
n
=>
{
minder
.
removeNode
(
n
);
})
}
item
.
render
();
break
;
}
export
function
updateNode
(
root
,
node
)
{
if
(
!
root
.
children
)
{
root
.
children
=
[];
}
minder
.
layout
(
600
);
if
(
item
)
{
children
.
forEach
(
child
=>
{
child
.
data
.
id
=
getUUID
();
appendChild
(
item
.
data
.
id
,
child
);
})
let
children
=
root
.
children
;
for
(
const
index
in
children
)
{
let
item
=
children
[
index
];
if
(
item
.
data
.
id
===
node
.
data
.
id
)
{
children
[
index
]
=
node
;
return
;
}
else
{
updateNode
(
item
,
node
);
}
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录