From c6e384cdbd3e11c08d2b22b404f4f9de1024991e Mon Sep 17 00:00:00 2001 From: chenjianxing Date: Thu, 2 Apr 2020 14:30:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E8=AE=A1=E5=88=92=E8=AF=A6?= =?UTF-8?q?=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/mapper/ext/ExtTestCaseMapper.java | 14 ++ .../base/mapper/ext/ExtTestCaseMapper.xml | 23 ++ .../controller/TestCaseController.java | 5 + .../testcase/QueryTestCaseRequest.java | 10 + .../metersphere/service/TestCaseService.java | 18 ++ .../components/track/case/TestCase.vue | 4 +- .../components/track/plan/TestPlanView.vue | 22 +- .../track/plan/components/PlanNodeTree.vue | 4 - .../plan/components/TestCasePlanList.vue | 215 ++++++++++++++++++ .../plan/components/TestCaseRelevance.vue | 201 ++++++++++++++++ 10 files changed, 507 insertions(+), 9 deletions(-) create mode 100644 backend/src/main/java/io/metersphere/base/mapper/ext/ExtTestCaseMapper.java create mode 100644 backend/src/main/java/io/metersphere/base/mapper/ext/ExtTestCaseMapper.xml create mode 100644 frontend/src/business/components/track/plan/components/TestCasePlanList.vue create mode 100644 frontend/src/business/components/track/plan/components/TestCaseRelevance.vue diff --git a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtTestCaseMapper.java b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtTestCaseMapper.java new file mode 100644 index 000000000..298fbe2b2 --- /dev/null +++ b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtTestCaseMapper.java @@ -0,0 +1,14 @@ +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.dto.ReportDTO; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface ExtTestCaseMapper { + + List getTestCaseNames(@Param("request") QueryTestCaseRequest request); +} diff --git a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtTestCaseMapper.xml b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtTestCaseMapper.xml new file mode 100644 index 000000000..6a05c036f --- /dev/null +++ b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtTestCaseMapper.xml @@ -0,0 +1,23 @@ + + + + + + + \ No newline at end of file diff --git a/backend/src/main/java/io/metersphere/controller/TestCaseController.java b/backend/src/main/java/io/metersphere/controller/TestCaseController.java index c5915dd48..f98e82f6b 100644 --- a/backend/src/main/java/io/metersphere/controller/TestCaseController.java +++ b/backend/src/main/java/io/metersphere/controller/TestCaseController.java @@ -38,6 +38,11 @@ public class TestCaseController { return testCaseService.getTestCaseByNodeId(nodeIds); } + @PostMapping("/name/all") + public List getTestCaseNames(@RequestBody QueryTestCaseRequest request){ + return testCaseService.getTestCaseNames(request); + } + @PostMapping("/get/{testCaseId}") public List getTestCase(@PathVariable String testCaseId){ return testCaseService.getTestCase(testCaseId); diff --git a/backend/src/main/java/io/metersphere/controller/request/testcase/QueryTestCaseRequest.java b/backend/src/main/java/io/metersphere/controller/request/testcase/QueryTestCaseRequest.java index 50c513da8..feb9d65bf 100644 --- a/backend/src/main/java/io/metersphere/controller/request/testcase/QueryTestCaseRequest.java +++ b/backend/src/main/java/io/metersphere/controller/request/testcase/QueryTestCaseRequest.java @@ -8,6 +8,16 @@ public class QueryTestCaseRequest extends TestCase { List nodeIds; + String planId; + + public String getPlanId() { + return planId; + } + + public void setPlanId(String planId) { + this.planId = planId; + } + public List getNodeIds() { return nodeIds; } diff --git a/backend/src/main/java/io/metersphere/service/TestCaseService.java b/backend/src/main/java/io/metersphere/service/TestCaseService.java index 833205085..dd4eb4896 100644 --- a/backend/src/main/java/io/metersphere/service/TestCaseService.java +++ b/backend/src/main/java/io/metersphere/service/TestCaseService.java @@ -4,7 +4,10 @@ package io.metersphere.service; import io.metersphere.base.domain.TestCase; import io.metersphere.base.domain.TestCaseExample; import io.metersphere.base.domain.TestCaseWithBLOBs; +import io.metersphere.base.domain.TestPlan; import io.metersphere.base.mapper.TestCaseMapper; +import io.metersphere.base.mapper.TestPlanMapper; +import io.metersphere.base.mapper.ext.ExtTestCaseMapper; import io.metersphere.controller.request.testcase.QueryTestCaseRequest; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; @@ -21,6 +24,12 @@ public class TestCaseService { @Resource TestCaseMapper testCaseMapper; + @Resource + ExtTestCaseMapper extTestCaseMapper; + + @Resource + TestPlanMapper testPlanMapper; + public void addTestCase(TestCaseWithBLOBs testCase) { testCase.setId(UUID.randomUUID().toString()); testCase.setCreateTime(System.currentTimeMillis()); @@ -63,4 +72,13 @@ public class TestCaseService { } return testCaseMapper.selectByExampleWithBLOBs(testCaseExample); } + + public List getTestCaseNames(QueryTestCaseRequest request) { + + TestPlan testPlan = testPlanMapper.selectByPrimaryKey(request.getPlanId()); + + request.setProjectId(testPlan.getProjectId()); + + return extTestCaseMapper.getTestCaseNames(request); + } } diff --git a/frontend/src/business/components/track/case/TestCase.vue b/frontend/src/business/components/track/case/TestCase.vue index 10d66e6f6..4602e18b3 100644 --- a/frontend/src/business/components/track/case/TestCase.vue +++ b/frontend/src/business/components/track/case/TestCase.vue @@ -5,7 +5,7 @@ - + @@ -78,8 +78,6 @@ }, watch: { '$route'(to, from) { - console.log(from); - console.log(to); if (from.name.indexOf("Project") > 0){ this.getProjects(); } diff --git a/frontend/src/business/components/track/plan/TestPlanView.vue b/frontend/src/business/components/track/plan/TestPlanView.vue index ee32db3d9..cbbe1c14e 100644 --- a/frontend/src/business/components/track/plan/TestPlanView.vue +++ b/frontend/src/business/components/track/plan/TestPlanView.vue @@ -7,11 +7,20 @@ :plan-id="planId" class="node_tree" @nodeSelectEvent="get" - @refresh="refresh" ref="nodeTree"> + + + + + + @@ -19,10 +28,12 @@ + + diff --git a/frontend/src/business/components/track/plan/components/TestCaseRelevance.vue b/frontend/src/business/components/track/plan/components/TestCaseRelevance.vue new file mode 100644 index 000000000..7a543a229 --- /dev/null +++ b/frontend/src/business/components/track/plan/components/TestCaseRelevance.vue @@ -0,0 +1,201 @@ + + + + + -- GitLab