Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MeterSphere
metersphere
提交
b6b0aca9
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,发现更多精彩内容 >>
提交
b6b0aca9
编写于
4月 17, 2020
作者:
C
chenjianxing
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
快速定位我的用例
上级
c640f456
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
128 addition
and
20 deletion
+128
-20
backend/src/main/java/io/metersphere/base/mapper/ext/ExtTestCaseMapper.java
...ava/io/metersphere/base/mapper/ext/ExtTestCaseMapper.java
+2
-1
backend/src/main/java/io/metersphere/base/mapper/ext/ExtTestCaseMapper.xml
...java/io/metersphere/base/mapper/ext/ExtTestCaseMapper.xml
+3
-0
backend/src/main/java/io/metersphere/controller/TestPlanTestCaseController.java
...io/metersphere/controller/TestPlanTestCaseController.java
+2
-3
backend/src/main/java/io/metersphere/controller/request/testplancase/QueryTestPlanCaseRequest.java
...roller/request/testplancase/QueryTestPlanCaseRequest.java
+39
-0
backend/src/main/java/io/metersphere/service/TestPlanTestCaseService.java
.../java/io/metersphere/service/TestPlanTestCaseService.java
+2
-2
frontend/src/business/components/common/components/MsTipButton.vue
...src/business/components/common/components/MsTipButton.vue
+54
-0
frontend/src/business/components/track/plan/common/TestPlanTestCaseStatusButton.vue
...onents/track/plan/common/TestPlanTestCaseStatusButton.vue
+1
-1
frontend/src/business/components/track/plan/components/TestPlanTestCaseList.vue
...components/track/plan/components/TestPlanTestCaseList.vue
+25
-13
未找到文件。
backend/src/main/java/io/metersphere/base/mapper/ext/ExtTestCaseMapper.java
浏览文件 @
b6b0aca9
...
...
@@ -3,6 +3,7 @@ package io.metersphere.base.mapper.ext;
import
io.metersphere.base.domain.TestCase
;
import
io.metersphere.controller.request.ReportRequest
;
import
io.metersphere.controller.request.testcase.QueryTestCaseRequest
;
import
io.metersphere.controller.request.testplancase.QueryTestPlanCaseRequest
;
import
io.metersphere.dto.ReportDTO
;
import
io.metersphere.dto.TestPlanCaseDTO
;
import
org.apache.ibatis.annotations.Param
;
...
...
@@ -13,5 +14,5 @@ public interface ExtTestCaseMapper {
List
<
TestCase
>
getTestCaseNames
(
@Param
(
"request"
)
QueryTestCaseRequest
request
);
List
<
TestPlanCaseDTO
>
getTestPlanTestCases
(
@Param
(
"request"
)
QueryTestCaseRequest
request
);
List
<
TestPlanCaseDTO
>
getTestPlanTestCases
(
@Param
(
"request"
)
QueryTest
Plan
CaseRequest
request
);
}
backend/src/main/java/io/metersphere/base/mapper/ext/ExtTestCaseMapper.xml
浏览文件 @
b6b0aca9
...
...
@@ -37,5 +37,8 @@
<if
test=
"request.name != null"
>
and t2.name like CONCAT('%', #{request.name},'%')
</if>
<if
test=
"request.executor != null"
>
and t1.executor = #{request.executor}
</if>
</select>
</mapper>
\ No newline at end of file
backend/src/main/java/io/metersphere/controller/TestPlanTestCaseController.java
浏览文件 @
b6b0aca9
...
...
@@ -8,6 +8,7 @@ import io.metersphere.commons.utils.PageUtils;
import
io.metersphere.commons.utils.Pager
;
import
io.metersphere.controller.request.testcase.QueryTestCaseRequest
;
import
io.metersphere.controller.request.testcase.TestCaseBatchRequest
;
import
io.metersphere.controller.request.testplancase.QueryTestPlanCaseRequest
;
import
io.metersphere.dto.TestPlanCaseDTO
;
import
io.metersphere.service.TestPlanTestCaseService
;
import
org.springframework.web.bind.annotation.*
;
...
...
@@ -23,7 +24,7 @@ public class TestPlanTestCaseController {
TestPlanTestCaseService
testPlanTestCaseService
;
@PostMapping
(
"/list/{goPage}/{pageSize}"
)
public
Pager
<
List
<
TestPlanCaseDTO
>>
getTestPlanCases
(
@PathVariable
int
goPage
,
@PathVariable
int
pageSize
,
@RequestBody
QueryTestCaseRequest
request
){
public
Pager
<
List
<
TestPlanCaseDTO
>>
getTestPlanCases
(
@PathVariable
int
goPage
,
@PathVariable
int
pageSize
,
@RequestBody
QueryTest
Plan
CaseRequest
request
){
Page
<
Object
>
page
=
PageHelper
.
startPage
(
goPage
,
pageSize
,
true
);
return
PageUtils
.
setPageInfo
(
page
,
testPlanTestCaseService
.
getTestPlanCases
(
request
));
}
...
...
@@ -43,6 +44,4 @@ public class TestPlanTestCaseController {
return
testPlanTestCaseService
.
deleteTestCase
(
id
);
}
}
backend/src/main/java/io/metersphere/controller/request/testplancase/QueryTestPlanCaseRequest.java
0 → 100644
浏览文件 @
b6b0aca9
package
io.metersphere.controller.request.testplancase
;
import
io.metersphere.base.domain.TestCase
;
import
io.metersphere.base.domain.TestPlanTestCase
;
import
java.util.List
;
public
class
QueryTestPlanCaseRequest
extends
TestPlanTestCase
{
private
List
<
Integer
>
nodeIds
;
private
String
workspaceId
;
private
String
name
;
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
List
<
Integer
>
getNodeIds
()
{
return
nodeIds
;
}
public
void
setNodeIds
(
List
<
Integer
>
nodeIds
)
{
this
.
nodeIds
=
nodeIds
;
}
public
String
getWorkspaceId
()
{
return
workspaceId
;
}
public
void
setWorkspaceId
(
String
workspaceId
)
{
this
.
workspaceId
=
workspaceId
;
}
}
backend/src/main/java/io/metersphere/service/TestPlanTestCaseService.java
浏览文件 @
b6b0aca9
...
...
@@ -7,6 +7,7 @@ import io.metersphere.base.mapper.ext.ExtTestCaseMapper;
import
io.metersphere.commons.utils.BeanUtils
;
import
io.metersphere.controller.request.testcase.QueryTestCaseRequest
;
import
io.metersphere.controller.request.testcase.TestCaseBatchRequest
;
import
io.metersphere.controller.request.testplancase.QueryTestPlanCaseRequest
;
import
io.metersphere.dto.TestPlanCaseDTO
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.stereotype.Service
;
...
...
@@ -25,11 +26,10 @@ public class TestPlanTestCaseService {
@Resource
ExtTestCaseMapper
extTestCaseMapper
;
public
List
<
TestPlanCaseDTO
>
getTestPlanCases
(
QueryTestCaseRequest
request
)
{
public
List
<
TestPlanCaseDTO
>
getTestPlanCases
(
QueryTest
Plan
CaseRequest
request
)
{
return
extTestCaseMapper
.
getTestPlanTestCases
(
request
);
}
public
void
editTestCase
(
TestPlanTestCase
testPlanTestCase
)
{
testPlanTestCase
.
setUpdateTime
(
System
.
currentTimeMillis
());
testPlanTestCaseMapper
.
updateByPrimaryKeySelective
(
testPlanTestCase
);
...
...
frontend/src/business/components/common/components/MsTipButton.vue
0 → 100644
浏览文件 @
b6b0aca9
<
template
>
<el-tooltip
:disabled=
"disabled"
:content=
"tip"
placement=
"bottom"
:effect=
"effect"
>
<el-button
@
click=
"exec()"
circle
:type=
"type"
:icon=
"icon"
:size=
"size"
/>
</el-tooltip>
</
template
>
<
script
>
export
default
{
name
:
"
MsTipButton
"
,
props
:
{
tip
:
String
,
icon
:
{
type
:
String
,
default
:
'
el-icon-question
'
},
type
:
{
type
:
String
,
default
:
null
},
effect
:
{
type
:
String
,
default
:
'
dark
'
},
size
:
{
type
:
String
,
default
:
'
mini
'
},
disabled
:
{
type
:
Boolean
,
default
:
false
}
},
methods
:
{
exec
()
{
this
.
$emit
(
'
click
'
);
}
}
}
</
script
>
<
style
scoped
>
</
style
>
frontend/src/business/components/track/plan/common/TestPlanTestCaseStatusButton.vue
浏览文件 @
b6b0aca9
<
template
>
<el-row
type=
"flex"
justify=
"start"
>
<el-row
type=
"flex"
justify=
"start"
:gutter=
"20"
>
<el-col>
<el-button
type=
"success"
round
:icon=
"status == 'Pass' ? 'el-icon-check' : ''"
...
...
frontend/src/business/components/track/plan/components/TestPlanTestCaseList.vue
浏览文件 @
b6b0aca9
...
...
@@ -6,7 +6,13 @@
<div>
<el-row
type=
"flex"
justify=
"end"
>
<el-col>
<span
class=
"title"
>
{{
$t
(
'
test_track.test_case
'
)
}}
</span>
<span
class=
"title"
>
{{
$t
(
'
test_track.test_case
'
)
}}
</span>
<ms-tip-button
v-if=
"!showMyTestCase"
:tip=
"'我的用例'"
icon=
"el-icon-s-custom"
@
click=
"searchMyTestCase"
/>
<ms-tip-button
v-if=
"showMyTestCase"
:tip=
"'全部用例'"
icon=
"el-icon-files"
@
click=
"searchMyTestCase"
/>
</el-col>
<el-col
:offset=
"8"
>
...
...
@@ -38,7 +44,7 @@
<el-input
type=
"text"
size=
"small"
:placeholder=
"$t('load_test.search_by_name')"
prefix-icon=
"el-icon-search"
maxlength=
"60"
v-model=
"condition"
@
change=
"search"
clearable
/>
v-model=
"condition
.name
"
@
change=
"search"
clearable
/>
</span>
</el-col>
</el-row>
...
...
@@ -157,15 +163,18 @@
import
PlanNodeTree
from
'
./PlanNodeTree
'
;
import
ExecutorEdit
from
'
./ExecutorEdit
'
;
import
StatusEdit
from
'
./StatusEdit
'
;
import
MsTipButton
from
'
../../../../components/common/components/MsTipButton
'
;
import
{
TokenKey
}
from
'
../../../../../common/js/constants
'
;
export
default
{
name
:
"
TestPlanTestCaseList
"
,
components
:
{
PlanNodeTree
,
StatusEdit
,
ExecutorEdit
},
components
:
{
PlanNodeTree
,
StatusEdit
,
ExecutorEdit
,
MsTipButton
},
data
()
{
return
{
result
:
{},
deletePath
:
"
/test/case/delete
"
,
condition
:
""
,
condition
:
{},
showMyTestCase
:
false
,
tableData
:
[],
multipleSelection
:
[],
currentPage
:
1
,
...
...
@@ -192,9 +201,8 @@
methods
:
{
initTableData
(
nodeIds
)
{
if
(
this
.
planId
)
{
let
param
=
{
name
:
this
.
condition
,
};
let
param
=
{};
Object
.
assign
(
param
,
this
.
condition
);
param
.
nodeIds
=
nodeIds
;
param
.
planId
=
this
.
planId
;
this
.
result
=
this
.
$post
(
this
.
buildPagePath
(
'
/test/plan/case/list
'
),
param
,
response
=>
{
...
...
@@ -272,6 +280,16 @@
}
else
if
(
type
===
'
status
'
){
this
.
$refs
.
statusEdit
.
openStatusEdit
();
}
},
searchMyTestCase
()
{
this
.
showMyTestCase
=
!
this
.
showMyTestCase
;
if
(
this
.
showMyTestCase
)
{
let
user
=
JSON
.
parse
(
localStorage
.
getItem
(
TokenKey
));
this
.
condition
.
executor
=
user
.
id
;
}
else
{
this
.
condition
.
executor
=
null
;
}
this
.
initTableData
();
}
}
}
...
...
@@ -286,10 +304,4 @@
}
/*.main-content {*/
/*margin: 0 auto;*/
/*width: 100%;*/
/*max-width: 1200px;*/
/*}*/
</
style
>
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录